Strategie ponownego sprawdzania: potwierdzanie statusu przed alarmem
Ponowne sprawdzenie to druga opinia, o którą system monitoringu prosi, zanim uwierzy w zmianę statusu: powtarza nieudane albo świeżo udane sprawdzenie z innych lokalizacji, tak żeby jeden słaby punkt obserwacji nie mógł samodzielnie otworzyć incydentu. HostTracker sprawdza witrynę według harmonogramu ustawionego w konfiguracji monitoringu, a nowo wykryty status UP albo DOWN jest traktowany jako kandydat, dopóki nie potwierdzi go ponowne sprawdzenie.
Dlaczego jedno nieudane sprawdzenie to nie awaria
Wynik sprawdzenia opisuje jedno żądanie, z jednego miejsca, w jednej chwili. Każdy z tych trzech elementów może dawać mylny obraz całej witryny. Sieć między pojedynczym punktem kontrolnym a Twoim serwerem może być zerwana, podczas gdy każda inna trasa działa bez zarzutu. Rekord DNS może wciąż się propagować w jednym regionie, a w sąsiednim być już poprawny. Środowisko samego punktu kontrolnego może być niezgodne z czymś, co robi Twój serwer.
Gdyby system monitoringu reagował na każdy pierwszy wynik, wzywałby Cię do działania we wszystkich tych przypadkach, a przy okazji zafałszowałby statystyki dostępności, bo zapisana awaria nigdy nie wystąpiła dla Twoich użytkowników. Dlatego wykryty status, UP albo DOWN, jest trzymany jako niepotwierdzony, dopóki nie zostanie zweryfikowany, i dopiero wtedy dzieje się cokolwiek dalej: wychodzi powiadomienie, otwiera się epizod, przesuwa się liczba dostępności.
Co wyłapuje ponowne sprawdzenie
Ponowne sprawdzanie z innych lokalizacji odróżnia prawdziwą, ogólnowitrynową zmianę od lokalnego artefaktu. Najczęściej odfiltrowuje ono następujące przypadki:
- Krótką niedostępność podczas nowego wdrożenia, gdy witryna wraca do działania, zanim uruchomi się drugie sprawdzenie
- Niedostępność DNS w trakcie propagacji zmiany konfiguracji, gdy jedne resolwery już odpowiadają poprawnie, a inne jeszcze nie
- Lokalne blacklistowanie witryny albo adresu punktu kontrolnego, widoczne tylko z jednej sieci
- Agenta sprawdzającego, którego środowisko jest niezgodne z technologiami używanymi przez serwer
- Problemy z trasowaniem albo peeringiem na drodze między pojedynczym punktem kontrolnym a serwerem
Sprawdzenia potwierdzające są wybierane z regionu geograficznego skonfigurowanego dla zadania monitoringu, więc druga opinia pochodzi z tej samej części świata, w której są Twoi użytkownicy, a nie z przypadkowego wolnego punktu.
Trzy strategie ponownego sprawdzania
HostTracker obsługuje trzy sposoby decydowania, czy nowy status jest prawdziwy.
1. Głosowanie większością. Gdy sprawdzenie zwraca nowy status, system przydziela do 7 nowych lokalizacji z regionu geograficznego zadania monitoringu, aby go potwierdzić. Zwrócone wyniki są grupowane według statusu, a wygrywa liczniejsza grupa. Załóżmy, że sprawdzenie z Miami zgłasza DOWN, a ponowne sprawdzenia z Nowego Jorku, Bostonu i Chicago zwracają UP, DOWN, UP. Status DOWN jest niepotwierdzony i zostaje odrzucony, a Miami dostaje karę: nie będzie używane do sprawdzeń tej witryny. Odwróćmy przykład: Miami zgłasza UP po DOWN, a Nowy Jork i Chicago potwierdzają UP, wówczas przejście DOWN-UP zostaje zarejestrowane.
2. Ustalona liczba lokalizacji potwierdzających DOWN. Tu konfigurujesz minimalną liczbę ponownych sprawdzeń potrzebną do potwierdzenia DOWN, podczas gdy UP nadal wymaga głosowania większością. Przy tej liczbie ustawionej na 1, w tym samym przykładzie, sam Boston zgłaszający DOWN wystarczy do potwierdzenia DOWN Miami, mimo że Nowy Jork i Chicago się nie zgadzały.
3. Bez ponownego sprawdzania. Nowy status jest potwierdzany od razu, gdy tylko zostanie wykryty. Zakłada to pełne zaufanie do serwera i do środowisk lokalizacji monitorujących. Pasuje do kilku konkretnych potrzeb monitoringu i powinno być wybierane ostrożnie, bo każdy przejściowy problem sieciowy pojedynczego punktu kontrolnego staje się fałszywym alarmem i wyrwą w liczbie dostępności.
Wybór strategii
- Zacznij od głosowania większością. To zrównoważona wartość domyślna: kosztuje kilka sekund dodatkowego czasu na potwierdzenie i usuwa niemal cały szum pojedynczego punktu kontrolnego.
- Obniż próg potwierdzenia DOWN, gdy szybki alarm jest wart więcej niż spokojna skrzynka odbiorcza. Regionalna awaria widoczna tylko z dwóch lokalizacji nadal do Ciebie dotrze, kosztem większej liczby fałszywych alarmów.
- Zostaw głosowanie większością dla przejść UP, niezależnie od tego, jak ustawisz DOWN. Przedwczesny UP zamyka incydent, który wciąż trwa, i ukrywa końcówkę awarii w statystykach.
- Rezerwuj brak ponownego sprawdzania dla celów, które kontrolujesz od początku do końca, gdzie wolisz zbadać fałszywy alarm, niż czekać na potwierdzenie.
Bez względu na wybraną strategię, możesz sam odtworzyć rozbieżność z dwóch różnych sieci i porównać, co widzi każda z nich:
curl -sS -o /dev/null -w '%{http_code} %{time_total}s\n' https://example.com/
503 z jednej sieci i 200 z drugiej to dokładnie ten wzorzec, który ponowne sprawdzenie ma za zadanie rozstrzygnąć. Jeśli status błędu to 5xx, a nie przekroczenie czasu, serwer jednak odpowiedział, co jest innym problemem: zobacz 503 Service Unavailable.
Co daje potwierdzenie
Ponowne sprawdzenia pozwalają systemowi monitoringu uruchamiać częste sprawdzenia z wielu miejsc, nie zamieniając tej czułości w szum. HostTracker sprawdza z ponad 300 punktów kontrolnych w 158 miastach, więc zawsze są dostępne niezależne lokalizacje na drugą opinię, a alarm e-mailem, SMS-em, połączeniem głosowym, przez Slack, Telegram i inne kanały wyzwala tylko potwierdzone przejście. Powyższe strategie nie wyczerpują wszystkich możliwości, a wsparcie techniczne może rozważyć nową w przyszłej wersji, jeśli Twój monitoring ma potrzebę, której żadna z nich nie pokrywa. Zobacz monitoring dostępności z wielu lokalizacji, aby dowiedzieć się, jak wykorzystywana jest sieć punktów kontrolnych, oraz resztę sekcji pojęć monitoringu, aby poznać stojące za tym terminy.