Jak skutecznie monitorować serwer? Niejeden admin boryka się z tym problemem, dziś opiszę jak ja to robię. W aplikacjach i tool’ach można przebierać – bo jest tego mnóstwo, ja opowiem o dwóch: Nagios oraz Munin. Oba są dość uniwersalne: działają zarówno pod Linuxem jak i pod Windows, poza tym ten pierwszy można użyć w trybie pasywnym, czyli odpytywać serwisy sieciowe zdalnie – bez instalacji jakichkolwiek „przyczłapek” na monitorowanym urządzeniu. Oczywiście w taki sposób jesteśmy w stanie tylko sprawdzać zachowanie serwisów sieciowych, ale czasami tyle wystarcza. Dlaczego akurat zdecydowałem się na taki tandem? Bo Nagios monitoruje zachowanie usług przy założonych parametrach i w przypadku ich przekroczenia wysyła powiadomienie na mejla lub smsem (choć tu są pewne ograniczenia), natomiast Munin prezentuje zebrane dane w postaci graficznej – dzięki czemu możemy wychwycić anormalne działanie serwera. Poniżej dwa screenshoty obu aplikacji:
Nagios
Munin
Jak widać dzięki Nagios monitorować możemy prawie wszystko: obciążenie serwera, użycie partycji dyskowych, serwery sieciowe, bazy danych, temperatury urządzeń i co nam tylko do głowy przyjdzie. Ja monitoruje również S.M.A.R.T dysków twardych zainstalowanych w macierzy, ich temperatury a nawet działanie kontrolera RAID. System ma mnóstwo dodatkowych wtyczek, dzięki którym możemy monitorować praktycznie każde urządzenie sieciowe: firewalle, macierze, serwery, maszyny wirtualne i bóg wie co jeszcze.
Munin nie jest tak uniwersalny, gdyż wymaga zainstalowanego agenta w systemie który chcemy monitorować – możemy więc go użyć tylko w maszynach wyposażonych w system Linux bądź Windows – ale to i tak znaczna część infrastruktury sieciowej. Usługa daje nam możliwość oceny w jakich godzinach serwer jest najbardziej obciążony, kiedy generuje największy ruch sieciowy, jak zachowuje się baza danych na przestrzeni 24h. To dość potężne narzędzie analityczne pozwalające monitorować serwer w osi czasu.
Na temat konfiguracji rozpisywał się zbytnio nie będę: dodam tylko że oba działają w architekturze klient-serwer, tzn. jest główny serwer gromadzący i prezentujący dane, natomiast na monitorowanych urządzeniach instalujemy klienta.
W google’u jest masę poradników i przykładów jak skonfigurować i uruchomić poszczególne aplikacje i wtyczki. Tak więc panowie Admini – do dzieła: instalować, konfigurować, monitorować.