zabbix经过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数

zabbix经过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数php

首先,在zabbix脚本目录下添加一个脚本,写入以下代码mysql

#!/bin/bashnginx

#license:GPLweb

#mail:admin@huxianglin.cnsql

#date:2015.04.16bash

top -bn1>/usr/local/zabbix-2.4.4/scripts/process.logide

LOG=/usr/local/zabbix-2.4.4/scripts/process.logphp-fpm

php_fpm(){spa

grep "php-fpm" $LOG |awk '{sum+=$6}; END{print sum}'orm

}


php_fpm_num(){

        grep "php-fpm" $LOG |wc -l

}


nginx(){

        grep "nginx" $LOG |awk '{sum+=$6}; END{print sum}'

}


nginx_num(){

        grep "nginx" $LOG |wc -l

}


mysqld(){

        grep "mysqld" $LOG |awk '{sum+=$6}; END{print sum}'

}


mysqld_num(){

        grep "mysqld" $LOG |wc -l

}


case "$1" in

php_fpm)

php_fpm

;;

php_fpm_num)

php_fpm_num

;;

nginx)

nginx

;;

nginx_num)

nginx_num

;;

mysqld)

mysqld

;;

mysqld_num)

mysqld_num

;;

*)

echo "Usage: $0 {php_fpm|php_fpm_num|nginx|nginx_num|mysqld|mysqld_num}"

esac

保存以后修改其属组和属主为zabbix.zabbix,而后新建一个文件process.log,一样设置属主和属组为zabbix.zabbix

而后编辑zabbix_agentd.conf文件,在最后添加上下面这段代码,并重启zabbix_agentd服务

UserParameter=process.php_fpm,/usr/local/zabbix-2.4.4/scripts/processstatus.sh php_fpm

UserParameter=process.php_fpm_num,/usr/local/zabbix-2.4.4/scripts/processstatus.sh php_fpm_num

UserParameter=process.nginx,/usr/local/zabbix-2.4.4/scripts/processstatus.sh nginx

UserParameter=process.nginx_num,/usr/local/zabbix-2.4.4/scripts/processstatus.sh nginx_num

UserParameter=process.mysqld,/usr/local/zabbix-2.4.4/scripts/processstatus.sh mysqld

UserParameter=process.mysqld_num,/usr/local/zabbix-2.4.4/scripts/processstatus.sh mysqld_num

以后就能够在web页面添加item,生成图表了,注意top取到的内存单位是KB,因此在定义item的时候须要自定义单位和设定倍数

wKiom1UvNEbSdVSbAAB9vqqsXSo658.jpg

生成的各个程序占用内存大小的图形以下

wKiom1UvNJygIArSAAUIoiF9ZSg645.jpg生成的各个程序的进程个数图形以下,能够设定触发器,当进程知足触发其条件时发送报警

wKioL1UvNlHCeZ99AASOUhadZvA947.jpg

本文出自 “柠檬” 博客,请务必保留此出处http://xianglinhu.blog.51cto.com/5787032/1633333

相关文章
相关标签/搜索