Pomoc i poradnikiZaawansowane monitory › Multi-region weryfikacja awarii

Multi-region weryfikacja awarii

4 min czytania · Zaawansowane monitory

Gdy monitoring działa tylko z jednego miejsca, krótka usterka routingu u naszego dostawcy internetu może obudzić Cię o trzeciej nad ranem fałszywym alarmem. Weryfikacja z wielu regionów (multi-region) rozwiązuje ten problem: awaria zostaje potwierdzona tylko wtedy, gdy zgłasza ją serwer główny oraz co najmniej jeden serwer zapasowy w innym regionie lub u innego dostawcy internetu.

Jak to działa

  1. Główna kontrola (z naszego centralnego serwera) zgłasza DOWN (niedostępny).
  2. Przed wysłaniem powiadomienia system wywołuje zapasowy worker w innym regionie.
  3. Worker wykonuje własny test i zwykle w ciągu kilku sekund zwraca UP lub DOWN (zależnie od limitu czasu monitora).
  4. Jeśli zapasowy również potwierdzi DOWN, monitor zostaje oznaczony jako niedostępny i wysyłane są powiadomienia.
  5. Jeśli serwer główny zgłosił DOWN, ale zapasowy UP, był to fałszywy alarm (po angielsku flake) - żadne powiadomienie nie jest wysyłane.

Kiedy uruchamia się konsensus

Weryfikacja z wielu regionów nie jest wywoływana przy każdej kontroli - tylko w ściśle określonych przypadkach, aby nie spowalniać zwykłego pomiaru:

  • Serwer główny (primary) najpierw wykonuje własną kontrolę, w tym wewnętrzne ponowienia (2 próby z krótką pauzą).
  • Konsensus uruchamia się tylko wtedy, gdy serwer główny również po ponowieniu zgłasza DOWN. Jeśli wszystko jest w porządku, regiony zapasowe nie są w ogóle wywoływane.
  • Dotyczy tylko monitorów typu http (bez wieloetapowych przepływów), tcp i ping. Pozostałe typy (ssl, dns, domena, wizualny, heartbeat) go nie używają.

Jak podejmowana jest decyzja o awarii

Po tym, jak serwer główny zgłosi DOWN, system prosi o niezależną kontrolę dostępne zapasowe workery w innych regionach. Na podstawie wyników liczy, ile miejsc potwierdziło awarię:

  • Monitor zostaje oznaczony jako niedostępny dopiero wtedy, gdy liczba zgłoszeń DOWN osiągnie ustawiony próg (domyślnie 2 regiony łącznie z głównym).
  • Jeśli próg nie zostanie osiągnięty (na przykład serwer główny zgłosił DOWN, ale zapasowy UP), jest to fałszywy alarm - monitor pozostaje w stanie UP i nie jest wysyłane żadne powiadomienie. Jako czas odpowiedzi używana jest średnia z regionów, które odpowiedziały poprawnie.
  • Zapasowy worker, który właśnie nie odpowiada, jest po cichu pomijany i nie jest liczony w głosowaniu.

Kto i jak to włącza

Weryfikacja z wielu regionów to opcjonalna funkcja na poziomie całej platformy, którą zarządza administrator ePulz.io. Regiony nie są ustalone na stałe - administrator dodaje zapasowe workery według potrzeb (na przykład serwer główny plus jeden lub dwa węzły chmurowe w innych krajach) i ustawia, ile z nich musi potwierdzić awarię.

Jak wygląda to w interfejsie

W szczegółach monitora przy awarii, która przeszła przez konsensus, widzisz wynik weryfikacji z poszczególnych miejsc, na przykład:

consensus: primary:down, eu1:down
result: DOWN (2 of 2 confirmed)

Na publicznej stronie statusu odwiedzający nie widzą żadnych szczegółów technicznych - otrzymują tylko zweryfikowany, wiarygodny status usługi bez fałszywych alarmów.

Publiczna strona statusu ePulz.io z paskami uptime i statusem usług
Na publicznej stronie statusu wyświetlany jest tylko zweryfikowany status - weryfikacja wieloregionowa filtruje fałszywe awarie za kulisami

Praktyczne konsekwencje

  • Mniej fałszywych powiadomień - krótka usterka na trasie do jednego dostawcy jest odfiltrowana przez weryfikację z innego regionu.
  • Nieco dłuższy czas wykrycia - przy potwierdzaniu awarii dochodzi kilka dodatkowych sekund w porównaniu z pomiarem tylko z jednego miejsca.
  • Bardziej wiarygodna historia - do incydentów i statystyk dostępności zapisywane są tylko rzeczywiste awarie, a nie lokalne wahania sieci.
Wskazówka: Weryfikacja wieloregionowa najbardziej opłaca się przy krytycznych usługach publicznych, gdzie zależy Ci na dokładności uptime i nie chcesz budzić zespołu fałszywymi alarmami. Przy wewnętrznych monitorach w sieci lokalnej lepiej rozwiąż to przez agenta LAN.
Czy ten poradnik był pomocny?