zabbix自定义监控项
原因:zabbix监控系统自带的监控规则有限,如果需要更加灵活的定义监控项,可以通过修改配置文件实现
vim xxx/zabbix_agentd.conf
UnsafeUserParameters=1 #开启自定义监控
UserParameter=<key>,<shell command> #自定义监控格式<key>可以自命名
例:UserParameter=check.mysql,ps -ef | grep /usr/sbin/mysqld | grep -v grep | wc -l
重启agentd
在服务端测试 zabbix_get -s 192.168.1.1 -k check.mysql
如果命令找不到可以直接yum安装
yum -y install zabbix-get
然后就可以在zabbix监控页面自定义添加监控项了,key值为check.mysql,触发器页面也可自动生成
实例:
编写监控脚本
vim check_service.sh
#!/bin/sh case $1 in user-web) echo `ps aux | grep java | grep user-web | grep -v grep | wc -l` ;; user-service) echo `ps aux | grep java | grep user-service | grep -v grep | wc -l` ;; oa-web) echo `ps aux | grep java | grep oa-web | grep -v grep | wc -l` ;; oa-service) echo `ps aux | grep java | grep oa-service | grep -v grep | wc -l` ;; filepreview) echo `ps aux | grep java | grep filepreview | grep -v grep | wc -l` ;; activemq) echo `ps -ef |grep /opt/activemq |grep -v grep |wc -l` ;; MHA) echo `/usr/bin/masterha_check_status -conf=/etc/mha_master/mha.cnf | grep PING_OK | wc -l` ;; keepalived) echo `systemctl status keepalived | grep "active (running)" | wc -l` ;; esac
在zabbix服务器上
root@danny /etc/zabbix]# ls web zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf vim zabbix_agentd.d/check_service.conf UserParameter=check.service.[*],/bin/sh /script/check_service.sh $1
在页面配置上面自定义的监控项(例:activemq):
配置触发器
ok
好记性不如烂笔头,最难不过坚持