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