当 Prometheus 指标中没有数据时如何不评估警报表达式Expr

问题描述

我正在尝试对 metric(metric_test) 发出警报。评估间隔为每 5 分钟一次。

问题:

假设,在时间 (T1) 发出警报并且普罗米修斯在时间 (t3) 抓取指标,但在此期间目标上没有名称为 metric_test 的指标,普罗米修斯将更新为无数据,如下所示。 在 Prometheus GUI -> Graph 中,当您查询如下指标时,它不显示任何数据。

Metric_test

没有数据

在时间 (t5) 发生警报评估,由于“无数据”,它将警报标记为已解决。我不希望在没有数据的情况下进行评估。

我们如何避免这种情况?

解决方法

当我正确理解您时,您的指标会随着时间的推移而出现和消失吗?这可能不是最好的主意。但是您可以使用“..._over_time”函数来聚合当前不存在的指标。

(顺便说一句,每 5 分钟抓取和评估一次表达式可能会很慢。如果您增加频率,您可以在指标出现时对其进行评估,并且您也可以更快地发出警报)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...