详情请参考文章

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确认出图

wKiom1dFGaCCIMHaAAG-Ae-ht9s484.png