Datadog — алерт когда host не репортит метрики
Datadog agent умер (OOM, mismatched apt-update, certificate expiry до dd-staging.com) — host исчезает из dashboard через 10 мин (default mute window), но никто не алертит, что мониторинг ослеп.
Рецепт
#!/usr/bin/env bash
# /etc/cron.d/dd-agent
# */10 * * * * root /opt/dd-agent.sh
DD_API_KEY=${DD_API_KEY}
DD_APP_KEY=${DD_APP_KEY}
EXPECTED=${EXPECTED:-host1,host2,host3} # comma-separated hostname list
LIVE=$(curl -fsS -H "DD-API-KEY: $DD_API_KEY" -H "DD-APPLICATION-KEY: $DD_APP_KEY" \
"https://api.datadoghq.com/api/v1/hosts?from=$(date -d '5 minutes ago' +%s)" \
| jq -r '.host_list[].name' | sort -u)
MISSING=""
IFS=',' read -ra EXP <<< "$EXPECTED"
for H in "${EXP[@]}"; do
if ! echo "$LIVE" | grep -qx "$H"; then
MISSING="$MISSING$H,"
fi
done
if [ -n "$MISSING" ]; then
curl -fsS "$HEARTBEAT_URL" --data-urlencode "missing=$MISSING"
exit 2
fi
echo "OK (all hosts reporting)"
То же самое в Enterno.io
Заверните в Enterno heartbeat — независимый канал для catch на «monitoring сам ослеп», не полагается на тот же DD-стек.
Похожие рецепты
Filebeat / Logstash тихо упал на одном edge-сервере. Ingest rate в Elasticsearch снижен на 40%, но dashboards никто не смотрит. Запросы в Sentry без логов = слепота.
Prometheus сам жив, но один из targets (`up==0`) — данные перестали течь, графики пустые, alertmanager-правила, основанные на этом target, не fire-ят (нет данных = нет алерта).
OTEL collector перегружен — `otelcol_exporter_send_failed_spans` растёт. Трейсы теряются, debug по продакшну ослеп. Backend-tracing-бекенд не покажет gap.