【问题标题】:Grafana 查询中单个 Prometheus 指标缺失数据的警报
【发布时间】:2022-01-23 17:00:30
【问题描述】:

Prometheus 通过调用单独的指标提供程序 (beanstalkd-exporter) 为我提供了一些队列服务 (beanstalkd) 的指标。一天几次,我会注意到 一些 队列缺少数据。

有很多队列,所以我将它们全部收集在几个图表中,查询可能如下所示:

tube_current_jobs_ready{tube=~".*some_suffix"}

这将为我提供所有以“some_suffix”结尾的指标(队列)。其中一个或多个(但不是全部)有时会没有数据,如图表中的空白处,不是零,但根本没有数据(假设发生这种情况的原因和方式超出了这个问题的范围) .

当查询没有数据时,我已经有了警报,并且当返回的所有指标为空时触发,正如预期的那样。我需要的是在查询返回的一个或多个指标没有数据时发出警报。

【问题讨论】:

    标签: prometheus grafana


    【解决方案1】:

    尝试以下查询以获取警报:

    count_over_time(tube_current_jobs_ready{tube=~".*some_suffix"}[D]) < N
    

    此查询返回匹配的时间序列,其中原始样本数在前一个持续时间D 小于N。参数 DN 必须根据每个时间序列的原始样本之间的预期间隔来选择(在 Prometheus 生态系统中也称为 scrape_interval)。例如,以下查询应返回过去 5 分钟内的样本数少于 4 个的时间序列:

    count_over_time(tube_current_jobs_ready{tube=~".*some_suffix"}[5m]) < 4
    

    【讨论】:

    • 完美,谢谢!偶尔有坏景是常见的吗?改用5m &lt; 5 会不会太吵?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 2019-07-14
    • 2021-02-20
    • 1970-01-01
    相关资源
    最近更新 更多