Grafana 查询中单个 Prometheus 指标缺失数据警报

Alert for Missing Data on Single Prometheus Metric in Grafana Query

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

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

tube_current_jobs_ready{tube=~".*some_suffix"}

这会得到所有以“some_suffix”结尾的指标(队列)。其中一个或多个——但不是全部——有时会没有数据,就像图中的一个缺口,不是零,但根本没有数据(假设发生这种情况的原因和方式超出了这个问题的范围) .

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

尝试以下警报查询:

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

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

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