Kiedy po raz pierwszy jeden z naszych użytkowników dodawał monitor, formularz zapytał go o typ monitora i pokazał cztery opcje do wyboru. Użytkownik wybrał pierwszą opcję z brzegu, bo najbardziej kojarzyła mu się ze stroną internetową - i to był akurat dobry wybór - innych typów monitorów nie używał i przez kilka kolejnych miesięcy nie miał pojęcia, po co są pozostałe i do czego służą.

Potem okazało się, że dwa z nich rozwiązują problemy, o których w ogóle nie wiedział, że je ma.

Dlatego po kolei i bez technicznego żargonu: co właściwie sprawdza każdy typ monitora, czego nie zobaczą pozostałe i kiedy w ogóle warto go włączać.

Najpierw jedna rzecz, która porządkuje cały obrazek

Typy monitorów to cztery różne rzeczy, które można sprawdzać, a nie cztery poziomy dokładności tego samego. To nie jest tak, że jeden jest lepszy od drugiego.

  • Status HTTP(s) - sprawdza Twoją stronę internetową.
  • DNS - sprawdza, czy Twoja domena i poczta wskazują to, co powinny.
  • Port (TCP) - sprawdza urządzenia i usługi, które nie są stroną: serwer, NAS, pocztę.
  • API (JSON) - sprawdza, czy odpowiedź techniczna Twojego serwisu ma nadal tę samą strukturę.

Jest jeszcze jedna rzecz, która naszemu użytkownikowi przez jakiś czas sprawiała problem: monitoring certyfikatu SSL, audyt kondycji i monitoring treści to nie są osobne typy monitorów, tylko dodatki, które włącza się w monitorze HTTP. Dlatego nie szukaj ich na liście typów - są niżej w formularzu, w sekcji „czego dodatkowo pilnujemy".

Ostatnia uwaga na start: typu monitora nie da się zmienić po zapisaniu. Nie jest to problem, bo zawsze możesz dodać kolejny, ale warto o tym wiedzieć, zanim klikniesz „Dodaj".

1. Status HTTP(s), czyli ten, od którego każdy zaczyna

To jest monitor dla strony internetowej i dla zdecydowanej większości osób będzie jedynym, jakiego naprawdę potrzebują na start.

Działa tak, że co ustalony czas pobiera Twoją stronę dokładnie tak, jak zrobiłaby to przeglądarka odwiedzającego, i ocenia, co dostał: czy serwer w ogóle odpowiedział, czy odpowiedź jest poprawna, ile to trwało i czy certyfikat jest w porządku. Podajesz mu tylko adres, ten sam, który wpisujesz w przeglądarce.

Do tego monitora możesz dołożyć trzy rzeczy i to jest właśnie miejsce, w którym robi się z niego coś więcej niż sprawdzanie „czy się otwiera":

  • Monitoring certyfikatu SSL - pilnuje kłódki przy adresie strony i ostrzega 30, 14 i 7 dni przed jej wygaśnięciem. Warto włączyć zawsze, kosztuje jedno kliknięcie.
  • Monitoring kondycji strony - codzienny audyt, który porównuje dzisiejszy stan strony z wczorajszym i mówi Ci, jeśli coś się pogorszyło. To jest ta funkcja, która wyłapuje, że po aktualizacji strona przestała być widoczna w Google albo zrobiła się dwa razy wolniejsza.
  • Monitoring treści - sprawdza, czy na stronie jest tekst, który być powinien, albo czy nie ma tekstu, którego być nie powinno.

To ostatnie brzmi dziwnie, dopóki nie zrozumie się, po co jest. Serwer potrafi grzecznie odpowiedzieć „wszystko w porządku" i wyświetlić stronę z komunikatem błędu albo pustą treścią. Dla zwykłego sprawdzenia dostępności strona działa. Dla odwiedzającego - w ogóle.

Kiedy go NIE używać: do rzeczy, które nie są stroną. Panel logowania do NAS-a albo serwer pocztowy da się sprawdzać przez HTTP, ale zwykle skończy się to fałszywymi alarmami. Do tego jest monitor portu.

Przykład użycia. Właścicielka niewielkiego sklepu internetowego ma trzy monitory tego typu: stronę główną, kategorię z produktami i koszyk. Koszyk jest osobno nie bez powodu - strona główna zwykle ładuje się z pamięci podręcznej i działa nawet wtedy, gdy baza danych ma problem, a koszyk uderza do bazy przy każdym wejściu. Do koszyka ma włączony monitoring treści z frazą „Dodaj do koszyka". Kiedy po aktualizacji wtyczki przycisk zniknął, a strona nadal ładowała się normalnie, dostała alert w ciągu pięciu minut. Bez tego dowiedziałaby się z pytania klienta, dlaczego nie da się nic kupić - w najlepszym razie następnego dnia.

