Zabbix触发器表达式 - 检测掉落并保持在问题状态

时间:2012-08-21 07:36:51

标签: zabbix

我有这个触发器触发了以下规则的匹配:

{monitoring:test.item.change(0)}<-100

当我的图表下降超过100个单位时,会创建一个事件。当图形重新启动时,事件应切换到OK状态。图表在一天中的不同时间具有不同的平均值,此外,该项目是捕获器值,不支持灵活的间隔。我的问题是这个;当图表下降超过100个单位时,假设从300到10,创建了一个问题情况。在下一个时间间隔,如果值仍然很低(例如13),Zabbix会创建一个OK事件,因为虽然该值仍然很低,但表达式不会返回true,因为图表没有再下降100个单位。关于如何解决这个问题的任何想法?我一直在尝试使用

{{monitoring:test.item.avg(1800)}-{monitoring:test.item.last(0)}>100}

但Zabbix不接受这种表达。这应该将test.item的最后一个值与过去30分钟的平均值进行比较,并在差异超过100时发出警报。

我认为,当图表保持较低值时,我会理清我的错误状态问题。

编辑:我想我已经破解了它。 Zabbix接受了以下表达:

{monitoring:test.item.avg(1800)}-{monitoring:test.item.last(0)}>100

1 个答案:

答案 0 :(得分:1)

我想你很快就会意识到这种表达方式无法解决你的目标行为,并会继续在问题与好之间徘徊。

您刚刚在'最后和最后一个'值之间进行了'发生-100更改发生'的检查 “最后一个半小时的平均值”。

检查是否有突然变化或
如果价值仍然太低,可能会更好地模仿您的预期情景,

{monitoring:test.item.last(0)}>100 | {monitoring:test.item.max(#2)}<20

max(#2)&lt; 20检查最后2个值的最大值是否低于20。

编辑:阅读完您的评论后,这种方法(经过一些调整后的预期值)会更好地为您服务,

({monitoring:test.item.avg(1800)}<10 & {monitoring:test.item.avg(1800)}-{monitoring:test.item.last(0)}>20) | ({monitoring:test.item.avg(1800)}>100 & {monitoring:test.item.avg(1800)}-{monitoring:test.item.last(0)}>100)

这样,您可以更好地适应白天不同音量的触发器。