本篇文章通过zabbix实现指定一个日期(或是任意值)进行告警,类似于定时的闹钟,在默认的zabbix监控项中,并没有这样的设定,所以我们通过增加一个配置文件来指定一个自定义的键值。
钉钉邮件告警参考:https://blog.whsir.com/post-6090.html
本文以zabbix5.0版本进行验证,理论适用于其它版本,其它版本请自行验证!
1、创建配置文件
我这里是在zabbix server中添加监控指标,所以在zabbix server服务器上创建配置文件。
在/etc/zabbix/zabbix_agentd.d目录下创建一个配置文件,我这里命名为whsir_clock.conf
vi /etc/zabbix/zabbix_agentd.d/whsir_clock.conf
|---|-------------------------------------------------| | 1 | vi /etc/zabbix/zabbix_agentd.d/whsir_clock.conf |
我这里指定一个年月日,在指定的日期到达前30天,进行一个告警,然后通过计算得出该日期距今的时间,即,在配置文件中,添加以下内容。
UserParameter=wlnmp_clock[*],echo $(( ($(date -d "2024-05-26" +%s) - $(date +%s)) / 86400 ))
|---|-------------------------------------------------------------------------------------------------| | 1 | UserParameter=wlnmp_clock[*],echo $(( ($(date -d "2024-05-26" +%s) - $(date +%s)) / 86400 )) |
这里的wlnmp_clock就是我们自定义的键值。
注:如果想同时设置多个的话,就在该文件中配置多行,键值不能相同,比如
UserParameter=wlnmp_clock[*],echo $(( ($(date -d "2024-05-26" +%s) - $(date +%s)) / 86400 )) UserParameter=wlnmp2_clock[*],echo $(( ($(date -d "2024-07-26" +%s) - $(date +%s)) / 86400 ))
|-----|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 | UserParameter=wlnmp_clock[*],echo $(( ($(date -d "2024-05-26" +%s) - $(date +%s)) / 86400 )) UserParameter=wlnmp2_clock[*],echo $(( ($(date -d "2024-07-26" +%s) - $(date +%s)) / 86400 )) |
2、重启zabbiix-agent
systemctl restart zabbix-agent
|---|--------------------------------| | 1 | systemctl restart zabbix-agent |
3、zabbix_get验证
通过zabbix_get验证来确定,是否可以得到echo中的结果值,得到正确的结果后,再进行下一步。
zabbix_get -s 127.0.0.1 -p 10050 -k wlnmp_clock
|---|-------------------------------------------------| | 1 | zabbix_get -s 127.0.0.1 -p 10050 -k wlnmp_clock |
zabbix_get是zabbix中的一个包组,如果之前没有安装过,自行安装,此处不再阐述。
4、zabbix监控项配置
在zabbix仪表盘配置页面中,选择配置→主机→Zabbix server→监控项→创建监控项
监控项中配置的键值必须要与配置文件中设置的一样,我这里是wlnmp_clock,如果你设置了其它名称,请自行更改。
为了方便演示,这里的更新间隔暂时为1m,即1分钟,可结合个人需求进行调整。
注:如果你配置了多个日期告警,监控项也要同时配置多个,注意键值名称。
5、zabbix触发器配置
问题表现形式添加刚刚创建的监控项,设置结果小于等于30则触发告警。
恢复表达式大于30恢复告警。
本文演示是以日期倒计时,所以可以理解为,距离配置文件中设定的日期小于等于30天时,触发告警。在告警后需要手动修改配置文件(/etc/zabbix/zabbix_agentd.d/whsir_clock.conf)中设定的这个日期,当这个日期大于30天时,告警恢复。
注意修改该配置文件后,必须要重启zabbix-agent