Конфигурация Prometheus Alertmanager

У меня есть конфигурация ниже для отправки предупреждений по электронной почте от моего прометея на основе соответствующей метки.

global:
  smtp_from: '[email protected]'
  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: "[email protected],[email protected],[email protected],[email protected]"
    send_resolved: true
  - receiver: 'datalake-receiver'
  email_configs:
  - to: "[email protected],[email protected],[email protected]"
    match_re:
      kubernetes_namespace: datalake-aws-ec2|datalake-piaas-instances
    send_resolved: true
  - receiver: 'bundling-receiver'
  email_configs:
  - to: "[email protected],[email protected],[email protected],[email protected]"
    match_re:
      kubernetes_namespace: bundling-prod-axa-sg|rabbitmq
    send_resolved: true

Я развернул эту конфигурацию, но мой контейнер не подходит. Может ли кто-нибудь помочь мне проверить синтаксис и подсказать, что не так в приведенной выше конфигурации. Я пробовал все возможные комбинации, но безуспешно. Заранее спасибо.


person Lucky    schedule 19.04.2021    source источник


Ответы (1)


Существует множество проблем, связанных с идентификацией YAML и форматом конфигурации Alertmanager. Следующая конфигурация работает, как ожидалось:

global:
  smtp_from: '[email protected]'
  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: '[email protected]'
        send_resolved: true
      - to: '[email protected]'
        send_resolved: true

  - name: 'datalake-receiver'
    email_configs:
      - to: '[email protected]'
        send_resolved: true
      - to: '[email protected]'
        send_resolved: true

  - name: 'bundling-receiver'
    email_configs:
      - to: '[email protected]'
        send_resolved: true
      - to: '[email protected]'
        send_resolved: true

inhibit_rules:
  - source_match:
      severity: critical
    target_match:
      severity: warning

Взгляните на редактор дерева маршрутизации. Хорошо протестировать конфигурацию Alertmanager.

person Marcelo Ávila de Oliveira    schedule 19.04.2021
comment
Спасибо Марсело за помощь. Эта конфигурация работает, но предупреждения отправляются только на первое электронное письмо. Остальные игнорируются и не принимаются. - person Lucky; 20.04.2021
comment
Я дважды проверил синтаксис email_configs, и он верен. Убедитесь, что вы использовали правильный отступ, и используйте редактор дерева маршрутизации, чтобы убедиться, что он правильный (когда вы наводите указатель мыши на имя получателя в дереве, он показывает получателей). - person Marcelo Ávila de Oliveira; 20.04.2021
comment
Да, это работает. Спасибо - person Lucky; 26.04.2021