zabbix在触发器上搜索字符串

时间:2012-06-05 14:58:48

标签: zabbix

我在代理上有一个用户参数,它返回一个字符串。此字符串包含一行E:x,其中x == 0如果未找到错误,x> 0,如果发现错误。我想在触发器上检查这个数字但是找不到怎么做。或者,如果可能的话,我可以使用命令的退出状态。谢谢。

2 个答案:

答案 0 :(得分:0)

Zabbix触发器在值上运行表达式。

如果您的密钥返回一个字符串,您将必须使用正则表达式匹配来执行您所描述的内容:

{my-template:system.hostname.regexp(IMPORTANT-SERVER)}#1

如果hostname键返回的值与“IMPORTANT-SERVER”不匹配(区分大小写),则会触发警告。

如果您的键返回无符号整数,则可以使用检查值的表达式。

{my-template:uptime.last(0)}<300

如果从“正常运行时间”键返回的值小于300,则会返回警报,在这种情况下,这意味着机器的正常运行时间少于5分钟且可能已重新启动。仅当值返回无符号整数时,此ONLY才有效。

我的建议是将您的支票更改为仅使用数字(或退出代码)进行回复。将数据收集为无符号整数。设置一个触发器,说明数字是否不是0,然后发送一个触发器。

否则,您将不得不将正则表达式与字符串匹配。

答案 1 :(得分:0)

尝试此方法:

{HP LaserJet P2055dn:display.str(Load Paper)}

它应该有用。