通过zabbix 创建自定义模板监控phpfpm运行状态 – 21运维
通知: .-...

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

Zabbix 21运维 1052浏览 0评论

针对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当前运行状态图形为展示:

1

转载请注明:21运维 » 通过zabbix 创建自定义模板监控phpfpm运行状态

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址