Inny przykład. Właściciel strony zlecił jej pozycjonowanie w internecie na wybrane frazy. Frazy, na które pozycjonowana była strona zostały dodane w treści na prośbę agencji SEO. Agencja podpięła pod tą stronę monitoring żeby mieć pewność, że cztery istotne dla niej frazy faktycznie znajdują się pod określonym adresem URL. Po dwóch tygodniach inna osoba zajmująca się stroną, po powrocie z urlopu, zredagowała jej treść usuwając przy okazji dwie z czterech fraz. Agencja SEO, która dostała powiadomienie o brakujących frazach, była w stanie szybko zareagować.

2. DNS, czyli pilnowanie, żeby domena wskazywała to, co ma wskazywać

Dla wspomnianego użytkownika to było odkrycie numer jeden. Przez lata nie wiedział, że coś takiego w ogóle da się monitorować.

Domena to nie tylko adres strony. Do domeny przypięte są też informacje o tym, gdzie ma trafiać Twoja poczta, kto może wystawić certyfikat i czy Twoje maile mają lądować w skrzynce, czy w spamie. Te informacje nazywają się wpisami DNS i ustawia się je zwykle raz, po czym o nich zapomina.

Problem polega na tym, że one potrafią zniknąć albo zostać zmienione - przez hosting, rejestratora domeny, poprzednią firmę od strony albo przez Ciebie samego przy okazji porządków. I co najgorsze, nic tego nie widać. Strona działa, panel działa, a maile po prostu przestają przychodzić.

Monitor DNS pyta serwery o wybrany wpis Twojej domeny i porównuje odpowiedź z tym, czego oczekujesz. W formularzu wszystko jest opisane po ludzku, więc nie musisz wiedzieć, co znaczą skróty:

  • Adres strony (A) - serwer, na który trafiają odwiedzający.
  • Serwer poczty (MX) - gdzie lądują maile wysyłane na Twój adres.
  • Wpis tekstowy (TXT) - m.in. ustawienie, które decyduje, czy Twoje maile nie lecą do spamu.
  • Serwery nazw (NS) - kto w ogóle zarządza wpisami Twojej domeny.

Wybierasz też sposób porównania. Do codziennego pilnowania wystarczy „wartość musi być obecna". Opcja „dokładnie te wartości" jest ostrzejsza: zaalarmuje również wtedy, gdy ktoś dopisze coś do Twojej domeny, a to bywa pierwszy sygnał, że ktoś przy niej majstruje.

Jeden praktyczny drobiazg: wpisy DNS są zapamiętywane przez serwery na kilkadziesiąt minut, więc sprawdzanie ich co minutę nie ma sensu. Aplikacja zresztą sama o tym uprzedza. Raz na kilkanaście minut albo raz na godzinę jest w zupełności wystarczające.

Kiedy go NIE używać: jeśli Twoja domena i poczta stoją w jednym miejscu, nikt poza Tobą nie ma dostępu do panelu domeny i nie planujesz żadnej przeprowadzki, ryzyko jest niewielkie. Ale monitor na serwer poczty kosztuje pięć minut ustawienia, więc i tak warto go włączyć.

Przykład użycia. Firma usługowa przeniosła pocztę na inny serwer. Osoba, która to robiła, poprawiła wpis dla poczty, ale przy okazji skasowała wpis tekstowy odpowiadający za weryfikację nadawcy. Przez dwa tygodnie oferty wysyłane do klientów lądowały w spamie, a w firmie panowało przekonanie, że „klienci coś ostatnio nie odpisują". Monitor DNS na ten wpis dałby znać tego samego dnia. Po tej historii mają trzy monitory: adres strony, serwer poczty i wpis tekstowy, wszystkie sprawdzane co pół godziny.

3. Port (TCP), czyli sprawdzanie rzeczy, które nie są stroną

Ten typ wygląda najbardziej technicznie, a jest chyba najprostszy do zrozumienia. Podajesz adres urządzenia i numer portu, a monitor po prostu próbuje się z nim połączyć i mierzy, ile to trwało. Udało się połączyć - działa. Nie udało się - alert.

Port to numer „drzwi", pod którym dana usługa nasłuchuje. Nie musisz wiedzieć, jaki numer jest właściwy - podpowie Ci go dokumentacja urządzenia albo osoba, która je konfigurowała.

Do czego to się przydaje zwykłemu użytkownikowi:

  • NAS albo dysk sieciowy w firmie, na którym trzymacie kopie zapasowe i dokumenty,
  • serwer pocztowy, jeśli macie własny,
  • komputer albo serwer w biurze, do którego łączycie się zdalnie,
  • kasa, drukarka etykiet, rejestrator monitoringu i inne urządzenia, które muszą być dostępne w sieci.

Ten monitor ma jedną wyraźną przewagę nad sprawdzaniem panelu takiego urządzenia przez HTTP: interfejsy webowe NAS-ów i podobnych sprzętów potrafią budzić się wolno i generować fałszywe alarmy, mimo że urządzenie cały czas działa. Połączenie na port odpowiada natychmiast, więc alerty są prawdziwe.

