CommonAnnotations не работает для AlertManager

Я пытаюсь настроить Alertmanager через Prometheus. Я уже написал свои правила предупреждений и файл alertmanager.yaml. Я могу отправлять оповещения в Slack через alertmanager.

Проблема

Я не могу улучшить свои оповещения. Я хочу отправить вместе с предупреждением описание, название предупреждения, сводку.

Я попытался использовать CommonAnnotations, чтобы отправить описание, имя и сводку моего предупреждения. Но, к сожалению, это работает только для DeadMansSwitch. Для всех остальных предупреждений я ничего не вижу на канале Slack.

#PrometheusRules

- alert: esWorkerACKSPM
        annotations:
          description: Buzzsaw esworkers acknowledgment per minute.
          summary: Prometheus' alert notification :- Buzzsaw average esworker acknowledgment per minute is lower than 10.
        expr: avg(bz_ackspm{broker=~"ldbb-.*", group="esworkers"}) < 10
        for: 5m
        labels:
          severity: urgent   
#alertmanager.yaml

global:
templates:
- 'https://github.com/prometheus/alertmanager/blob/master/template/default.tmpl'
route:
  group_by: ['severity']
  group_wait: 3s
  group_interval: 5s
  repeat_interval: 20s
  receiver: mail-receiver
  routes:
  - match:
      severity: urgent
    receiver: critical-mail-receiver
    routes:
receivers:
- name: 'mail-receiver'
  slack_configs:
  - api_url: https://hooks.slack.com/services/XXXXXX/XXXXX1/e7AXXXXXXopzmHNTJmL
    channel: '#alertmanager-testing'
    text: '{{ .CommonAnnotations.summary }}'
- name: 'critical-mail-receiver'
  slack_configs:
  - api_url: https://hooks.slack.com/services/T0XXXXCL/XXX6G4/VUVKZ8CnXXXXXXXzZguoXq
    channel: '#place'
    text: '{{ .CommonAnnotations.summary }} '

Ожидаемый результат: - Краткое изложение предупреждения о резервном канале.

Фактические результаты: - Возможность видеть сводку DeadMansSwitch (предупреждение) только при резерве. Для других предупреждений он просто показывает

[FIRING:2] urgent (monitoring/kube-prometheus-prometheus-prometheus)

person Rohit Yadav    schedule 29.03.2019    source источник


Ответы (1)


Это действительно желаемое поведение. Вы указали группировку, и сообщение, которое вы разместили в качестве примера, является сгруппированным сообщением ([FIRING:2] означает совпадение двух одинаковых правил). Поэтому дополнительные информационные поля (в вашем случае текст, а также нижний колонтитул и др.) Опущены, поскольку нет (простого) способа программно определить, какие из сгруппированных предупреждений следует отображать.

Какой отображать? Первое или все из них (добавление многословности и большого количества текстов / путаницы, особенно если сгруппировано более двух предупреждений)?

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

person Markus    schedule 08.06.2020