针对php运行的网站,还是有必要针对php做一个简单的监控,以做到一个简单的系统资源占用 了解以及异常报警。
由于自己的21运维博客是php运行的,于是花了几分钟做了一个很小的php监控模板并简单写了一个shell脚本做采集监控,这里简单说明下这个自定义模板的功能:
1,监控php-fpm的端口监听,即php-fpm是否正常工作。设置触发器,挂掉就报警。
2,监控php-fpm的cpu资源占用率
3,监控php-fpm的内存资源占用率
4,监控php-fpm的物理内存占用总量
5,监控php-fpm的进程数量
其他需要监控的php参数 比如日志、报错、phpinfo里边的参数等等,以后可以自己添加,这里不做设置。
1,下载模板导入zabbix控制台,并将需要的主机添加这个模板,服务器重装过,这里更新成了zabbix 3.4。
下载地址:http://download.21yunwei.com/zabbix/php-fpm/template_zbx_phpfpm.tar.gz
2,设置采集shell脚本,这里我还是放到 了/home/21yunwei/phpfpm_zbx.sh中,path后续用于设置agent配置文件,脚本内容如下:
#!/bin/bash #monitor php-fpm by zabbix #author:21yunwei case $1 in "status") netstat -tnlp | grep php-fpm >/dev/null 2>&1 ;status=$? echo $status ;; "num") num=` ps aux | grep 'bphp-fpmb' |grep -Ev "master|root" |wc -l` echo $num ;; "cpurate") cpurate=`ps aux | grep 'bphp-fpmb' |grep -Ev "master|root"|awk '{cpu+=$3}END{print cpu}'` echo $cpurate ;; "rssmem") rssmem=`ps aux | grep 'bphp-fpmb' |grep -Ev "master|root" |awk '{rss+=$6}END{print int(rss/1024)}'` echo $rssmem ;; "memrate") memrate=`ps aux | grep 'bphp-fpmb' |grep -Ev "master|root"|awk '{mem+=$4}END{print mem}'` echo $memrate ;; *) echo "argu error" ;; esac
chmod a+x /home/21yunwei/phpfpm_zbx.sh 添加可执行权限,否则因为权限不足监控项不可用,采集不到数据。
3,修改zabbix_agentd.conf文件:
#php-fpm status UserParameter=php-fpm.status[*],/home/yunwei/phpfpm_zbx.sh $1
重启agent客户端,查看监控结果,这里以模板里边的php当前运行状态图形为展示:
转载请注明:西数超哥博客www.ysidc.top» 通过zabbix 创建自定义模板监控phpfpm运行状态
https://www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top