Czym jest monitoring serwera?
Monitoring serwera to ciągła praktyka sprawdzania jego dostępności, wydajności i wykorzystania zasobów, dzięki której problemy wychodzą na jaw, zanim zauważą je użytkownicy. Serwer to sprzęt uruchamiający oprogramowanie, a oba te elementy zawodzą w sposób, który nie daje żadnego zewnętrznego sygnału, dopóki strona nie przestanie odpowiadać.
Serwer WWW to podstawa każdego projektu internetowego: maszyna, na której żyją pliki, aplikacja i dane. Użytkownicy wysyłają do niego żądania i otrzymują odpowiedzi, więc serwer nieosiągalny oznacza projekt nieosiągalny. Pozostawiony bez kontroli serwer w końcu przestaje działać z jednego z wielu możliwych powodów, dlatego monitoring należy do zwykłej konserwacji, a nie do reagowania na incydenty.
Czym jest monitoring serwera
Monitoring serwera oznacza ciągłe sprawdzanie dostępności, wydajności i wykorzystania zasobów, żeby wyłapać problemy, zanim zauważą je użytkownicy, a nie znaleźć je później w logach. To część konserwacji, a nie opcjonalny dodatek. Monitorowanie sekwencji żądań i odpowiedzi serwera Apache mówi na przykład, czy samo oprogramowanie serwera działa poprawnie. Kompletna konfiguracja obejmuje też monitoring dostępności serwera, szybkość, dostępność oraz bazę danych stojącą za aplikacją.
Dobrze dobrana platforma obsługuje to wszystko, pozwala szybko reagować na bieżący problem i przechowuje historię, w której znajdziesz powolne problemy ujawniające się dopiero po tygodniach. Produktów do monitoringu jest wiele i różnią się tym, co potrafią zobaczyć, więc wybór ma znaczenie.
Co sprawdza monitoring serwera
Monitoring serwera dzieli się w przybliżeniu na dwie warstwy. Pierwsza to dostępność i wydajność odpowiedzi: czy serwer jest osiągalny, jak szybko odpowiada, czy usługa za danym portem działa. Druga to wydajność serwera w węższym sensie - zasoby sprzętowe i systemowe, które współdzielą wszystkie usługi na maszynie, czyli obciążenie CPU, zużycie RAM, przestrzeń dyskową i I/O oraz przepustowość sieci. Serwer może technicznie działać, a mimo to być o kilka minut od awarii, jeśli jeden z tych zasobów jest wysycony, dlatego liczą się obie warstwy razem, a nie sam uptime. Monitoring CPU, RAM i dysku HostTracker obejmuje warstwę zasobów obok kontroli dostępności.
Narzędzia do monitoringu serwera to oprogramowanie, które wykonuje te kontrole, różniące się tym, jakie metryki obejmują. Testują dostępność, stabilność, działanie oprogramowania i integralność sieci, a większość prezentuje wyniki w aplikacji lub na panelu WWW.
Większość z nich działa z zewnątrz, wysyłając żądania odpowiedniego typu dla danej metryki. Ping, najbardziej podstawowe narzędzie sprawdzające osiągalność, wysyła żądanie echo ICMP i czeka na pasującą odpowiedź echo.
Usługa monitoringu serwera to zestaw takich narzędzi działających razem nad wydajnością, dostępnością, stabilnością i resztą. Ponieważ kontrole są połączone, usługa daje głębszą diagnostykę niż pojedyncze narzędzie uruchamiane ręcznie, wykonuje je według harmonogramu, a lepsze usługi powiadamiają osobę odpowiedzialną za serwer, gdy kontrola się nie powiedzie.
Jakie typy serwerów można monitorować
Nie ma tu realnego ograniczenia co do typu serwera. Nie każda metryka jest dostępna na każdej maszynie, ale możesz sprawdzać wydajność serwera bazy danych, oprogramowania, SaaS czy mobilnego, i to samo dotyczy sposobu przydziału zasobów: współdzielony, wirtualny, dedykowany. Jeśli ma adres IP i odpowiada z sieci, możesz go monitorować.
Monitoring oparty na agencie a bezagentowy
Narzędzia do monitoringu dzielą się na dwie rodziny. Monitoring oparty na agencie instaluje na samym serwerze mały program, który odczytuje wewnętrzne metryki, takie jak CPU, RAM i wykorzystanie dysku na maszynie, i raportuje je na zewnątrz. Monitoring bezagentowy testuje serwer z zewnątrz, tak jak zrobiłby to prawdziwy odwiedzający czy klient - wysyła żądanie HTTP, ping, zapytanie do bazy danych albo połączenie na porcie i mierzy, co wraca, bez niczego do zainstalowania czy aktualizowania na serwerze.
Dostępność, czas odpowiedzi i kontrole funkcjonalne (czy strona działa, czy formularz logowania działa, czy baza danych odpowiada) są naturalnie bezagentowe, bo chodzi o to, żeby zobaczyć to, co widzi zewnętrzny użytkownik. HostTracker wykonuje te kontrole z sieci punktów kontrolnych, które łączą się z serwerem z zewnątrz, i dzięki temu wykrywa też problemy widoczne tylko z określonych regionów czy sieci. Agent siedzący na samym serwerze nigdy tego nie zobaczy.
Monitoring serwerów programowych
Serwer programowy to sprzęt uruchamiający konkretne oprogramowanie, które obsługuje inne serwery lub komputery w tej samej sieci. Typowymi przykładami są serwery hostingowe i pocztowe. Nie wymagają specjalnego traktowania, więc każda usługa obejmująca ogólny monitoring serwerów będzie raportować ich stan i metryki.
Monitoring serwerów SaaS
Serwer SaaS to serwer chmurowy zbudowany do jednego celu, dający dostęp do aplikacji z dowolnego miejsca w sieci. Jego monitorowanie jest niemal identyczne z monitorowaniem dowolnego serwera chmurowego, bez odrębnych procedur do nauczenia się, więc wszystko, co obsługuje serwery chmurowe, obsługuje też i ten przypadek.
Monitoring serwerów mobilnych
Serwery mobilne działają na smartfonach dzięki dedykowanemu oprogramowaniu, wykorzystując konwencjonalny serwer sprzętowy jako bramę, podczas gdy sam serwer żyje na urządzeniu. Zwykłe metody zewnętrzne tu nie działają. Monitorujesz je za pomocą wbudowanych wtyczek lub usług napisanych specjalnie dla serwerów mobilnych, a tych drugich jest niewiele.
Na co reagować alertem
Konfiguracja monitoringu jest tak użyteczna, jak alerty, które wyzwala, a reagowanie alertem na wszystko uczy wszystkich ignorować powiadomienia. Praktyczny punkt wyjścia do alertowania obejmuje:
- Serwer lub strona stają się nieosiągalne albo kontrola nie powiedzie się jednocześnie z wielu punktów kontrolnych
- Czas odpowiedzi przekracza próg istotny dla Twoich użytkowników, a nie tylko pełny timeout
- Wykorzystanie CPU, RAM lub dysku utrzymuje się powyżej ustalonego procentu dłużej niż kilka minut
- Nieoczekiwany spadek liczby udanych żądań albo skok liczby odpowiedzi błędnych
- Zbliżające się wygaśnięcie certyfikatu SSL lub domeny
Eskalacja liczy się tak samo jak sam próg. Pierwszy alert do dyżurnego kontaktu, eskalowany do reszty zespołu, jeśli nikt go nie potwierdzi, to właśnie to, co nie pozwala prawdziwemu incydentowi przejść niezauważonym. Zobacz pełny zestaw funkcji HostTracker, żeby zobaczyć, jak typy monitorów, punkty kontrolne i kanały alertów łączą się w taką konfigurację.
Jak zrobić monitoring serwera
Pierwszym krokiem jest wybór usługi obejmującej każdą kontrolę, jakiej potrzebujesz, bo produkty bardzo różnią się zakresem. HostTracker jest jednym z bardziej rozbudowanych, z 13 typami monitorów obejmującymi wydajność, sieć i dostępność.
Rozpoczęcie oznacza rejestrację i skonfigurowanie kontroli, których potrzebujesz - od kontroli wydajności i sieci po monitoring dostępności serwera. Stamtąd ustawiasz interwały kontroli, harmonogram powiadomień i resztę ustawień jakości usługi.
Najlepsza usługa monitoringu wydajności serwera
HostTracker monitoruje strony internetowe od 2004 roku i obserwuje obecnie ponad 500 000 stron. Zaczyna się od darmowego okresu próbnego, więc możesz przetestować kontrole na własnych serwerach, zanim za cokolwiek zapłacisz.
Alerty docierają do osoby odpowiedzialnej za serwer w chwili wystąpienia problemu, a Ty decydujesz, którzy użytkownicy są powiadamiani. Wsparcie działa całą dobę. W kwestii samej warstwy zasobów zobacz przewodnik po kontroli CPU, RAM i dysku, a resztę pojęć, na których opiera się ten przewodnik, znajdziesz w sekcji o pojęciach monitoringu.