首页
/ PHP-FPM Munin 插件技术文档

PHP-FPM Munin 插件技术文档

2024-12-16 05:35:06作者:傅爽业Veleda

1. 安装指南

1.1 环境要求

在安装 PHP-FPM Munin 插件之前,请确保您的系统满足以下要求:

  • Ubuntu 操作系统
  • PHP-FPM 版本 5.3.2 或更高版本
  • libwww-perl 包

1.2 安装步骤

  1. 打开终端并进入 Munin 插件目录:

    cd /usr/share/munin/plugins
    
  2. 克隆 PHP-FPM Munin 插件项目:

    git clone git://github.com/tjstein/php5-fpm-munin-plugins.git
    
  3. 设置插件的可执行权限:

    chmod +x php5-fpm-munin-plugins/phpfpm_*
    
  4. 创建符号链接以启用插件:

    ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_average /etc/munin/plugins/phpfpm_average
    ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_connections /etc/munin/plugins/phpfpm_connections
    ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_memory /etc/munin/plugins/phpfpm_memory
    ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_status /etc/munin/plugins/phpfpm_status
    ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_processes /etc/munin/plugins/phpfpm_processes
    
  5. 重启 Munin 节点服务以应用更改:

    service munin-node restart
    

1.3 配置 PHP-FPM 状态页面

  1. php5-fpm.conf 文件中启用 status 功能:

    pm.status_path = /status
    
  2. 配置 Nginx 以支持状态页面:

    location ~ ^/(status|ping)$ {
        include fastcgi_params;
        fastcgi_pass backend;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
        allow 127.0.0.1:9000;
        allow stats_collector.localdomain;
        allow watchdog.localdomain;
        deny all;
    }
    
  3. 验证状态页面是否正常工作:

    curl http://localhost/status
    

    您应该会收到类似以下的响应:

    accepted conn:    40163
    pool:             www
    process manager:  dynamic
    idle processes:   6
    active processes: 0
    total processes:  6
    

2. 项目的使用说明

2.1 插件功能概述

PHP-FPM Munin 插件提供了以下功能:

  • phpfpm_average:显示平均连接数。
  • phpfpm_connections:显示当前连接数。
  • phpfpm_memory:显示内存使用情况。
  • phpfpm_status:显示 PHP-FPM 状态信息。
  • phpfpm_processes:显示进程信息。

2.2 环境变量配置

您可以通过设置环境变量来定制插件的行为:

  • env.url:设置自定义 URL,默认为 http://127.0.0.1/status
  • env.ports:设置自定义端口,默认为 80
  • env.phpbin:设置自定义 PHP 二进制文件名,默认为 php5-fpm
  • env.phppool:设置自定义 PHP 池,默认为 www
  • env.warning:设置警告阈值,当活跃连接数占总连接数的百分比超过此值时触发警告,默认为 0.6(60%)。
  • env.critical:设置严重警告阈值,当活跃连接数占总连接数的百分比超过此值时触发严重警告,默认为 0.8(80%)。

3. 项目API使用文档

3.1 插件API

PHP-FPM Munin 插件通过 Munin 的插件机制与系统集成,提供了以下 API:

  • phpfpm_average:获取平均连接数。
  • phpfpm_connections:获取当前连接数。
  • phpfpm_memory:获取内存使用情况。
  • phpfpm_status:获取 PHP-FPM 状态信息。
  • phpfpm_processes:获取进程信息。

3.2 使用示例

通过 Munin 的 Web 界面或命令行工具,您可以查看这些插件生成的图表和数据。例如,您可以在 Munin 的 Web 界面中查看 phpfpm_status 插件生成的图表,以监控 PHP-FPM 的状态。

4. 项目安装方式

4.1 手动安装

按照上述安装指南中的步骤手动安装插件。

4.2 自动化安装

您可以编写一个脚本来自动化安装过程,脚本内容如下:

#!/bin/bash
cd /usr/share/munin/plugins
git clone git://github.com/tjstein/php5-fpm-munin-plugins.git
chmod +x php5-fpm-munin-plugins/phpfpm_*
ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_average /etc/munin/plugins/phpfpm_average
ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_connections /etc/munin/plugins/phpfpm_connections
ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_memory /etc/munin/plugins/phpfpm_memory
ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_status /etc/munin/plugins/phpfpm_status
ln -s /usr/share/munin/plugins/php5-fpm-munin-plugins/phpfpm_processes /etc/munin/plugins/phpfpm_processes
service munin-node restart

通过运行此脚本,您可以快速完成插件的安装。

热门项目推荐
相关项目推荐

项目优选

收起
Python-100-DaysPython-100-Days
Python - 100天从新手到大师
Python
610
115
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
286
79
mdmd
✍ WeChat Markdown Editor | 一款高度简洁的微信 Markdown 编辑器:支持 Markdown 语法、色盘取色、多图上传、一键下载文档、自定义 CSS 样式、一键重置等特性
Vue
111
25
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
60
48
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
45
29
go-stockgo-stock
🦄🦄🦄AI赋能股票分析:自选股行情获取,成本盈亏展示,涨跌报警推送,市场整体/个股情绪分析,K线技术指标分析等。数据全部保留在本地。支持DeepSeek,OpenAI, Ollama,LMStudio,AnythingLLM,硅基流动,火山方舟,阿里云百炼等平台或模型。
Go
1
0
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
205
57
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
376
36
RuoYi-VueRuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
182
44
frogfrog
这是一个人工生命试验项目,最终目标是创建“有自我意识表现”的模拟生命体。
Java
8
0