如何使Prometheus基于Alert标签将警报发送到两个不同的Alertmanager?

时间:2019-05-13 15:57:47

标签: prometheus prometheus-alertmanager prometheus-operator

我有以下两个警报:

alert: InstanceDown
expr: (up == 0) and (team == "foo")
for: 5m
labels:
  severity: page
  team: foo
annotations:
  summary: "Instance {{$labels.instance}} down"

alert: InstanceDown
expr: (up == 0) and (team == "bar")
for: 5m
labels:
  severity: page
  team: bar
annotations:
  summary: "Instance {{$labels.instance}} down"

我如何使Prometheus将第一个警报发送到在alertmanager.example.com/team-foo公开的一个警报管理器中,然后将第二个警报发送到在alertmanager.example.com/team-bar公开的另一个警报管理器中?

我认为我需要使用服务发现和重新标记功能,但到目前为止还远远不够。

如果有问题,我正在使用prometheus-operator。

1 个答案:

答案 0 :(得分:2)

我认为您无法过滤将哪些警报转到哪个Alertmanager。但是,您可以将所有警报发送到2个(或N个)Alertmanager实例,并将每个Alertmanager配置为路由一些警报,而忽略所有其他警报(即,将它们路由到没有电子邮件,没有Slack,什么都没有的命名接收者)。