Docker daemon — алерт когда dockerd завис
docker info висит >30 сек — daemon в split-brain состоянии. Контейнеры работают (kernel держит namespaces), но новых релизов deploy не сделать. systemctl status показывает active.
Рецепт
#!/usr/bin/env bash
# /etc/cron.d/docker-hang
# */2 * * * * root /opt/docker-hang.sh
TIMEOUT=${TIMEOUT:-15}
# Use timeout — `docker info` will hang forever if daemon is wedged
if timeout "$TIMEOUT" docker info >/dev/null 2>&1; then
echo "OK"
exit 0
fi
curl -fsS "$HEARTBEAT_URL" --data "docker_hang=true,timeout=${TIMEOUT}s"
exit 2
То же самое в Enterno.io
Поставьте Enterno heartbeat с интервалом 2 мин — узнаете о daemon-hang в первые 4 мин, а не «утром в первом deploy», когда CI красит pipeline.
Похожие рецепты
Контейнер падает по OOM, restart-политика поднимает его обратно — наружу никаких сигналов, пока пользователи не пожаловались.
Часы поползли (timesync завис, провайдер NTP-сервера лёг) — TOTP начнёт фейлить, JWT с iat в будущем отвергаются, логи путаются.
Анонимные image pull-ы упёрлись в Docker Hub limit (100/6h на IP) — CI начнёт падать с ToomanyRequests. Часто видно только когда уже за лимитом.