2312123www 发表于 2016-5-26 09:24:30

zabbix如何监控php-fpm

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_passunix:/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页面 如下内容

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




页: [1]
查看完整版本: zabbix如何监控php-fpm