alertmanager配置文件详解

global:
  smtp_smarthost: 'localhost:25'
  smtp_from: 'alertmanager@example.org'         #用于邮件通知的P发件人
route:                                          #每个输入警报进入根路由
  receiver: 'team-X-mails'                      #根路由不得包含任何匹配项,因为它是所有警报的入口点
  group_by: ['alertname', 'cluster']            #将传入警报分组的标签。例如,将有个针对cluster = A和alertname = LatencyHigh的警报进入批处理成一个组
  group_wait: 30s                               #当传入的警报创建了一组新的警报时,请至少等待多少秒发送初始通知
  group_interval: 5m                            #发送第一个通知时,请等待多少分钟发送一批已开始为该组触发的新警报
  repeat_interval: 3h                           #如果警报已成功发送,请等待多少小时以重新发送警报
  routes:                                       #子路由,父路由的所有属性都会被子路由继承
  - match_re:                                   #此路由在警报标签上执行正则表达式匹配,以捕获与服务列表相关的警报
      service: ^(foo1|foo2|baz)$
    receiver: team-X-mails
    routes:                                     #服务有严重警报,任何警报子路径不匹配,即通过父路由配置直接发送给收件人
    - match:
        severity: critical
      receiver: team-X-pager
    routes:                                      #此路由处理来自数据库服务的所有警报
    - match:
        severity: critical
      receiver: team-Y-pager
  - match:
      service: database
    receiver: team-DB-pager                       #还可以按受影响的数据库对警报进行分组
    group_by: [alertname, cluster, database]
    routes:
    - match:
        owner: team-X
      receiver: team-X-pager
#如果另一个警报正在触发,则禁止规则允许将一组警报静音,如果同一警报已经严重,我们将使用此选项禁用任何警告级别的通知 
inhibit_rules:
- source_match:
    severity: 'critical'
  target_match:
    severity: 'warning'
  equal: ['alertname']
#如果警报名称相同,则应用抑制,如果源警报和目标警报中均缺少“equal”中列出的所有标签名称,则将应用禁止规则!
receivers:
- name: 'team-X-mails'
  email_configs:
  - to: 'team-X+alerts@example.org, team-Y+alerts@example.org'
- name: 'team-X-pager'
  email_configs:
  - to: 'team-X+alerts-critical@example.org'
  pagerduty_configs:
  - routing_key: <team-X-key>
posted @ 2021-01-07 16:52  哈喽哈喽111111  阅读(3170)  评论(0编辑  收藏  举报