Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Prometheus 检测两个值的变化_Prometheus_Prometheus Alertmanager - Fatal编程技术网

Prometheus 检测两个值的变化

Prometheus 检测两个值的变化,prometheus,prometheus-alertmanager,Prometheus,Prometheus Alertmanager,我目前使用prometheus alertmanager警报来确定在给定时间运行的盒子数量 我想创建一个警报,如果在线框的数量发生变化,它将发出警报。我用这样的方式: sum(up{app="mybox"}) != sum(up{app="mybox"} offset 5m) 这将检测到状态更改,但不会报告当前/以前的值。所有$labels.value将返回的值均为真/假。有没有一种方法可以编写此查询,以便a)它在更改时发出警报,B)报告不同的值?如中所示,只有一个可用的$value是规则的表

我目前使用prometheus alertmanager警报来确定在给定时间运行的盒子数量

我想创建一个警报,如果在线框的数量发生变化,它将发出警报。我用这样的方式:

sum(up{app="mybox"}) != sum(up{app="mybox"} offset 5m)
这将检测到状态更改,但不会报告当前/以前的值。所有$labels.value将返回的值均为真/假。有没有一种方法可以编写此查询,以便a)它在更改时发出警报,B)报告不同的值?

如中所示,只有一个可用的
$value
是规则的表达式

在您的情况下,它将是
sum(up{app=“mybox”})
的新值。根据您的用例,您可以将其表示为

  • 增加:
    sum(up{app=“mybox”})-sum(up{app=“mybox”}偏移量5m)!=0
  • 变化率:
    1-climp_max(sum(up)/sum(up{app=“mybox”}偏移量5m),0)!=0
如果您确实需要另一个(上一个)值,可以使用,但不要将其放在标签中。否则,将为每个以前的值生成不同的警报

expr: sum(up{app="mybox"}) != sum(up{app="mybox"} offset 5m)
annotations:
   description: The new value {{ $value }} is different from the previous: {{with query "sum(up{app='mybox'} offset 5m)"}}{{ . | first | value}}{{end}}.
注意:在您的案例中,查询可能会简化,但我编写了一般案例