Terug naar blog

Multiregio-monitoring: zo elimineer je false-positive storingen

· 6 min leestijd

Valse alarmen leren een team alerts te negeren. Een multiregio cross-check meldt een storing pas wanneer meerdere onafhankelijke probes die bevestigen.

Multiregio-monitoring: zo elimineer je false-positive storingen

Waarom single-region monitoring liegt

Klassieke monitoring heeft één observatiepositie (één server of cloudregio). Krijgt die probe geen antwoord, dan meldt hij een storing. De oorzaak kan echter een van de volgende zijn:

  • Een probleem in het netwerk van de probe zelf (route flap, een peering-probleem bij zijn provider)
  • Een kortstondige DNS-glitch aan de kant van de probe
  • Een geografisch beperkte storing (een CDN-edge in één land viel uit)
  • Rate limiting of een IP-blokkade aan de kant van jouw infrastructuur

Vanuit het perspectief van echte gebruikers kan de site helemaal in orde zijn - alleen onbereikbaar voor één specifieke monitoring-host.

Het gevolg: alert fatigue

Een team dat 3 "storing"-meldingen per week krijgt, waarvan er 2 vals alarm (false-positive) zijn, stopt geleidelijk met reageren. Komt er dan een echte storing, dan is de reactie te laat of merkt niemand het op. Dit verschijnsel heet alert fatigue (alertmoeheid) en is goed gedocumenteerd in de devops-literatuur.

Het doel is de best mogelijke signaal-ruisverhouding (signal-to-noise ratio). Beter 1 melding per maand die altijd echt is dan 10 meldingen waarvan er 7 ruis zijn.

Het multiregio-patroon: consensus van N probes

Het principe:

  1. Je hebt 3 worker-nodes in 3 steden (primary in Liptovský Hrádok, eu2 in Liptovský Mikuláš, eu1 in Bratislava). De standaarddrempel = 2 van 3, wat een echte consensus geeft (niet unaniem). De architectuur ondersteunt een willekeurig aantal nodes; bij uitbreiding worden ze toegevoegd aan het bestaande consensusmechanisme.
  2. Bij elk interval testen alle probes het endpoint parallel.
  3. Je voegt het resultaat samen: een storing is bevestigd als M van N probes hem melden (typisch M = 2 of meer).
  4. Het uitvallen van één probe triggert geen alarm - meldt één probe "down" maar de andere "up", dan blijft het systeem in de UP-staat.

Dit is het zogenaamde consensus algorithm (consensusalgoritme), vergelijkbaar met Raft of Paxos - de beslissing valt bij meerderheid van stemmen.

Praktische instelling

In het ePulz.io-adminpaneel wordt multiregio met één schakelaar ingeschakeld en geconfigureerd via:

  • Actieve regio's - de lijst met workers, doorgaans 3-5
  • Consensusdrempel - hoeveel regio's DOWN moeten zeggen (standaard: 2)
  • Worker token - een gedeeld geheim (shared secret) tussen de hoofdserver en de workers voor verificatie

Bij elke controle benadert de hoofdserver alle workers parallel via de HTTP API. Een worker voert een lokale HTTP-, TCP- of ping-test uit en geeft het resultaat terug. De hoofdserver evalueert de consensus en escaleert de alert pas wanneer de drempel wordt overschreden.

Trade-offs

Pluspunten:

  • Drastisch minder valse alarmen
  • Geografische visualisatie - je ziet vanuit welke regio's de site niet werkt
  • Detectie van regionale storingen (probleem met een Cloudflare-PoP, foutieve routing bij een ISP)

Minpunten:

  • Iets langere latentie tussen de echte storing en de alert (er wordt gewacht op consensus uit meerdere bronnen)
  • Hogere infrastructuureisen en een hoger prijsplan
  • Beschikbaarheid van de workers - als de helft van de workers zelf onbereikbaar is, is de drempel mogelijk niet haalbaar (de oplossing is een dynamische drempel = M van de momenteel actieve probes)

Voorbeeld van een consensusberekening

Configuratie van 3 daadwerkelijk uitgerolde worker-nodes: primary in Liptovský Hrádok (SK), eu2 in Liptovský Mikuláš (SK), eu1 in Bratislava (SK), drempel = 2.

Scenario primary (Liptov) eu1 (Bratislava) eu2 (Liptov) Alert?
Alles OK UP UP UP Nee
BGP flap tussen Liptov en je hosting DOWN UP UP Nee (1 van 3)
HW-storing van de primary-machine DOWN UP DOWN Ja (2 van 3)
Echte storing van je server DOWN DOWN DOWN Ja

Hoe je je eigen workers uitrolt

Een worker is een eenvoudige service die controle-taken via HTTPS ontvangt, de test uitvoert en het resultaat teruggeeft. ePulz.io ondersteunt eigen workers via een WireGuard-tunnel, zodat ze op elke VPS zonder publiek IP kunnen draaien en met de hoofdserver via een versleutelde tunnel communiceren.

Het configureren van één worker duurt in de praktijk ongeveer 10 minuten (apt install wireguard, peer-config kopiëren, systemctl enable). Zo krijg je werkelijk onafhankelijke observatieposities die geografische diversiteit (verschillende steden) combineren met hardwareredundantie (verschillende machines in dezelfde stad).

Conclusie

Multiregio-monitoring is niet zomaar een marketingkreet. Het is een concreet engineeringpatroon (quorum, oftewel consensus) dat monitoring tilt van het niveau "ik zie wat één netwerkpositie ziet" naar "ik zie wat het internet ziet". Voor kritieke bedrijfsapplicaties is dat vandaag de standaard.

Elimineer false-positive alerts

Multiregio cross-check in de basisplannen (centraal beheerd). 7 dagen gratis.

Monitoring starten →

Gerelateerd

Delen: Link gekopieerd

Probeer ePulz.io gratis - 7 dagen zonder creditcard.

Account aanmaken