zabbix 监控phpfpm_status
zabbix 监控phpfpm_status
1. 启用php-fpm状态功能
#cat/usr/local/php-5.5.10/etc/php-fpm.conf|grepstatus_pathpm.status_path=/status###打开上面的内容即可
默认情况下为/status,当然也可以改成其他的,例如/php_status等等
2. nginx配置
在默认主机里面加上location或者你希望能访问到的主机里面
server{listen*:80default_server;server_name_;location~^/(status|ping)${includefastcgi_params;fastcgi_pass127.0.0.1:9000;fastcgi_paramSCRIPT_FILENAME$fastcgi_script_name;}}
3. 重启nginx/php-fpm
请依照你的环境重启你的nginx和php-fpm
4. 测试打开status页面
#curlhttp://127.0.0.1/statuspool:wwwprocessmanager:dynamicstarttime:08/Sep/2016:16:15:12+0800startsince:4313acceptedconn:1783listenqueue:0maxlistenqueue:0listenqueuelen:128idleprocesses:29activeprocesses:1totalprocesses:30maxactiveprocesses:3maxchildrenreached:0slowrequests:0
5. php-fpm status详解
pool – fpm池子名称,大多数为www
process manager – 进程管理方式,值:static, dynamic or ondemand. dynamic
start time – 启动日期,如果reload了php-fpm,时间会更新
start since – 运行时长
accepted conn – 当前池子接受的请求数
listen queue – 请求等待队列,如果这个值不为0,那么要增加FPM的进程数量
max listen queue – 请求等待队列最高的数量
listen queue len – socket等待队列长度
idle processes – 空闲进程数量
active processes – 活跃进程数量
total processes – 总进程数量
max active processes – 最大的活跃进程数量(FPM启动开始算)
max children reached - 大道进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。
slow requests – 启用了php-fpm slow-log,缓慢请求的数量
php-fpm的监控相关信息可以参考:http://www.ttlsa.com/php/use-php-fpm-status-page-detail/
6. 编写脚本监控php-fpm
[root@iZ23qinwbndZetc]#catscript/zabbix_linux_php.sh#!/bin/bash#############################################################$Name:zabbix_linux_php.sh#$Version:v1.0#$Function:zabbixplugins#$Author:GAOGD#$organization:http://lvnian.blog.51cto.com/#$CreateDate:20160908#$Description:MonitorLinuxServiceStatus############################################################php_status_fun(){case$1inaccepted_conn)/usr/bin/curl-s"http://127.0.0.1"/status|grep'^acceptedconn'|awk'{print$NF}';;listen_queue)/usr/bin/curl-s"http://127.0.0.1"/status|grep'^listenqueue:'|awk'{print$NF}';;listen_queue_len)/usr/bin/curl-s"http://127.0.0.1"/status|grep'^listenqueuelen'|awk'{print$NF}';;idle_processes)/usr/bin/curl-s"http://127.0.0.1"/status|grep'^idleprocesses'|awk'{print$NF}';;active_processe)/usr/bin/curl-s"http://127.0.0.1"/status|grep'^activeprocesses'|awk'{print$NF}';;total_processes)/usr/bin/curl-s"http://127.0.0.1"/status|grep'^totalprocesses'|awk'{print$NF}';;slow_requests)/usr/bin/curl-s"http://127.0.0.1"/status|grep'^slowrequests'|awk'{print$NF}';;esac}php_status_fun$1[root@iZ23qinwbndZetc]#
7.把脚本应用到zabbix客户端
[root@iZ23qinwbndZetc]#tail-4zabbix_agentd.confUserParameter=nginx_status[*],/etc/zabbix/etc/script/zabbix_linux_plugin.shnginx_status$1UserParameter=php_status[*],/etc/zabbix/etc/script/zabbix_linux_php.sh$1UserParameter=CheckMem,free-m|awk'/Mem/{print$4}'[root@iZ23qinwbndZetc]#
8.重启zabbix客户端
9.zabbix web界面添加对应的监控模块
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。