自定义php-fpm zabbix监控模板
根据以上实验
在设备1、设备2基础上
设备1 192.168.70.10 zabbix-server
设备2 192.168.70.20 zabbix-agent
设备2:
安装php-rpm服务
[root@host-20]# yum -y install php-fpm
修改php-fpm配置文件开启状态页面功能(搜索:status)
[root@host-20]# vim /etc/php-fpm.d/www.conf
pm.status_path = /php_status #取消注释并改名php_status
启动php-fpm
[root@host-20]# systemctl start php-fpm
设置开机自启
[root@host-20]#systemctl enable php-fpm
修改nginx配置文件指定php配置 (Ctrl+v 下滑 出现可视块 取消注释)
[root@host-20]#vim /etc/nginx/conf.d/default.conf
……
location /php_status { #指定php页面 名称
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #配置环境
include fastcgi_params;
}
重启nginx
[root@host-20]#systemctl restart nginx
测试访问php状态页面:http://192.168.70.20/php_status
php-fpm status状态值详解
pool:fpm池子名称,大多数为www
process manager:进程管理方式,值:static,dynamic or ondemand
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慢请求这个计数器会增加,一般不当的Mysql查 询会触发这个值
自定义phpfpm监控项 (监控以上状态)
[root@host-20 script]# vim/etc/zabbix/zabbix_agentd.d/phpfpm_status.conf UserParameter=phpfpm_status[*],/bin/bash /etc/zabbix/script/phpfpm_status.sh "$1"
上传脚本到/etc/zabbix/script路径并添加执行权限
[root@host-20 script]#/etc/zabbix/script
[root@host-20 script]#ls
phpfpm_status.sh
[root@host-20 script]# cat phpfpm_status.sh
#!/bin/bash
PHPFPM_COMMAND=$1
#根据监听不同端口进行调整
PHPFPM_PORT=80
start_since(){
/usr/bin/curl -s