#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.
надеюсь, это вам поможет.