首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结合2个不同实例的状态配置Prometheus告警规则

结合2个不同实例的状态配置Prometheus告警规则
EN

Stack Overflow用户
提问于 2019-12-05 19:10:16
回答 1查看 694关注 0票数 2

我正在尝试在Prometheus Alerting Manager中配置一个警报,该警报在两个不同主机的状态为down时出现。为了更好地解释,我有几对主机(host=instance):

代码语言:javascript
复制
host1.1
host1.2

host2.1
host2.2

host3.1 
host3.2

host4.1
host4.2
...

我需要一个警报,当同一对主机的两个主机都关闭时出现:

代码语言:javascript
复制
expr = ( icmpping{instance=~"hostX1"}==0 and icmpping{instance=~"hostX2"}==0 )

(我知道语法不正确,我只想强调一下,在两个icmpping条件下,X引用相同的数字)

有什么提示吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-09 20:26:18

最简单的方法可能是在摄取时使用relabel_config生成一个反映此逻辑的标签

代码语言:javascript
复制
relabel_configs:
  - source_labels: [host]
    regex: ^(.*)\.\d+$
    target_label: host_group

它将生成匹配所需的标签:

代码语言:javascript
复制
host=host1.1 => host_group=host1
host=host1.2 => host_group=host1

然后,您可以将其用于您的警报规则。

代码语言:javascript
复制
sum(icmpping) on(host_group) == 0

如果这是不可能的,您可以使用label_replace来实现相同的(仅在即时向量上)

代码语言:javascript
复制
sum(label_replace(icmpping,"host_group","$1","host","(.*)\._\\d+")) on(host_group) == 0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59193831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档