0

我有这个触发器在匹配以下规则时触发:

{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 时发出警报。

我相信,当图表保持在低值时,这将解决我的错误 OK 状态的问题情况。

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

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

1 回答 1

1

我想你很快就会意识到表达不会解决你的目标行为,并且会继续在问题和确定之间摇摆不定。

您刚刚将“最后一个和上一个最后一个”值之间的“是否发生了 -100 更改”检查转移到了“最后
一个和过去半小时的平均值”。

检查是否有突然变化或
该值是否仍然太低可能会更好地模拟您的预期场景,

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

max(#2)<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)

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

于 2012-08-21T08:51:15.730 回答