我有这个触发器触发了以下规则的匹配:
{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
答案 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)
这样,您可以更好地适应白天不同音量的触发器。