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

Monitoring 结合2个不同实例的状态配置Prometheus警报规则,monitoring,prometheus,prometheus-alertmanager,Monitoring,Prometheus,Prometheus Alertmanager,我正试图在Prometheus Alerting Manager中配置一个警报,当两个不同主机的状态为关闭时显示。 为了更好地解释,我有以下几对主机(主机=实例): 我需要一个警报,当同一对主机的两台主机都关闭时出现: expr = ( icmpping{instance=~"hostX1"}==0 and icmpping{instance=~"hostX2"}==0 ) (我知道语法不正确,我只想强调,X在两个icmping条件下引用相同的数字) 有什么提示吗?最简单的方法可能是在摄入时使

我正试图在Prometheus Alerting Manager中配置一个警报,当两个不同主机的状态为关闭时显示。 为了更好地解释,我有以下几对主机(主机=
实例
):

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

expr = ( icmpping{instance=~"hostX1"}==0 and icmpping{instance=~"hostX2"}==0 )
(我知道语法不正确,我只想强调,
X
在两个
icmping
条件下引用相同的数字)


有什么提示吗?

最简单的方法可能是在摄入时使用

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

host=host1.1 => host_group=host1
host=host1.2 => host_group=host1
然后,您可以将其用于警报规则

sum(icmpping) on(host_group) == 0
如果这是不可能的,您可以使用来实现相同的目标(仅在瞬时向量上)

host=host1.1 => host_group=host1
host=host1.2 => host_group=host1
sum(icmpping) on(host_group) == 0
sum(label_replace(icmpping,"host_group","$1","host","(.*)\._\\d+")) on(host_group) == 0