【问题标题】:Prometheus and Alertmanager - route based on env labelPrometheus 和 Alertmanager - 基于 env 标签的路由
【发布时间】: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


【解决方案1】:

原来我的配置没问题,我使用的 webhook URL 只绑定到一个松弛通道,我不知道。

【讨论】:

    【解决方案2】:

    您必须在第一场比赛中添加continue: true 属性:

    global:
      resolve_timeout: 1m
      slack_api_url: 'https://slack-url'
    
    route:
      group_by: [...]
      receiver: 'default'
      routes:
      - match:
          env: 'prod'
        receiver: 'slack-notifications-prod'
        continue: true
      - 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'
    ...
    

    AlertManager 将评估子路由,直到没有路由或给定级别的路由与当前警报匹配。

    在这种情况下,AlertManager 将采用当前节点的配置进行评估。

    continue 属性是一个值,用于定义如果同一级别的路由已经匹配,是否要评估路由兄弟(属于同一级别)。

    https://devconnected.com/alertmanager-and-prometheus-complete-setup-on-linux/

    【讨论】:

      猜你喜欢
      • 2021-11-23
      • 2021-12-11
      • 2022-01-12
      • 1970-01-01
      • 2020-05-19
      • 2021-07-13
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      相关资源
      最近更新 更多