【发布时间】:2021-04-12 13:35:40
【问题描述】:
我正在尝试配置警报管理器,以便它根据特定标签的值将警报发送到正确的渠道。我有 3 个松弛通道 - dev/staging/prod,我希望将来自“env”标签设置为 dev 的实例的警报发送到 dev 松弛通道。 Staging 和 prod 显然会以相同的方式工作。这是我的配置的一部分:
global:
resolve_timeout: 1m
slack_api_url: 'https://slack-url'
route:
group_by: [...]
receiver: 'default'
routes:
- match:
env: 'prod'
receiver: 'slack-notifications-prod'
- match:
env: 'staging'
receiver: 'slack-notifications-staging'
- match:
env: 'dev'
receiver: 'slack-notifications-dev'
receivers:
- name: 'default'
- name: 'slack-notifications-prod'
...
- name: 'slack-notifications-staging'
...
- name: 'slack-notifications-dev'
...
slack-notifications 接收器都是相同的,它们只有一件事不同,那就是适当的频道名称。
当前行为:所有警报都发送到 prod slack 通道
预期行为:来自“dev”env 的警报发送到 dev 通道,“staging”发送到 staging 通道,“prod”发送到 prod 通道。
Alertmanager 可以很好地看到这些标签(从 alertmanager webUI 的信息来看)。
【问题讨论】:
-
一个问题:default 究竟做了什么?
-
没什么,据我所知,它是一个“万能”接收器,这是必需的。
标签: monitoring prometheus prometheus-alertmanager