详情请参考文章

https://www.ttlsa.com/zabbix/zabbix-monitor-php-fpm-status/

https://www.ttlsa.com/php/use-php-fpm-status-page-detail/

1 启用php-fpm 状态功能

在php-fpm配置文件里添加 这个功能

vi /usr/local/php/etc/php-fpm.conf

pm.status_path = /status

2. nginx配置

在默认主机里面加上location或者你希望能访问到的主机里面。这里我用的虚拟主机配置

在vhosts这个目录下,建立一个虚拟配置文件 123.conf加入这些

server {

listen *:80 default_server;

server_name _;

location ~ ^/(status|ping)$

{

include fastcgi_params;

fastcgi_pass unix:/tmp/php-fcgi.sock;

fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;

}

}


注意:/tmp/php-fcgi.sock; 这里填写的内容一定要和你的php-fpm.conf配置文件里的一直,否则会造成502错误

3. 重启nginx/php-fpm

请依照你的环境重启你的nginx和php-fpm


4. 打开status页面 如下内容


[root@web9 vhosts]# curl http://127.0.0.1/status

pool: www

process manager: dynamic

start time: 04/Mar/2016:01:33:26 +0800

start since: 1415

accepted conn: 120

listen queue: 0

max listen queue: 0

listen queue len: 0

idle processes: 19

active processes: 1

total processes: 20

max active processes: 1

max children reached: 0

slow requests: 0


5 编辑客户端里的agentd.conf的配置文件


vi /etc/zabbix/zabbix_agentd.conf (客户端用yum安装的 )


UserParameter=php-fpm.status[*],/usr/bin/curl -s "http://127.0.0.1/status?xml" | grep "<$1>" | awk -F'>|<' '{ print $$3}'


6重启zabbix客户端


7服务端导入php-fpm模板 (如果用2.0的版本会导入失败,我这里用的是2.4)


8确认出图


附件:http://down.51cto.com/data/2367744