如何在 Prometheus 警报中匹配多个标签?
Posted
技术标签:
【中文标题】如何在 Prometheus 警报中匹配多个标签?【英文标题】:How to match more than one labels in Prometheus alerts? 【发布时间】:2021-11-22 08:23:32 【问题描述】:我想发送具有 Level1 或 Level2 的通知。但我不确定 Prometheus 是否会尝试同时找到两个标签,事实并非如此。我该怎么做?
- receiver: 'alert'
match:
severity: Level1
severity: Level2
group_wait: 10s
continue: true
更新:严重性:Level1|Level2
无效。
【问题讨论】:
【参考方案1】:正如in the documentation 解释的那样,match
的指令必须完成每个条目。我什至对您的配置有效。
警报必须满足的一组相等匹配器才能匹配节点。
如果你想使用正则表达式,你可以使用match_re
:
- receiver: 'alert'
match_re:
severity: Level1|Level2
group_wait: 10s
continue: true
请注意,alertmanager (v0.22) 引入了matchers
的用法,其语法重用了 PromQL:
- receiver: 'alert'
matchers: [ 'severity=~"Level1|Level2"' ]
group_wait: 10s
continue: true
在 Prometheus GUI 中更容易编写和探索。
【讨论】:
以上是关于如何在 Prometheus 警报中匹配多个标签?的主要内容,如果未能解决你的问题,请参考以下文章
Prometheus 警报总和 1 个标签但输出 2 个标签