一、开启php-fpm的status页面,此页面跟nginx的stub_status页面类似,记录着php运行状态信息

#cat/etc/php-fpm.d/www.confpm.status_path=/status


二、配置nginx代理访问php的status页面

#cat/etc/nginx/conf.d/nginx_status.confserver{listen80default;server_name_;location=/status{fastcgi_pass127.0.0.1:9000;fastcgi_indexindex.php;includefastcgi.conf;\\此选项必须添加,不添加采集不到数据access_logoff;allow127.0.0.1;denyall;}


三、访问测试,确保可以访问到php的status的页面数据

#curlhttp://127.0.0.1/statuspool:wwwprocessmanager:dynamicstarttime:31/3月/2016:22:29:27+0800startsince:489290acceptedconn:3listenqueue:0maxlistenqueue:0listenqueuelen:128idleprocesses:4activeprocesses:1totalprocesses:5maxactiveprocesses:1maxchildrenreached:0


四、在agent端编写shell脚本,采集php的status页面信息;脚本路径存放在/opt/zabbix/script/目录下

#vimphp_fpm_status.sh#!/bin/bashAcceptedConn(){curlhttp://127.0.0.1/zphp_status2>/dev/null|awk-F":"'/acceptedconn/{print$2}'|awk'{print$1}'}ListenQueue(){curlhttp://127.0.0.1/zphp_status2>/dev/null|awk-F":"'/listenqueue/{print$2}'|awk'{print$1}'}MaxListenQueue(){curlhttp://127.0.0.1/zphp_status2>/dev/null|awk-F":"'/maxlistenqueue/{print$2}'|awk'{print$1}'}ListenQueueLen(){curlhttp://127.0.0.1/zphp_status2>/dev/null|awk-F":"'/listenqueuelen/{print$2}'|awk'{print$1}'}IdleProcesses(){curlhttp://127.0.0.1/zphp_status2>/dev/null|awk-F":"'/idleprocesses/{print$2}'|awk'{print$1}'}ActiveProcesses(){curlhttp://127.0.0.1/zphp_status2>/dev/null|awk-F":"'/activeprocesses/{print$2}'|awk'{print$1}'}TotalProcesses(){curlhttp://127.0.0.1/zphp_status2>/dev/null|awk-F":"'/totalprocesses/{print$2}'|awk'{print$1}'}MaxActiveProcesses(){curlhttp://127.0.0.1/zphp_status2>/dev/null|awk-F":"'/maxactiveprocesses/{print$2}'|awk'{print$1}'}MaxChildrenReached(){curlhttp://127.0.0.1/zphp_status2>/dev/null|awk-F":"'/maxchildrenreached/{print$2}'|awk'{print$1}'}$1#chmod+xphp_fpm_status.sh\\添加执行权限


五、在agent端,创建key、value;位置在opt/zabbix/etc/zabbix_agentd.conf.d/目录下

#vimphp-fpm-nginx.confUserParameter=active.conn,/opt/zabbix/script/php_fpm_status.shAcceptedConnUserParameter=listen.queue,/opt/zabbix/script/php_fpm_status.shListenQueueUserParameter=max.listen.queue,/opt/zabbix/script/php_fpm_status.shMaxListenQueueUserParameter=listen.queue.len,/opt/zabbix/script/php_fpm_status.shListenQueueLenUserParameter=idle.processes,/opt/zabbix/script/php_fpm_status.shIdleProcessesUserParameter=active.processes,/opt/zabbix/script/php_fpm_status.shActiveProcessesUserParameter=total.processes,/opt/zabbix/script/php_fpm_status.shTotalProcessesUserParameter=max.active.processes,/opt/zabbix/script/php_fpm_status.shMaxActiveProcessesUserParameter=max.children.reached,/opt/zabbix/script/php_fpm_status.shMaxChildrenReached#/etc/init.d/zabbix_agentdrestart\\上述配置完成后,重启agentd服务


六、在server端利用zabbix_get获取测试数据,查看配置是否成功

#zabbix_get-s172.16.100.17-p10050-k"active.conn"42


七、以上操作成功后,在zabbix的web页面创建php模板

1)创建模板


2)创建应用集

3)创建项目


4)创建图形

5)将此模板关联主机,查看获取的数据

到此,可以安心的边喝茶边观察php的状态了。