Het symptoom
Ongeveer elke 40 uur gingen 11 tot 13 van de 14 blackbox-probes tegelijk op rood, met een regen aan kritieke meldingen. Na 8 tot 14 minuten was alles weer groen.
De diensten waren er gewoon
Tijdens zo'n venster stond geen enkel intern scrape-target op down: 21 targets, en alle samples up=1. De diensten draaiden dus. Alleen de probes van buitenaf faalden.
De handtekening
De blackbox-exporter splitst de duur van een probe op in fasen. probe_dns_lookup_time_seconds sprong in elk venster van ~0,011 s naar 8,004 s, voor alle targets tegelijk. Over zeven dagen: 250 mislukte probes op ruim 120.000, waarvan 94 % met een DNS-lookup van vier seconden of meer.
Twee patronen uit elkaar houden
Dat was de kern van het onderzoek:
| Patroon | DNS-lookup | Betekenis |
|---|---|---|
| Veel targets tegelijk, DNS traag | ~8 s | Naamresolutie, niet de diensten |
| Eén target, DNS snel, statuscode 0, timeout | ~0,015 s | Een site die echt niet antwoordt |
Het tweede patroon kwam los daarvan ook voor, bij één site, en is een apart probleem.
Wat ik uitsloot
Alle zones staan op dezelfde autoritatieve nameservers. Geen DNSSEC-problemen, identieke SOA-serials, geen lame delegation, en de WAN was in elk venster gewoon op. Een vergelijking met een extern domein bleek een zwakke controle: dat domein draaide bij dezelfde partij als de recursieve resolver. "Alleen mijn zones falen" was daarmee nog niet hard bewezen.
Meten per hop
Om het verschil te zien tussen "de autoritatieve DNS hapert" en "het pad ernaartoe hapert", schreef ik een DNS-canary: elke 30 seconden een lookup via de lokale stub, via de publieke resolver, via de router, en rechtstreeks bij elke autoritatieve server zonder recursie, met neutrale controledomeinen ernaast.
De meldingen
Los van de oorzaak was het aantal meldingen het grootste probleem. Een alert per instance zonder aggregatie maakt van één DNS-hik dertien kritieke incidenten. Langere scrape-intervallen helpen daar niet; een regel als count by (job) (probe_success == 0) > 5, met een inhibit op de losse alerts, wel.
Les
Kijk bij massale uitval eerst naar wat de targets gemeen hebben. Dertien diensten die tegelijk "uitvallen", zijn zelden dertien storingen.