【问题标题】:Zabbix trigger expression - detect a drop and stay in problem stateZabbix 触发器表达式 - 检测下降并保持问题状态
【发布时间】:2012-08-21 07:36:51
【问题描述】:

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

{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

【问题讨论】:

    标签: zabbix


    【解决方案1】:

    我想你很快就会意识到这种表达方式并不能解决你的目标行为,并且会继续在 PROBLEM 和 OK 之间徘徊。

    您刚刚在“最后一个和上一个最后一个”值之间移动了“是否发生了 -100 更改”检查
    to '最后一个半小时的平均值'。

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

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

    max(#2)

    编辑:阅读您的评论后,这种方法(在对您的预期值进行一些调整后)可能会更好地为您服务,

    ({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)
    

    这样,您可以更好地适应一天中的不同交易量。

    【讨论】:

    • 我实际上是在使用过去半小时的平均值,而不是半小时前发布的值。另请注意,这些值在一天中的不同时间有很大不同的平均值。凌晨 2 点到 4 点之间的平均值约为 5,而下午 6 点到 8 点之间的平均值高达 376 个单位。由于值较低,我试图不在非高峰时段生成错误警报,这就是我使用平均值的原因。随着时间的推移,图表会平稳上升,而不是像尖峰一样急剧上升。当图表上升时,反之亦然。
    • 你是对的。我看错了你的表情。现在你的目标更明确了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    相关资源
    最近更新 更多