Warto wiedzieć, czego on nie sprawdza: nie ocenia tego, co usługa zwraca. Wie tylko, że coś odpowiedziało pod tym adresem i portem. Do sprawdzania zawartości strony jest monitor HTTP.

Kiedy go NIE używać: do zwykłej strony internetowej. Powie Ci, że serwer żyje, ale nie powie, że strona pokazuje błąd.

Przykład użycia. Mała pracownia projektowa trzyma wszystkie pliki na NAS-ie w biurze i codziennie w nocy robi na niego kopie z komputerów. Kiedyś NAS wyłączył się po zaniku prądu i nikt tego nie zauważył przez jedenaście dni, bo w ciągu dnia i tak wszyscy pracowali lokalnie. Kopie po prostu nie powstawały. Teraz mają monitor portu sprawdzający NAS co pięć minut i alert na telefon. Nie chodzi już o samo urządzenie, tylko o pewność, że kopie zapasowe mają gdzie trafiać.

4. API (JSON), czyli ten techniczny

Jeśli nie wiesz, czy go potrzebujesz, to prawie na pewno go nie potrzebujesz - i to jest całkowicie w porządku. Ten typ jest dla osób, które mają w swoim serwisie coś, co technicznie nazywa się API.

Po ludzku: niektóre strony i aplikacje pobierają dane z osobnego adresu, który zwraca nie stronę do oglądania, tylko surowe dane do przetworzenia. Cennik, dostępność terminów, stan magazynu, lista ofert. Strona sama w sobie działa, ale jeśli ten adres przestanie zwracać dane w oczekiwanym kształcie, część serwisu przestaje działać.

Monitor API zapamiętuje strukturę odpowiedzi, czyli jakie informacje w niej są, i potem pilnuje, czy nadal tam są. Celowo nie porównuje wartości: zmiana ceny albo tytułu to normalna rzecz, a zniknięcie całego pola to awaria. Konfiguracja jest przyjaźniejsza, niż się wydaje - podajesz adres, klikasz „Pobierz i przeanalizuj", a aplikacja sama pokazuje listę pól i pyta, których pilnować.

Kiedy go NIE używać: do zwykłej strony firmowej, sklepu na gotowym systemie czy bloga. Nie masz tam czego pilnować tym monitorem, a monitor HTTP z monitoringiem treści zrobi robotę lepiej.

Przykład użycia. Serwis z rezerwacjami pobiera wolne terminy z zewnętrznego systemu. Po aktualizacji tamtego systemu jedno z pól zmieniło nazwę. Formularz rezerwacji nadal się wyświetlał, tylko kalendarz był pusty, więc dla wszystkich - łącznie z monitoringiem dostępności - strona wyglądała normalnie. Zgłosił to dopiero klient po dwóch dniach, pytając, czy są nieczynni. Monitor API wykrywa dokładnie taką sytuację, bo widzi, że w odpowiedzi zniknęło pole, które wcześniej tam było.

Bonus: monitor, który ma pilnować, żeby coś NIE działało

Przy każdym monitorze jest pole „Oczekiwany stan" i domyślnie ustawione jest „Ma być dostępny". Druga opcja odwraca sens całego monitora: alert przychodzi wtedy, gdy adres zacznie odpowiadać.

Brzmi absurdalnie, dopóki nie pomyśli się o rzeczach, które mają być zamknięte: testowa wersja strony, panel administracyjny dostępny tylko z firmowego adresu, kamera w biurze. Jeśli takie miejsce nagle zacznie odpowiadać całemu światu, znaczy to, że zabezpieczenie przestało działać - i lepiej dowiedzieć się o tym od monitoringu niż od kogoś zupełnie innego.

Czyli od czego zacząć

Wracając do użytkownika z początku tego tekstu: dziś ma cztery monitory zamiast jednego i żaden z nich nie powstał dlatego, że tak wypadało. Każdy powstał po jakiejś sytuacji, o której wolałby wiedzieć wcześniej.

Kolejność, którą polecamy, wygląda tak:

  1. Monitor HTTP na stronę główną, z włączonym monitoringiem certyfikatu. To absolutna podstawa.
  2. Drugi monitor HTTP na to miejsce, na którym Ci realnie zależy - koszyk, formularz kontaktowy, strona z ofertą.
  3. Monitor DNS na pocztę, bo cicho znikająca poczta to jedna z najbardziej kosztownych awarii, jakie mogą Cię spotkać.
  4. Monitor portu, jeśli masz w firmie NAS-a albo inne urządzenie, na którym Ci zależy.
  5. Monitor API dopiero wtedy, gdy ktoś techniczny powie Ci, że w Waszym serwisie jest coś, co warto tak pilnować.

Cztery typy brzmią jak dużo wyboru, ale w praktyce sprowadza się to do jednego pytania: co dokładnie chcę sprawdzić - stronę, domenę, urządzenie czy dane. Reszta wychodzi już sama.