zabbix php设置,通过zabbix 创建自定义模板监控phpfpm运行状态

针对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-fpm\b' |grep -Ev "master|root" |wc -l`

echo $num

;;

"cpurate")

cpurate=`ps aux | grep '\bphp-fpm\b' |grep -Ev "master|root"|awk '{cpu+=$3}END{print cpu}'`

echo $cpurate

;;

"rssmem")

rssmem=`ps aux | grep '\bphp-fpm\b' |grep -Ev "master|root" |awk '{rss+=$6}END{print int(rss/1024)}'`

echo $rssmem

;;

"memrate")

memrate=`ps aux | grep '\bphp-fpm\b' |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当前运行状态图形为展示:

zabbix php设置,通过zabbix 创建自定义模板监控phpfpm运行状态_第1张图片

你可能感兴趣的:(zabbix,php设置)