此篇介绍一下启用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格式表格结果。