原理:通过nginx的代理功能,把php-fpm的状态转发出来。再用command在zabbix上添加监控。
步骤
1、开启Php-fpm状态功能。 PHP5.3.3以后就集成了php-fpm模块,不需要额外装包。
2、Nginx配置。
3、重启nginx/php-fpm服务。
4、打开status页面。(测试到这初步成功) 5、在zabbix agent脚本目录下创建脚本(/usr/local/zabbix/etc/monitor_scripts/) [iyunv@master~]# cat php-fpm_status.sh -----可直接复制粘贴---- ######################################################################### # File Name:php-fpm_status.sh # Author: Ifeng # Created Time:2014年06月12日 星期四 #########################################################################
#!/bin/bash idle(){ }
total(){ }
active(){ }
mactive(){
}
listenqueuelen(){ }
listenqueue(){ }
since(){ }
conn(){ } $1
6、更改zabbix.agentd.conf的配置文件如下: UnsafeUserParameters=1 注意路径与脚本所在路径一致 UserParameter=idle.processe,/usr/local/zabbix/etc/monitor_scriptsphp-fpm_status.shidle
UserParameter=total.processes,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shtotal
UserParameter=active.processes,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shactive
UserParameter=max.active.processes,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shmactive
UserParameter=listen.queue.len,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shlistenqueuelen
UserParameter=listen.queue,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shlistenqueue
UserParameter=start.since,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shsince
UserParameter=accepted.conn,/usr/local/zabbix/etc/monitor_scripts/php-fpm_status.shconn
7、Zabbix上添加监控。 Zabbix WEB面面中,通过以上定义好的key 进行操作。
注:PHP-fpm的状态参数有很多,可用curl 127.0.0.1/status?full 查看 如有需求,可自行改动脚本。
|