我有 2 个服务 A 和 B 我想监视它们。此外,我有 2 个不同的通知 channel X 和 Y 在 AlertManager 配置文件中以 receivers
的形式。
如果服务 A 宕机,我想发送通知 X ,如果服务 B 宕机,我想通知 Y 。我怎样才能实现这个我的配置?
我的 AlertManager YAML 文件是:
route:
receiver: X
receivers:
- name: X
email_configs:
- name: Y
email_configs:
alert.rule
文件是:groups:
- name: A
rules:
- alert: A_down
expr: expression
for: 1m
labels:
severity: critical
annotations:
summary: "A is down"
- name: B
rules:
- alert: B_down
expr: expression
for: 1m
labels:
severity: warning
annotations:
summary: "B is down"
最佳答案
配置应该大致如下(未测试):
route:
group_wait: 30s
group_interval: 5m
repeat_interval: 2h
receiver: 'default-receiver'
routes:
- match:
alertname: A_down
receiver: X
- match:
alertname: B_down
receiver: Y
这个想法是,每个
route
字段都可以有一个 routes
字段,您可以在其中放置不同的配置,如果 match
中的标签与条件匹配,则会启用该配置。