我在返回字符串的代理上有一个用户参数。该字符串包含一个带有 E:x 的行,如果没有发现错误,则 x==0,如果发现错误,则 x>0。我想在触发器上检查这个数字,但找不到怎么做。或者,如果可能的话,我可以使用我的命令的退出状态。谢谢你。
问问题
11038 次
2 回答
0
Zabbix 触发器在一个值上运行一个表达式。
如果您的键返回一个字符串,则必须使用正则表达式匹配来执行您所描述的操作:
{my-template:system.hostname.regexp(IMPORTANT-SERVER)}#1
如果主机名键返回的值与“IMPORTANT-SERVER”(区分大小写)不匹配,这将触发警报。
如果您的键返回无符号整数,则可以使用检查值的表达式。
{my-template:uptime.last(0)}<300
如果从键“uptime”返回的值小于 300,这将返回警报,在这种情况下,这意味着机器的正常运行时间少于 5 分钟并且可能已重新启动。这仅在值返回无符号整数时才有效。
我的建议是将您的支票更改为仅以数字(或退出代码)响应。将数据收集为无符号整数。设置一个触发器说如果数字不是0,然后发送一个触发器。
否则,您将不得不将正则表达式与字符串进行匹配。
于 2012-07-24T00:30:20.260 回答
0
试试这个方法:
{HP LaserJet P2055dn:display.str(Load Paper)}
它应该有效。
于 2016-09-02T11:41:03.033 回答