Späť na blog

Multi-region monitoring: ako eliminovať false-positive výpadky

· 6 min čítania

Falošné poplachy spôsobia, že tím prestane sledovať alerty. Multi-region cross-check označí výpadok až keď ho potvrdí viacero oddelených sond.

Multi-region monitoring: ako eliminovať false-positive výpadky

Prečo single-region monitoring klame

Klasický monitoring má jedinú pozorovaciu pozíciu (jeden server alebo cloud región). Keď táto sonda nedostane odpoveď, ohlási výpadok. Príčinou pritom môže byť čokoľvek z nasledujúceho:

  • 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 pohľadu reálnych používateľov môže byť web úplne v poriadku - len nedostupný pre jeden konkrétny monitorovací host.

Dôsledok: alert fatigue

Tím, ktorý dostáva 3 upozornenia na "výpadok" týždenne a z toho 2 sú falošné poplachy (false-positive), postupne prestane reagovať. Keď potom príde skutočný výpadok, reakcia mešká alebo si ho nikto nevšimne. Tento jav sa nazýva alert fatigue (únava z upozornení) a v devops literatúre je dobre zdokumentovaný.

Cieľom je čo najlepší pomer signálu k šumu (signal-to-noise ratio). Lepšie je dostať 1 upozornenie mesačne, ktoré je vždy reálne, ako 10 upozornení, z ktorých je 7 šum.

Multi-region pattern: consensus z N sond

Princíp:

  1. Máte 3 worker nody v 3 mestách (primary v Liptovskom Hrádku, eu2 v Liptovskom Mikuláši, eu1 v Bratislave). Default threshold = 2 z 3, čo dáva skutočný consensus (nie unanimous). Architektúra podporuje ľubovoľný počet nodov, pri rozšírení sa pridávajú do existujúceho consensus mechanizmu.
  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. Zlyhanie jednej sondy nespustí poplach - ak jedna sonda hlási "down", ale ostatné hlásia "up", systém zostáva v stave UP.

Ide o takzvaný consensus algorithm (algoritmus konsenzu), podobný ako pri Raft alebo Paxos - rozhodnutie padá väčšinou hlasov.

Praktické nastavenie

V ePulz.io 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 - zdieľaný tajný kľúč (shared secret) medzi hlavným serverom a workermi na overenie

Pri každej kontrole hlavný server paralelne osloví všetkých workerov cez HTTP API. Worker vykoná lokálny HTTP, TCP alebo ping test a vráti výsledok. Hlavný server vyhodnotí konsenzus a upozornenie zaeskaluje až vtedy, keď sa prekročí prahová hodnota (threshold).

Trade-offs

Plusy:

  • Drasticky menej falošných poplachov
  • Geografická vizualizácia - vidíte, z ktorých regiónov web nefunguje
  • Detekcia regionálnych výpadkov (problém s Cloudflare PoP, chybné smerovanie u ISP)

Mínusy:

  • Mierne dlhšia latencia medzi reálnym výpadkom a upozornením (čaká sa na konsenzus z viacerých zdrojov)
  • Vyššie nároky na infraštruktúru a vyšší cenový plán
  • Dostupnosť workerov - ak je polovica workerov sama nedostupná, prahová hodnota nemusí byť dosiahnuteľná (riešením je dynamický threshold = M z aktuálne živých sond)

Príklad consensus výpočtu

Konfigurácia 3 reálne nasadených worker nodov: primary v Liptovskom Hrádku (SK), eu2 v Liptovskom Mikuláši (SK), eu1 v Bratislave (SK), threshold = 2.

Scenár primary (Liptov) eu1 (Bratislava) eu2 (Liptov) Alert?
Všetko OK UP UP UP Nie
BGP flap medzi Liptovom a vaším hostingom DOWN UP UP Nie (1 z 3)
HW zlyhanie primary stroja DOWN UP DOWN Áno (2 z 3)
Reálny výpadok vášho servera DOWN DOWN DOWN Áno

Ako nasadiť vlastných workerov

Worker je jednoduchá služba, ktorá prijíma kontrolné úlohy cez HTTPS, vykoná test a vráti výsledok. ePulz.io podporuje vlastných workerov cez WireGuard tunel, takže môžu bežať na ľubovoľnej VPS bez verejnej IP a s hlavným serverom komunikovať cez šifrovaný tunel.

Konfigurácia jedného workera trvá v praxi približne 10 minút (apt install wireguard, skopírovanie peer configu, systemctl enable). Získate tak naozaj nezávislé pozorovacie pozície, ktoré kombinujú geografickú diverzitu (rôzne mestá) s hardvérovou redundanciou (rôzne stroje v tom istom meste).

Záver

Multi-region monitoring nie je len marketingová floskula. Je to konkrétny inžiniersky vzor (kvórum, resp. konsenzus), ktorý posúva monitoring z roviny "vidím to, čo vidí jedna sieťová pozícia" do roviny "vidím to, čo vidí internet". Pre kritické biznisové aplikácie je to dnes štandard.

Eliminujte false-positive alerty

Multi-region cross-check v základných plánoch (centrálne spravované). 7 dní zadarmo.

Spustiť monitoring →

Súvisiace

Zdieľať: Odkaz skopírovaný

Vyskúšajte ePulz.io zadarmo - na 7 dní bez potreby kreditnej karty.

Vytvoriť účet