【问题标题】:Dealing with NoData in Grafana Managed Alerts在 Grafana 托管警报中处理 NoData
【发布时间】:2022-11-16 22:12:59
【问题描述】:

我有一个具有我的警报条件的表达式。如果任何条件返回 NoData,它似乎会抢占对其他条件的评估,即使这样做会阻止对返回 NoData 的条件的评估。有什么办法可以避免这种情况吗?我已经创建了我的条件,以避免在特定日期和特定时间之外发出警报,这应该优先于最终条件检查的评估,即在特定日期和特定时间之外不返回任何数据的条件检查。然而,NoData 似乎抢占了其他一切。在下面的 sn-p 中,前两个条件是星期几和一天中的小时检查,A 是返回 NoData 的条件。谢谢你的帮助。如果我删除 HAS NO VALUE 条件,这没有什么区别。如果它在分配的时间内没有价值,我们希望它发出警报。

【问题讨论】:

    标签: prometheus grafana prometheus-alertmanager grafana-alerts


    【解决方案1】:

    首先,按照Grafana community 中的建议尝试转换。不幸的是,这不适用于警报规则或定义警报规则的面板。

    没有转换,事情会变得复杂。

    您正在使用“经典条件”。尝试结合使用“Reduce”和“Math”。

    有时,当您用完数据时,查询结果会得到 NaN。我发现数学表达式 0 && NaN 的计算结果为 0 很有用(而 NaN > x 总是返回 NaN,这有时会很烦人)。

    因此,您可以构建一个查询 D,只要查询 A、B 或 D 返回 NaN 并在所有其他情况下返回正值,它就会返回 0 而不是 NaN。然后你可以使用类似的东西:

    D && (2 < C < 6) && (15 < B < 21) && (A < 1)

    请注意,为了简单起见,我省略了 reduce 表达式。

    【讨论】:

      猜你喜欢
      • 2021-11-14
      • 1970-01-01
      • 2016-05-11
      • 1970-01-01
      • 2022-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      相关资源
      最近更新 更多