← Späť na blog
2024-10-04 · 6 min

Ako eliminovať false-positive výpadky v monitoringu

V skratke: Najrýchlejšia cesta k tomu, aby si váš tím prestal všímať uptime alerty, je posielať false-positive. Multi-region cross-check znižuje šum tým, že označí výpadok až keď ho potvrdí viacero geograficky oddelených sond - nie jedna sieť so zlým peering-om.

Prečo single-region monitoring klame

Klasický monitoring má jednu pozorovaciu pozíciu (jeden server alebo cloud región). Keď táto sonda nedostane odpoveď, oznámi výpadok. Lenže príčinou môže byť:

  • Problém v sieti samotnej sondy (route flap, peering issue ich providera)
  • Krátkodobý DNS glitch na strane sondy
  • Geograficky obmedzený výpadok (CDN edge v jednej krajine padol)
  • Rate limiting alebo IP block na strane vašej infraštruktúry

Z perspektívy reálnych používateľov môže byť web úplne v poriadku - len nedostupný pre konkrétny monitoring host.

Consequence: alert fatigue

Tím, ktorý dostáva 3 alerty týždenne na "výpadok", z ktorých 2 sú false-positive, postupne prestane reagovať. Keď príde reálny výpadok, reakcia je oneskorená alebo ho úplne prehliadnu. Toto je alert fatigue - psychologicky overený jav.

Cieľom je signal-to-noise ratio. Lepšie 1 alert mesačne a vždy reálny, ako 10 alertov, z ktorých 7 sú šum.

Multi-region pattern: consensus z N sond

Princíp:

  1. Máte N geograficky distribuovaných sond (napr. EU-Central, US-East, Asia-Pacific).
  2. Pri každom intervale všetky sondy paralelne otestujú endpoint.
  3. Výsledok zlúčite: výpadok = potvrdený, ak ho hlási M z N sond (typicky M = 2 alebo viac).
  4. Single-region zlyhanie sa nezruší - aj keď jedna sonda hovorí "down", ostatné hovoria "up", systém zostáva v stave UP.

Toto sa nazýva consensus algorithm, podobne ako pri Raft alebo Paxos - rozhodnutie sa robí majoritou.

Praktické nastavenie

V ePulzio admin paneli sa multi-region zapne jedným prepínačom a nakonfiguruje sa cez:

  • Aktívne regióny - zoznam workerov, typicky 3-5
  • Consensus threshold - koľko regiónov musí povedať DOWN (default: 2)
  • Worker token - shared secret medzi main serverom a worker-mi pre auth

Pri každom checku main server paralelne volá všetkých workerov cez HTTP API. Worker vykoná lokálny HTTP/SSL/TCP/DNS test a vráti výsledok. Main počíta consensus a iba pri prekonaní threshold zaeskaluje alert.

Trade-offs

Plusy:

  • Drasticky menej false-positive alertov
  • Geografická vizualizácia - vidíte z ktorých regiónov web nefunguje
  • Detekcia regionálnych výpadkov (Cloudflare PoP problém, ISP route issue)

Mínusy:

  • Mierne dlhšia latencia od reálneho výpadku po alert (čaká sa na consensus z viacerých zdrojov)
  • Vyššie nároky na infraštruktúru / cenu plánu
  • Worker disponibilita - ak je polovica workerov sama dolu, threshold nemusí byť dosiahnuteľný (riešenie: dynamic threshold = M z aktuálne živých sond)

Príklad consensus výpočtu

Konfigurácia: 4 sondy (Frankfurt, Amsterdam, Virginia, Singapore), threshold = 2.

ScenárFRAAMSIADSINAlert?
Všetko OKUPUPUPUPNie
Singapore má route problémUPUPUPDOWNNie (iba 1)
EU region downDOWNDOWNUPUPÁno (2≥2)
Globálny výpadokDOWNDOWNDOWNDOWNÁno

Ako nasadiť vlastných workerov

Worker je jednoduchá služba (HTTP POST endpoint /check), ktorá vykoná test a vráti výsledok. ePulzio podporuje vlastných workerov cez WireGuard tunel - takže workeri môžu bežať na akejkoľvek VPS bez verejnej IP a komunikovať s main serverom cez šifrovaný tunel.

Praktická konfigurácia trvá ~10 minút na worker (apt install wireguard, kopírovanie peer configu, systemctl enable). Týmto získate naozaj nezávislé pozorovacie pozície - nie všetkých vo Frankfurt datacentre.

Záver

Multi-region monitoring nie je marketing buzzword. Je to konkrétny inžiniersky vzor (quorum / consensus), ktorý posúva monitoring zo "vidím, čo vidí jedna sieťová pozícia" na "vidím, čo vidí internet". Pre business critical aplikácie je to dnes štandard.

Eliminujte false-positive alerty

Multi-region cross-check v základných plánoch (nie iba Enterprise). 7 dní zdarma.

Spustiť monitoring →