From ede45f2a312edec8f38515d264e7fa7c9d9d37b4 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Thu, 27 Aug 2026 13:48:57 +0300 Subject: [PATCH] =?UTF-8?q?fix(observability):=20healthcheck=20Alertmanage?= =?UTF-8?q?r=20=D1=81=D1=82=D1=83=D1=87=D0=B8=D1=82=D1=81=D1=8F=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D0=BE?= =?UTF-8?q?=D0=BC=D1=83=20=D0=BF=D1=83=D1=82=D0=B8=20=E2=80=94=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BD=D1=82=D0=B5=D0=B9=D0=BD=D0=B5=D1=80=20=D0=B1=D1=8B?= =?UTF-8?q?=D0=BB=20=D0=B2=D0=B5=D1=87=D0=BD=D0=BE=20unhealthy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --web.external-url=…/alertmanager заставляет Alertmanager обслуживать ВСЁ под этим префиксом, включая служебные ручки. Проверено на проде: /-/healthy → 404 Not Found /alertmanager/-/healthy → OK Контейнер при этом работал и рассылал алерты, но docker держал его unhealthy бессрочно. Само по себе безобидно — и ровно поэтому вредно: статус, который всегда красный, приучают не смотреть. А любая автоматика вида «перезапусти нездоровое» устроила бы из этого вечный перезапуск канала оповещений — то есть выбивала бы именно то, что должно работать в аварию. --- docker-compose.metrics.yml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docker-compose.metrics.yml b/docker-compose.metrics.yml index 0ab29cd0..ef52d524 100644 --- a/docker-compose.metrics.yml +++ b/docker-compose.metrics.yml @@ -134,7 +134,22 @@ services: mem_limit: 256m logging: *default-logging healthcheck: - test: ["CMD", "wget", "-q", "--spider", "http://localhost:9093/-/healthy"] + # Путь С ПРЕФИКСОМ. `--web.external-url=…/alertmanager` выше заставляет + # Alertmanager обслуживать ВСЁ под этим префиксом, включая служебные + # ручки: `/-/healthy` отдаёт 404, а `/alertmanager/-/healthy` — OK. + # + # Прод 27.08: контейнер работал и рассылал алерты, но docker держал его + # `unhealthy` бессрочно. Само по себе безобидно, но приучает не смотреть + # на статус — а любая автоматика «перезапусти нездоровое» устроила бы из + # этого вечный перезапуск канала оповещений. + test: + [ + "CMD", + "wget", + "-q", + "--spider", + "http://localhost:9093/alertmanager/-/healthy", + ] interval: 30s timeout: 10s retries: 5 -- 2.45.3