Elasticsearch — поймать переход cluster в yellow/red
Продакшен ES-кластер ушёл в yellow status. Хочется алерт сразу, не через 30 минут как от Kibana.
Рецепт
#!/usr/bin/env bash
# Expose-as-HTTP wrapper over _cluster/health.
# Returns just the status word so a body-keyword rule can match.
ES_URL="${ES_URL:-http://localhost:9200}"
STATUS=$(curl -s --max-time 5 "$ES_URL/_cluster/health" \
| python3 -c 'import json,sys; print(json.load(sys.stdin).get("status","unknown"))')
echo "$STATUS"
То же самое в Enterno.io
Поднимите этот эндпойнт и натравьте HTTP-монитор Enterno с rule "тело = green". Pioneer+ исторически хранит каждый статус — видно когда именно пошёл yellow.
Похожие рецепты
HAProxy балансит на 5 backend-серверов; один из них стал отвечать ошибками и ушёл в DOWN. Перед тем как пользователь это заметит — алерт.
Нужно убедиться, что сайт возвращает 2xx каждую минуту, и получить алерт в Slack/Telegram при падении.
Самоподписанный скрипт проверяет SSL сертификат и шлёт алерт за 14 дней до expiry.