Skip to content

Резольвер не отвечает — алерт раньше пользователей

Один из публичных DNS-резольверов (1.1.1.1, 8.8.8.8) deg для региона. Ваш сайт «работает», но половина пользователей видит «server not found» — uptime-monitor молчит.

Рецепт

bash
#!/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 шлёт алерт, как только хотя бы один не может вернуть запись.

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

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

Маркетолог-стажёр меняет DMARC с <code>p=quarantine</code> на <code>p=none</code> ради «исправить bounce» — через час Gmail помечает все рассылки как спам.