Skip to content

HAProxy — алерт когда хотя бы один backend ушёл в DOWN

HAProxy балансит на 5 backend-серверов; один из них стал отвечать ошибками и ушёл в DOWN. Перед тем как пользователь это заметит — алерт.

Рецепт

bash
#!/usr/bin/env bash
# Reads HAProxy stats socket; prints "ok" if every backend is UP, "down N" otherwise.
SOCK="${SOCK:-/var/run/haproxy/admin.sock}"
DOWN=$(echo "show stat" | socat - "UNIX-CONNECT:$SOCK" \
        | awk -F, 'NR>1 && $2 != "FRONTEND" && $2 != "BACKEND" && $18 == "DOWN" {print $2"/"$1}')
[ -z "$DOWN" ] && echo "ok" || echo "down $DOWN"

То же самое в Enterno.io

Поднимите endpoint и натравите HTTP-монитор Enterno на rule "body = ok". Multi-region check (Pro+) подтвердит, что DOWN видят все 3 региона, а не один edge-роутер.

Настроить HTTP monitor → ← Все рецепты

Похожие рецепты