普罗米修斯度量比较警报

时间:2019-09-14 19:31:25

标签: prometheus promql

我正在尝试创建一个警报表达式,如果给定指标在所有目标中都不相同,则将触发该表达式。让我们称呼我的指标my_gauge,其中表达式控制台输出显示:

my_gauge{group="test",instance="huey:9100",job="example"}   10
my_gauge{group="test",instance="duey:9100",job="example"}   10
my_gauge{group="test",instance="luey:9100",job="example"}   7

我对低于最高阈值的目标结果感兴趣。所以我最初的想法是将其与max (my_gauge)的结果进行比较:

{} 10

但是my_gauge < max(my_gauge)返回no data(此处的预期结果是luey)。如何编写一个表达式,该表达式将返回具有不同度量的目标?

1 个答案:

答案 0 :(得分:1)

如果只需要提醒至少一个不同的值,则可以比较最小值和最大值是否相同:

expr: min(my_gauge) by(group) != max(my_gauge) by(group)

如果要针对每个不同的值发出警报,则可以使用中位数来确定公用值(本例中为10)。然后比较一下。

expr: my_gauge != on(group) group_left quantile(0.5, my_gauge) by(group)

关于您的表情,您缺少vector matches

expr: my_gauge < on() group_left max(my_gauge)