我需要触发器能够检测到轮询的Zabbix代理项不返回数据。 对于zabbix捕获器项目,此功能由nodata()函数(Zabbix文档中的Heartbeat丢失检测)涵盖,但我需要支持Zabbix代理项目的类似功能。
例如,已经定义了Zabbix代理UserParameter:
UserParameter=custom.mssqlping,/usr/local/scripts/mssqlping.sh
。
脚本mssqlping.sh返回0/1。当mssqlping.sh脚本被破坏并且返回empy字符串时我需要覆盖情况,因为它不是数字而没有存储在zabbix中。
如何检测定期轮询的项目数据不再出现?
答案 0 :(得分:5)
并不是因为它没有存储会产生问题,而是因为它不再被视为有效项目,所以你不能触发它。有很多与之相关的相关错误报告。 AFAIk您的选择:
答案 1 :(得分:0)
或者这里的选项是基于nodata()
触发来自:https://www.zabbix.com/forum/zabbix-help/41652-zabbix-trigger-timeout?p=245422#post245422
{myserver:example.iregexp("/string/",1m)}=1 AND {myserver:example.nodata(1m)}=0