English version

BlackboxHttpStatusNotOk: что делать при алерте

Правило алерта

alert: BlackboxHttpStatusNotOk
expr: probe_http_status_code{job=~"blackbox.*"} > 0
and (probe_http_status_code{job=~"blackbox.*"} < 200 or probe_http_status_code{job=~"blackbox.*"} >= 300)
for: 5m
severity: warning

Сообщение алерта: {{ $labels.instance }} отвечает не 2xx

Что значит

Итоговый HTTP-статус ответа (после редиректов) не в диапазоне 2xx в течение 5 минут. Нулевой статус (соединения не было) обрабатывается алертом BlackboxProbeFailed.

Частые причины

5xx — ошибка приложения или прокси; 4xx — изменились маршруты, авторизация или проверяется неправильный URL; 3xx в конце цепочки — цикл редиректов или редирект на страницу вне 2xx.

Диагностика

curl -sS -I -L -m 10 https://example.com
curl -sS -m 10 -o /dev/null -w '%{http_code} %{redirect_url}\n' https://example.com

Посмотрите логи веб-сервера и приложения за это время (journalctl -u nginx -n 100 --no-pager, docker logs --tail 100 <имя>).

Как исправить

Устранить ошибку приложения/конфигурации. Если сервис намеренно возвращает не 2xx (например, 401 для закрытой страницы), укажите допустимые коды в valid_status_codes модуля blackbox.

Когда можно заглушить

Если адрес намеренно отвечает не 2xx — лучше исправить модуль проверки, а не заглушать.

Похожие алерты

Весь набор из 44 протестированных правил + Alertmanager → Telegram: 790 ₽
Открыть в Telegram · Бесплатный набор Monitoring Lite · Все алерты runbook