zabbix - 触发多个项目大于0

时间:2016-08-12 19:11:28

标签: zabbix

我有多个陷阱项,它们返回一个整数,如下所示。

app.tidal.Health.HighPriority.MessagesInQueue
app.tidal.Health.CommDefault.MessagesInQueue
app.tidal.Health.Default.MessagesInQueue

我想创建一个触发器,如果​​其中两个或多个在最后3次检查中返回的值大于0,则发送严重性为高的消息。

我很难设法触发这是我现在所拥有的:

{Template_App_Tidal_Masters:app.tidal.Health.CommDefault.MessagesInQueue.min(#3)}>0 and
{Template_App_Tidal_Masters:app.tidal.Health.Default.MessagesInQueue.min(#3)}>0 and
{Template_App_Tidal_Masters:app.tidal.Health.HighPriority.MessagesInQueue.min(#3)}>0

但显然它不会起作用和声明,因此在最后3次检查中所有3都必须大于0。在3行上格式化触发器以使其更清晰。

1 个答案:

答案 0 :(得分:1)

这应该有效:

({Template_App_Tidal_Masters:app.tidal.Health.CommDefault.MessagesInQueue.min(#3)}>0) +
({Template_App_Tidal_Masters:app.tidal.Health.Default.MessagesInQueue.min(#3)}>0) +
({Template_App_Tidal_Masters:app.tidal.Health.HighPriority.MessagesInQueue.min(#3)}>0) > 1

每个部分首先评估单个项目是否大于0.如果是,则表达式的该部分计算结果为1,如果为false,则为0.最后,我们总结这些评估的结果(而不是原始项目值)并检查两个或多个项目的值是否大于零。