【问题标题】:Prometheus Alertmanager configPrometheus Alertmanager 配置
【发布时间】:2021-07-13 06:23:01
【问题描述】:

我有以下配置,可以根据匹配的标签从我的 prometheus 发送电子邮件警报。

global:
  smtp_from: 'monitor@a.com'
  smtp_smarthost: '1.1.1.1:25'
  smtp_require_tls: false
templates:
- '/etc/alertmanager/default.tmpl'
route:
  receiver: 'default-receiver'
  group_by: [cluster, severity]
  group_wait: 10s
  group_interval: 5m
  repeat_interval: 1h
inhibit_rules:
- source_match:
    severity: critical
  target_match:
    severity: warning
  routes:
  - receiver: 'default-receiver'
  email_configs:
  - to: "b@a.com,h@a.com,c@a.com,d@a.com"
    send_resolved: true
  - receiver: 'datalake-receiver'
  email_configs:
  - to: "b@a.com,h@a.com,e@a.com"
    match_re:
      kubernetes_namespace: datalake-aws-ec2|datalake-piaas-instances
    send_resolved: true
  - receiver: 'bundling-receiver'
  email_configs:
  - to: "b@a.com,h@a.com,f@a.com,g@a.com"
    match_re:
      kubernetes_namespace: bundling-prod-axa-sg|rabbitmq
    send_resolved: true

我部署了这个配置,但我的容器没有出现。有人可以帮我验证语法并建议上面的配置有什么问题吗?我尝试了所有可能的组合,但没有运气。 提前致谢。

【问题讨论】:

    标签: prometheus prometheus-alertmanager


    【解决方案1】:

    存在很多与 YAML 标识和 Alertmanager 配置格式相关的问题。以下配置似乎按预期工作:

    global:
      smtp_from: 'monitor@a.com'
      smtp_smarthost: '1.1.1.1:25'
      smtp_require_tls: false
    
    templates:
    - '/etc/alertmanager/default.tmpl'
    
    route:
      receiver: 'default-receiver'
      group_by: [cluster, severity]
      group_wait: 10s
      group_interval: 5m
      repeat_interval: 1h
    
      routes:
        - receiver: 'datalake-receiver'
          match_re:
            kubernetes_namespace: 'datalake-aws-ec2|datalake-piaas-instances'
        - receiver: 'bundling-receiver'
          match_re:
            kubernetes_namespace: 'bundling-prod-axa-sg|rabbitmq'
    
    receivers:
      - name: 'default-receiver'
        email_configs:
          - to: 'b@a.com'
            send_resolved: true
          - to: 'h@a.com'
            send_resolved: true
    
      - name: 'datalake-receiver'
        email_configs:
          - to: 'b@a.com'
            send_resolved: true
          - to: 'h@a.com'
            send_resolved: true
    
      - name: 'bundling-receiver'
        email_configs:
          - to: 'b@a.com'
            send_resolved: true
          - to: 'h@a.com'
            send_resolved: true
    
    inhibit_rules:
      - source_match:
          severity: critical
        target_match:
          severity: warning
    

    看看Routing tree editor。测试一下 Alertmanager 配置就好了。

    【讨论】:

    • 感谢马塞洛的帮助。此配置有效,但警报只会发送到第一封电子邮件。休息被忽略,不接收。
    • 我仔细检查了 email_configs 语法,它是正确的。检查您是否使用了正确的缩进并使用“路由树编辑器”查看它是否正确(当您将鼠标放在树中的接收器名称上时,它会显示接收器)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 2018-06-01
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多