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],我们会很快的为您处理。