前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix监控php-fpm

Zabbix监控php-fpm

作者头像
老七Linux
发布2018-05-09 17:14:12
1.8K0
发布2018-05-09 17:14:12
举报
文章被收录于专栏:Laoqi's Linux运维专列

php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助。 为了后续的zabbix监控,我们需要先了解php-fpm状态页是怎么回事。

启用php-fpm状态功能及Nginx配置
代码语言:javascript
复制
cat  /usr/local/php-5.5.10/etc/php-fpm.conf | grep status_path pm.status_path = /status
或者 /etc/php-fpm.d/www.conf 默认注释 删除即可
默认情况下为/status,当然也可以改成其他的,例如/qxfell_status等等。
 
  location ~ ^/(status|ping)$
     {
         include fastcgi_params;
         fastcgi_pass 127.0.0.1:9000;
         fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
     }
 
重启Nginx和php-fpn 用crul查看获取状态

curl http://192.168.242.110/status

pool:                 www
process manager:      dynamic
start time:           01/Apr/2017:00:58:44 +0800
start since:          1976
accepted conn:        516
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       7
active processes:     1
total processes:      8
max active processes: 6
max children reached: 0
 
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脚本
代码语言:javascript
复制
vim  /etc/zabbix/alertscripts

#!/bin/bash
 
listenqueue(){
        wget --quiet -O - http://127.0.0.1:80/status?auto |grep "listen queue:"|grep -vE "len|max"|awk '{print$3}'
}
 
listenqueuelen(){
        wget --quiet -O - http://127.0.0.1:80/status?auto |grep "listen queue len" |awk '{print$4}'
}
 
idle(){
        wget --quiet -O - http://127.0.0.1:80/status?auto |grep "idle processes" |awk '{print$3}'
}
active(){
        wget --quiet -O - http://127.0.0.1:80/status?auto |grep "active" |awk '{print$3}'|grep -v "process"
}
total(){
        wget --quiet -O - http://127.0.0.1:80/status?auto |grep "total processes" |awk '{print$3}'
}
 
mactive(){
 
        wget --quiet -O - http://127.0.0.1:80/status?auto |grep "max active processes:" |awk '{print$4}'
}
 
since(){
        wget --quiet -O - http://127.0.0.1:80/status?auto |grep "start since: " |awk '{print$3}'
}
 
conn(){
        wget --quiet -O - http://127.0.0.1:80/status?auto |grep "accepted conn" |awk '{print$3}'
}
 
reached(){
        wget --quiet -O - http://127.0.0.1:80/status?auto |grep "max children reached" |awk '{print$4}'
}
requests(){
        wget --quiet -O - http://127.0.0.1:80/status?auto |grep "slow requests" |awk '{print$3}'
}
$1
将脚本文件定义到agentd配置中
代码语言:javascript
复制
#vim /etc/zabbix/zabbix_agentd.conf

UserParameter=idle.processe,/etc/zabbix/alertscripts/php-fpm_status.sh idle
UserParameter=total.processes,/etc/zabbix/alertscripts/php-fpm_status.sh total
UserParameter=active.processes,/etc/zabbix/alertscripts/php-fpm_status.sh active
UserParameter=max.active.processes,/etc/zabbix/alertscripts/php-fpm_status.sh mactive
UserParameter=listen.queue.len,/etc/zabbix/alertscripts/php-fpm_status.sh listenqueuelen
UserParameter=listen.queue,/etc/zabbix/alertscripts/php-fpm_status.sh listenqueue
UserParameter=start.since,/etc/zabbix/alertscripts/php-fpm_status.sh since
UserParameter=accepted.conn,/etc/zabbix/alertscripts/php-fpm_status.sh conn
UserParameter=max.children.reached,/etc/zabbix/alertscripts/php-fpm_status.sh reached
UserParameter=slow.requests,/etc/zabbix/alertscripts/php-fpm_status.sh requests
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/11/19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 启用php-fpm状态功能及Nginx配置
  • 监控php-fpm脚本
    • 将脚本文件定义到agentd配置中
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档