【问题标题】:Prometheus alerting on 2 consecutive failuresPrometheus 警告 2 次连续失败
【发布时间】:2021-04-16 21:18:17
【问题描述】:

我有一个指标,它有一个名为 status 的标签,它告诉我作业是成功还是失败。

我想建立一个警报,告诉我是否连续两次失败,无论两次失败之间的时间如何。

【问题讨论】:

    标签: prometheus prometheus-alertmanager promql


    【解决方案1】:

    在 2 次连续失败时发出警报将非常棘手,因为 prometheus 本质上有 2 个不同的计时器用于抓取指标和评估警报,这些计时器并不总是同步的,here 解释说。您可以解决此问题的方法是根据抓取间隔调整查询并将 count_over_time 设置为抓取时间的两倍,这样如果您的 scrape_interval 为 15 秒查询,您始终会获得至少 2 个系列指标应该是这样的:

    count_over_time(metric_name{status="fail"}[30s]) > 1
    

    但即使这样也有一个缺点,如果评估和抓取计时器以特定方式同步,在过去的 30 年代里,你基本上会有 3 次抓取,它们可能是(失败>成功>失败),这也会触发警报.我认为这种情况不会经常发生,但您仍然应该考虑这种可能性

    【讨论】:

    • 作业每 5 分钟运行一次,所以我将其设置为 10 分钟左右以计算 2 次失败
    猜你喜欢
    • 2019-01-14
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    相关资源
    最近更新 更多