php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助。为了后续的zabbix监控,我们需要先了解php-fpm状态页是怎么回事。
1. 启用php-fpm状态功能
#cat /etc/php-fpm.d/www.conf | grep pm.status_path
;pm.status_path = /statusvim /etc/php-fpm.d/www.conf
pm.status_path = /status
;pm.status_path = /statusvim /etc/php-fpm.d/www.conf
pm.status_path = /status
去掉 分号
默认情况下为/status,当然也可以改成其他的,例如/fpm_status等等。 提醒这里pm.status_path 设为什么, nginx 配置中就只能是什么。
2. nginx配置
在默认主机里面加上location或者你希望能访问到的主机里面。
server {
listen *:80 default_server;
server_name _;
location ~ ^/(status|ping)$
{
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
}
}
listen *:80 default_server;
server_name _;
location ~ ^/(status|ping)$
{
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
}
}
3. 重启nginx/php-fpm
请依照你的环境重启你的nginx和php-fpm
# service nginx restart
# service php-fpm restart
# service php-fpm restart
4. 打开status页面
[root@choies-east-app site]# curl 104.200.31.229/status
pool: www
process manager: dynamic
start time: 14/Jan/2016:03:51:13 +0000
start since: 9706
accepted conn: 54
listen queue: 0
max listen queue: 0
listen queue len: 0
idle processes: 127
active processes: 1
total processes: 128
max active processes: 6
max children reached: 0
slow requests: 0
pool: www
process manager: dynamic
start time: 14/Jan/2016:03:51:13 +0000
start since: 9706
accepted conn: 54
listen queue: 0
max listen queue: 0
listen queue len: 0
idle processes: 127
active processes: 1
total processes: 128
max active processes: 6
max children reached: 0
slow requests: 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,缓慢请求的数量
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,缓慢请求的数量
6. php-fpm 监控配置
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=php-fpm.status[*],/usr/bin/curl -s "http://104.237.132.189/status?xml" | grep "<$1>" | awk -F'>|<' '{ print $$3}'
UserParameter=php-fpm.status[*],/usr/bin/curl -s "http://104.237.132.189/status?xml" | grep "<$1>" | awk -F'>|<' '{ print $$3}'
7. 重启 zabbix-agent
service zabbix-agent restart
与之相匹配的 php-fpm 模板
没有评论