此篇介绍一下启用php-fpm的status后获取到的运行状态信息。
启用php-fpm状态功能
# cat php-fpm.conf | grep status_path
pm.status_path = /status
nginx配置
server {
listen 8080;
server_name localhost;
location ~ ^/(status|ping)$
{
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
}
}
重启php-fpm和nginx
打开status页面
# curl 'http://127.0.0.1:8080/status'
pool: www //池子名称,大多为www
process manager: dynamic //进程管理方式,有static、dynamic或ondemand
start time: 14/Jul/2010:10:09:03 +0800 //启动日期,如果reload了php-fpm时间会更新
start since: 3290 //运行时长
accepted conn: 6 //当前池子接受的请求数
listen queue: 0 //请求等待队列,如果此值不为0,则需要增加fpm的进程数量
max listen queue: 0 //请求等待队列最高的数量
listen queue len: 0 //socket等待队列长度
idle processes: 1 //空闲进程数量
active processes: 1 //活跃进程数量
total processes: 2 //总进程数量
max active processes: 1 //最大的活跃进程数量(fpm启动开始算)
max children reached: 0 //达到进程最大数量限制的次数,如果此值不为0则要增加进程数
slow requests: 0 //启动fpm的slow-log,慢请求的数量
其他参数
php-fpm状态页可以带参数如json、xml、html并且可以和full做组合。
# curl 'http://127.0.0.1:8080/status?json'
# curl 'http://127.0.0.1:8080/status?xml'
# curl 'http://127.0.0.1:8080/status?html'
# curl 'http://127.0.0.1:8080/status?full'
php-fpm的状态页可以用作监控数据观察,展示的话,使用zabbix或者nagios时可以考虑用xml或者默认方式。用web展示的话,可以直接用html格式表格结果。