2

我正在尝试创建一个警报表达式,如果给定指标在所有目标中都不相同,则会触发该表达式。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)。如何编写一个返回具有不同指标的目标的表达式?

4

1 回答 1

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)

关于您的表达,您缺少向量匹配项

expr: my_gauge < on() group_left max(my_gauge)
于 2019-09-15T20:03:22.130 回答