fix(ops/metrics): Alertmanager отвечал 404 на /api/v2/alerts — Prometheus писал мимо #3162
1 changed files with 16 additions and 15 deletions
|
|
@ -115,6 +115,14 @@ services:
|
|||
- "--config.file=/etc/alertmanager/alertmanager.yml"
|
||||
- "--storage.path=/alertmanager"
|
||||
- "--web.external-url=https://metrics.gendsgn.ru/alertmanager"
|
||||
# Внешний адрес — ТОЛЬКО для ссылок в сообщениях; обслуживать всё под
|
||||
# этим префиксом Alertmanager не должен. Без этой строки он отвечает
|
||||
# 404 на `/api/v2/alerts`, а Prometheus именно туда и пишет: 27.08
|
||||
# Prometheus нашёл приёмник (`activeAlertmanagers` непуст), послал
|
||||
# уведомление и получил 404 — `alertmanager_alerts_received_total 0`
|
||||
# при `prometheus_notifications_errors_total 1`. Тот же флаг и по той
|
||||
# же причине стоит у Prometheus выше.
|
||||
- "--web.route-prefix=/"
|
||||
env_file:
|
||||
- path: ./backend/.env.runtime
|
||||
required: false
|
||||
|
|
@ -136,22 +144,15 @@ services:
|
|||
mem_limit: 256m
|
||||
logging: *default-logging
|
||||
healthcheck:
|
||||
# Путь С ПРЕФИКСОМ. `--web.external-url=…/alertmanager` выше заставляет
|
||||
# Alertmanager обслуживать ВСЁ под этим префиксом, включая служебные
|
||||
# ручки: `/-/healthy` отдаёт 404, а `/alertmanager/-/healthy` — OK.
|
||||
# Путь БЕЗ ПРЕФИКСА — вместе с `--web.route-prefix=/` выше.
|
||||
#
|
||||
# Прод 27.08: контейнер работал и рассылал алерты, но docker держал его
|
||||
# `unhealthy` бессрочно. Само по себе безобидно, но приучает не смотреть
|
||||
# на статус — а любая автоматика «перезапусти нездоровое» устроила бы из
|
||||
# этого вечный перезапуск канала оповещений.
|
||||
test:
|
||||
[
|
||||
"CMD",
|
||||
"wget",
|
||||
"-q",
|
||||
"--spider",
|
||||
"http://localhost:9093/alertmanager/-/healthy",
|
||||
]
|
||||
# Раньше здесь стоял `/alertmanager/-/healthy`: внешний адрес заставлял
|
||||
# Alertmanager обслуживать под префиксом всё, включая служебные ручки, и
|
||||
# `/-/healthy` отдавал 404 (прод 27.08 — контейнер работал, а docker
|
||||
# держал его `unhealthy` бессрочно). Лечили симптом на стороне проверки,
|
||||
# и потому не заметили, что тот же префикс ломает `/api/v2/alerts`, куда
|
||||
# пишет Prometheus. Теперь причина убрана, и путь снова обычный.
|
||||
test: ["CMD", "wget", "-q", "--spider", "http://localhost:9093/-/healthy"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue