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

PHP-FPM Munin 插件技术文档

2024-12-20 13:23:37作者:傅爽业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

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

登录后查看全文
热门项目推荐

项目优选

收起
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
118
1.88 K
kernelkernel
deepin linux kernel
C
22
6
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
341
1.24 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
191
271
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
912
546
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
377
388
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
143
188
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
68
58
harmony-utilsharmony-utils
harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。
ArkTS
81
2