zabbix自定义监控规则

这里先需要再zabbix端安装一个测试工具,用于测试自定义的规则是否可用
查看可以安装的工具:

yum list all |grep zabbix  

进行安装

yum install zabbix-get.x86_64  

现在举一个监控进程状态的例子

1、先编写脚本,这个脚本可以是python也可以是shell,下面以shell为例子

1)无需传参数的脚本

#!/bin/sh    ret_ok=1  ret_warn=0    info_count=`/etc/init.d/workflow status|grep running|wc -l` #进程在运行中  #echo ${info_count}  #process_count=$((${info_count}-0))  if [[ ${info_count} == 1 ]]; then        echo ${ret_ok} #成功返回1,打印出来就会被zabbix接收,zabbix触发器也是比较这个值  else        echo ${ret_warn} #失败返回0  fi  

2)可以传参数的脚本

#!/bin/sh    ret_ok=1  ret_warn=0  model=$1 #接收一个参数,用于监控不同模块  info_count=`/etc/init.d/$1 status|grep running|wc -l`  #echo ${info_count}  #process_count=$((${info_count}-0))  if [[ ${info_count} == 1 ]]; then        echo ${ret_ok}  else        echo ${ret_warn}  fi  

2、修改zabbix_client的配置文件

模块好像不用配置,我的没有配置,但是网上很多人都手动配置了一下

vim /etc/zabbix/zabbix_agentd.conf  Include=/etc/zabbix/zabbix_agentd.d/*.conf  

创建一个conf文件

vim /etc/zabbix/zabbix_agentd.d/check_process.conf  

填入下面两行

UserParameter=checkworkflow,sh /home/zabbix/moniterworkflow.sh #监控单个模块,对应的是没有传参的那个脚本  UserParameter=checkmodel[*],sh /home/zabbix/moniall.sh $1 #监控多个模块,对应的是可以传参的脚本  

3、再到zabbix-server上去测试一下

 不传参的:  [[email protected] ~]# zabbix_get -s 200.200.169.212 -k "checkworkflow"  1  传参的  [[email protected] ~]# zabbix_get -s 200.200.169.212 -k "checkmodel[workflow]"  1  

4、配置到web端监控

键值需要自己输入,选择里面是没有的

添加触发器

查看结果

原文出处:csdn -> https://blog.csdn.net/g695144224/article/details/81391963

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。