Zabbix触发器无法检测数据

时间:2014-01-17 18:19:12

标签: zabbix

我需要触发器能够检测到轮询的Zabbix代理项不返回数据。 对于zabbix捕获器项目,此功能由nodata()函数(Zabbix文档中的Heartbeat丢失检测)涵盖,但我需要支持Zabbix代理项目的类似功能。

例如,已经定义了Zabbix代理UserParameter: UserParameter=custom.mssqlping,/usr/local/scripts/mssqlping.sh

脚本mssqlping.sh返回0/1。当mssqlping.sh脚本被破坏并且返回empy字符串时我需要覆盖情况,因为它不是数字而没有存储在zabbix中。

如何检测定期轮询的项目数据不再出现?

2 个答案:

答案 0 :(得分:5)

并不是因为它没有存储会产生问题,而是因为它不再被视为有效项目,所以你不能触发它。有很多与之相关的相关错误报告。 AFAIk您的选择:

  1. 调整脚本以在出现错误时返回数值
  2. 使用2.2's "internal events"检测“变得不受支持”事件
  3. Make和外部脚本将直接查询数据库并将自行通知您或通过zabbix的捕获器触发条件

答案 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

更多阅读内容:https://zabbix.org/wiki/Trigger_examples