Резольвер не отвечает — алерт раньше пользователей
Один из публичных DNS-резольверов (1.1.1.1, 8.8.8.8) deg для региона. Ваш сайт «работает», но половина пользователей видит «server not found» — uptime-monitor молчит.
Рецепт
#!/usr/bin/env bash
# Probe several resolvers for the same domain. If any one of them
# can't return an A-record under TIMEOUT seconds — alert.
DOMAIN=${1:?domain required}
TIMEOUT=${TIMEOUT:-2}
RESOLVERS=("1.1.1.1" "8.8.8.8" "9.9.9.9" "77.88.8.8")
for R in "${RESOLVERS[@]}"; do
if ! dig +time="$TIMEOUT" +tries=1 +short "@$R" "$DOMAIN" A >/dev/null; then
echo "Resolver $R failed for $DOMAIN at $(date -u)"
exit 1
fi
done
То же самое в Enterno.io
DNS-инструмент Enterno проверяет на 8+ резольверах одновременно (Pioneer+ — 20+). DNS-monitor шлёт алерт, как только хотя бы один не может вернуть запись.
Похожие рецепты
Slave-Redis отстаёт от master — read-after-write возвращает старые данные. Стандартного алерта нет, нужен внешний.
Маркетолог-стажёр меняет DMARC с <code>p=quarantine</code> на <code>p=none</code> ради «исправить bounce» — через час Gmail помечает все рассылки как спам.
Нужно убедиться, что сайт возвращает 2xx каждую минуту, и получить алерт в Slack/Telegram при падении.