我想配置一个prometheus警报,以便在现有度量显示为带有新标签值时触发。
示例:名为my_metric
的度量具有名为sv
的标签。当CCD_ 3从"0"变为"0"时;不存在";至";存在";或";具有值";,它会触发警报。然而,我事先不知道新的价值观是什么"约翰;将是。
这可能吗?这个表情会是什么样子?
通常,查询如下所示:
my_metric unless my_metric offset 10m
简单地说,上面给出了所有的my_metric
时间序列,除了10m
之前出现的时间序列:
unless
从具有相等标签集的输出时间序列中移除offset 10m
将最后一个my_metric
的评估时间从"现在"更改为10m
之前。在任务的上下文中,这还将定义警报在自动解决之前将触发多长时间
示例:
# my_metric 10 minutes ago
my_metric{foo="bar"} 1.0
# my_metric now
my_metric{foo="bar"} 1.0
my_metric{foo="baz"} 1.0
# query result:
my_metric{foo="baz"} 1.0
现在,在上面的基本表单中,您将收到任何新标签集的警报。如果你想观察一些特定标签的出现,那么添加一些聚合:
avg by(label1, label2) (my_metric) unless avg by(label1, label2) (my_metric) offset 10m
将两侧的label1, label2
替换为在您的情况下有意义的标签名称。您也可以使用其他聚合函数(min()
、max()
、sum()
等(来代替avg()
。