Multi-region ověření výpadků
Když monitoring běží jen z jednoho místa, může vás ve tři ráno vzbudit falešný poplach, protože náš poskytovatel internetu měl krátký výpadek směrování. Ověřování z více regionů (multi-region) to řeší: výpadek se potvrdí jen tehdy, když ho hlásí hlavní server i alespoň jedna záloha v jiném regionu nebo u jiného poskytovatele internetu.
Jak to funguje
- Hlavní kontrola (z našeho centrálního serveru) ohlásí DOWN (nedostupné).
- Před odesláním upozornění systém zavolá záložní worker v jiném regionu.
- Worker provede vlastní test a obvykle do několika sekund vrátí UP nebo DOWN (závisí na timeoutu monitoru).
- Pokud i záloha potvrdí DOWN, monitor se označí jako nedostupný a odesílají se upozornění.
- Pokud hlavní server hlásil DOWN, ale záloha UP, šlo o falešný poplach (anglicky flake) - žádné upozornění se neodešle.
Kdy se konsenzus spustí
Ověření z více regionů se nevolá při každé kontrole - jen v přesně vymezených případech, aby nezdržovalo běžné měření:
- Hlavní server (primary) nejprve provede svou kontrolu včetně interních opakování (2 pokusy s krátkou pauzou).
- Konsenzus se spustí jen tehdy, když primary i po opakování hlásí DOWN. Pokud je vše v pořádku, záložní regiony se vůbec nevolají.
- Vztahuje se jen na monitory typu http (bez vícekrokových toků), tcp a ping. Ostatní typy (ssl, dns, doména, vizuál, heartbeat) ho nepoužívají.
Jak se rozhoduje o výpadku
Poté co primary hlásí DOWN, systém požádá o nezávislou kontrolu dostupné záložní workery v jiných regionech. Z výsledků spočítá, kolik míst výpadek potvrdilo:
- Monitor se označí jako nedostupný až tehdy, když počet hlášení DOWN dosáhne nastaveného prahu (výchozí 2 regiony včetně hlavního).
- Pokud práh není dosažen (například primary hlásil DOWN, ale záloha UP), jde o falešný poplach - monitor zůstane ve stavu UP a žádné upozornění se neodešle. Jako odezva se použije průměr z regionů, které odpověděly v pořádku.
- Záložní worker, který právě neodpovídá, se tiše přeskočí a do hlasování se nezapočítá.
Kdo a jak to zapíná
Ověřování z více regionů je volitelná funkce na úrovni celé platformy, kterou spravuje administrátor ePulz.io. Regiony nejsou pevně dané - administrátor přidává záložní workery podle potřeby (například hlavní server plus jeden či dva cloudové uzly v jiných zemích) a nastaví, kolik z nich musí výpadek potvrdit.
Jak se to projeví v rozhraní
V detailu monitoru u výpadku, který prošel konsenzem, vidíte výsledek ověření z jednotlivých míst, například:
consensus: primary:down, eu1:down
result: DOWN (2 of 2 confirmed)
Na veřejné status stránce návštěvníci žádný technický detail nevidí - dostanou jen ověřený, důvěryhodný stav služby bez falešných poplachů.
Praktické důsledky
- Méně falešných upozornění - krátký výpadek na trase k jednomu poskytovateli odfiltruje ověření z jiného regionu.
- Mírně delší doba detekce - při potvrzování výpadku přibude několik sekund navíc oproti měření jen z jednoho místa.
- Spolehlivější historie - do incidentů a statistik dostupnosti se zapíšou jen reálné výpadky, ne lokální síťové výkyvy.