Не удается увидеть оповещения в Prometheus Alert Manager

#prometheus #prometheus-alertmanager

#prometheus #prometheus-alertmanager

Вопрос:

Я определил базовое предупреждение «service_down» в Prometheus для отслеживания состояния системы: введите описание изображения здесьЗатем я пытаюсь подключить это оповещение из диспетчера оповещений, используя следующую конфигурацию:

 global:
  resolve_timeout: 5m

route:
  group_by: ['service_down']
  group_wait: 10s
  group_interval: 10s
  repeat_interval: 1h
  receiver: 'web.hook'
receivers:
- name: 'web.hook'
  webhook_configs:
  - url: 'http://127.0.0.1:5001/'
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['service_down', 'dev', 'instance']
  

Однако я не вижу оповещения, отображаемого в диспетчере оповещений:
введите описание изображения здесь
Я довольно новичок в Prometheus, но не могу запустить этот очень простой пример. Любая помощь?
Спасибо

Комментарии:

1. Существует ли метка service_down на самом деле?

Ответ №1:

На первый взгляд, ваша конфигурация для Alertmanager неверна, просмотрите свои group_by (используйте имя метки вместо значения) и inhibit_rules конфигурации

https://prometheus.io/docs/alerting/latest/configuration/

В журналах AM должны быть некоторые ошибки.

В случае, если вы по-прежнему не видите оповещения о состоянии AM check Prometheus, он содержит список экземпляров AM при использовании обнаружения служб.

Если у вас все еще есть проблемы… Я бы рекомендовал включить журналы отладки и проверить, не удается ли Promethues отправить POST-запрос в AM или если он обрабатывает его

Ответ №2:

в моем случае проблема заключалась в аутентификации. мой сервер alert Manager использует простую аутентификацию, и вы должны добавить конфигурацию simple_auth в свои prometheuses.yml-файл в разделе оповещений

 ...
alerting:
  alertmanagers:
    - scheme : "https"
    - api_version: "v1"
    - basic_auth:
        username: username
        password: "password"
    - static_configs:
        - targets:
            [
              "servicenameindocker:9093",
              "serveripaddr:9093",
              "serverlink:9093",
            ]
...
  

и о целевой части ‘servicenameindocker: 9093‘ — это имя службы docker в случае использования docker.

надеюсь, это вам поможет.