Multi-region overenie výpadkov
Keď monitoring beží len z jedného miesta, môže vás o tretej ráno zobudiť falošný poplach, lebo náš internetový poskytovateľ mal krátku poruchu smerovania. Overovanie z viacerých regiónov (multi-region) toto rieši: výpadok sa potvrdí len vtedy, keď ho hlási hlavný server aj aspoň jeden záložný v inom regióne alebo u iného internetového poskytovateľa.
Ako to funguje
- Hlavná kontrola (z nášho centrálneho servera) povie DOWN (nedostupné).
- Pred odoslaním upozornenia systém zavolá záložný worker v inom regióne.
- Worker urobí vlastný test a zvyčajne do niekoľkých sekúnd vráti UP alebo DOWN (závisí od timeoutu monitora).
- Ak aj záložný potvrdí DOWN, monitor sa označí ako nedostupný a posielajú sa upozornenia.
- Ak hlavný server hlásil DOWN, ale záložný UP, bol to falošný poplach (anglicky flake) - žiadne upozornenie sa neposiela.
Kedy sa konsenzus spustí
Overenie z viacerých regiónov sa nevolá pri každej kontrole - len v presne vymedzených prípadoch, aby nezdržiavalo bežné meranie:
- Hlavný server (primary) najprv urobí svoju kontrolu vrátane interných opakovaní (2 pokusy s krátkou pauzou).
- Konsenzus sa spustí iba vtedy, keď primary aj po opakovaní hlási DOWN. Ak je všetko v poriadku, záložné regióny sa vôbec nevolajú.
- Vzťahuje sa len na monitory typu http (bez viacstupňových krokov), tcp a ping. Ostatné typy (ssl, dns, doména, vizuál, heartbeat) ho nepoužívajú.
Ako sa rozhoduje o výpadku
Po tom, čo primary hlási DOWN, systém požiada o nezávislú kontrolu dostupné záložné workery v iných regiónoch. Z výsledkov spočíta, koľko miest potvrdilo výpadok:
- Monitor sa označí ako nedostupný až vtedy, keď počet hlásení DOWN dosiahne nastavený prah (predvolene 2 regióny vrátane hlavného).
- Ak prah nie je dosiahnutý (napríklad primary hlásil DOWN, ale záložný UP), ide o falošný poplach - monitor zostane v stave UP a žiadne upozornenie sa nepošle. Ako odozva sa použije priemer z regiónov, ktoré odpovedali v poriadku.
- Záložný worker, ktorý práve neodpovedá, sa ticho preskočí a do hlasovania sa nezapočíta.
Kto a ako to zapína
Overovanie z viacerých regiónov je voliteľná funkcia na úrovni celej platformy, ktorú spravuje administrátor ePulz.io. Regióny nie sú napevno dané - administrátor pridáva záložné workery podľa potreby (napríklad hlavný server plus jeden či dva cloudové uzly v iných krajinách) a nastaví, koľko z nich musí výpadok potvrdiť.
Ako sa to prejaví v rozhraní
V detaile monitora pri výpadku, ktorý prešiel konsenzom, vidíte výsledok overenia z jednotlivých miest, napríklad:
consensus: primary:down, eu1:down
result: DOWN (2 of 2 confirmed)
Na verejnej status stránke návštevníci žiaden technický detail nevidia - dostanú len overený, dôveryhodný stav služby bez falošných poplachov.
Praktické dôsledky
- Menej falošných upozornení - krátku poruchu na trase k jednému poskytovateľovi odfiltruje overenie z iného regiónu.
- Mierne dlhší čas detekcie - pri potvrdzovaní výpadku pribudne niekoľko sekúnd navyše oproti meraniu len z jedného miesta.
- Spoľahlivejšia história - do incidentov a štatistík dostupnosti sa zapíšu len reálne výpadky, nie lokálne sieťové výkyvy.