DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chciałbyś przeczytać The Bell?
Bez spamu

Na początek serwer01 musisz zainstalować pakiet nagios. Aby to zrobić, wpisz w terminalu:

sudo apt-get zainstaluj nagios3 nagios-nrpe-plugin

Zostaniesz poproszony o podanie hasła dla użytkownika nagiosadmin. Konta użytkowników znajdują się w /etc/nagios3/htpasswd.users. Aby zmienić hasło użytkownika nagiosadmin lub dodanie innych użytkowników do wykonywania skryptów Nagios CGI użyj narzędzia htpasswd, który jest częścią pakietu apache2-utils.

Na przykład, aby zmienić hasło użytkownika nagiosadmin wpisz w terminalu:

sudo htpasswd /etc/nagios3/htpasswd.users nagiosadmin

Aby dodać użytkownika:

sudo htpasswd /etc/nagios3/htpasswd.users steve

sudo apt-get install nagios-nrpe-server

NRPE umożliwia wykonywanie lokalnych kontroli na zdalnym komputerze. Ale są inne sposoby osiągnięcia tego celu za pomocą innych wtyczek Nagios, a także inne sposoby sprawdzania.

Przegląd plików konfiguracyjnych

Istnieje kilka katalogów zawierających pliki konfiguracyjne Nagios, a także pliki kontrolne.

1. /etc/nagios3: zawiera pliki konfiguracyjne do uruchamiania demona nagios, pliki CGI, opisy komputerów itp.

2. /etc/nagios-plugins: pliki konfiguracyjne do sprawdzania usług.

3. /etc/nagios: zawiera pliki konfiguracyjne na zdalnym komputerze nagios-nrpe-serwer.

4. /usr/lib/nagios/plugins/: tutaj są kontrole binarne. Aby wyświetlić opcje skanowania, użyj klawisza „-h”.

Na przykład:/usr/lib/nagios/plugins/check_dhcp -h

Istnieje wiele testów Nagios, które można skonfigurować do uruchamiania na dowolnym komputerze. W tym przykładzie Nagios zostanie skonfigurowany do sprawdzania miejsca na dysku, usługi DNS i grup użytkowników MySQL. Sprawdzanie DNS zostanie wykonane w dniu serwer02, a grupa maszyn MySQL będzie zawierała oba serwer01 więc serwer02.

Patrz sekcja HTTPD — serwer WWW Apache2 aby uzyskać bardziej szczegółowe ustawienia Apache, usługę nazw domen (DNS) do konfiguracji DNS i MySQL do konfiguracji MySQL.

Oprócz tego zostanie podanych kilka terminów, które pomogą Ci łatwo skonfigurować Nagios:

Komputer (host): monitorowany serwer, stacja robocza, urządzenie sieciowe itp.

Grupa komputerowa: grupa podobnych komputerów. Na przykład możesz pogrupować wszystkie serwery internetowe, serwery plików itp.

Usługa: usługa monitorowana na komputerze. Na przykład HTTP , DNS , NFS , itp.

Grupa usług: umożliwia łączenie wielu usług razem. Przydałoby się to na przykład przy łączeniu wielu serwerów internetowych.

Kontakt: osoba, która zostanie powiadomiona o wystąpieniu zdarzenia. Nagios można skonfigurować do wysyłania e-maili, SMS-ów itp.

Domyślnie Nagios jest skonfigurowany do sprawdzania HTTP , miejsca na dysku, SSH , bieżących użytkowników, procesów i monitorowania poziomów obciążenia na komputerze lokalnym. Nagios sprawdza również bramę za pomocą polecenia świst.

Zestaw zainstalowanych systemów Nagios można konfigurować kompleksowo. Lepiej zacząć od kilku komputerów, jednego lub dwóch, a następnie skonfigurować w optymalny sposób, zamiast korzystać z dodatków.

Ustawienie

1.1. Najpierw musisz utworzyć plik konfiguracyjny dla serwer02. O ile nie zaznaczono inaczej, uruchom wszystkie te polecenia na serwer01. Wpisz terminal:

sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg \ /etc/nagios3/conf.d/server02.cfg

W powyższym i poniższym przykładzie zastąp „server01”, „server02” 172.18.100.100 i 172.18.100.101 nazwą i adresem IP swoich serwerów.

Zdefiniuj host( użyj generic-host ; Nazwa szablonu hosta do użycia host_name server02 alias Server 02 adres 172.18.100.101 ) # sprawdź usługę DNS. zdefiniuj usługę ( użyj usługi ogólnej nazwa_hosta serwer02 opis_usługi DNS polecenie_kontrolne sprawdź_dns!172.18.100.101 )

1.3. Załaduj ponownie demona nagios, aby aktywować nowe ustawienia:

2.1 Dodajmy teraz opis usługi, aby sprawdzić MySQL, dodając następujące wiersze do /etc/nagios3/conf.d/services_nagios2.cfg:

# sprawdź serwery MySQL. zdefiniuj usługę ( nazwa_grupy hostów mysql-servers opis_usługi MySQL check_command check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS użyj interwału_powiadomień o usługach ogólnych 0 ; ustaw > 0, jeśli chcesz zostać ponownie powiadomiony )

2.2. Serwery grupy mysql powinny być teraz zdefiniowane. Edytuj /etc/nagios3/conf.d/hostgroups_nagios2.cfg, aby dodać następujące elementy:

# Grupa hostów MySQL. zdefiniuj grupę hostów ( nazwa_grupy hostów mysql-servers alias serwerów MySQL członkowie localhost, server02 )

Mysql -u root -p -e "utwórz użytkownika nagios identyfikowane przez "sekret";"

Użytkownik nagios musi być obecny na wszystkich komputerach w grupie roboczej serwera mysql.

2.4. Uruchom ponownie nagios, aby przetestować serwer MySQL.

ponowne uruchomienie sudo /etc/init.d/nagios3

3.1. Na koniec musisz skonfigurować NRPE, aby sprawdzał miejsce na dysku serwer02.

Na serwer01 dodaj sprawdzenie usługi do /etc/nagios3/conf.d/server02.cfg:

# Sprawdzenie dysku NRPE. zdefiniuj usługę ( użyj usługi ogólnej nazwa_hosta serwer02 opis_usługi nrpe-disk polecenie_sprawdzenia_nrpe_1arg!check_all_disks!172.18.100.101 )

3.2. Teraz włączone serwer02 edytuj /etc/nagios/nrpe.cfg:

Allowed_hosts=172.18.100.100

A w wierszu deklaracji polecenia dodaj:

Command=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -e

3.3. Na koniec uruchom ponownie nagios-nrpe-server:

ponowne uruchomienie sudo /etc/init.d/nagios-nrpe-server

3.4. Na serwer01 trzeba też przeładować nagios:

ponowne uruchomienie sudo /etc/init.d/nagios3

Powinieneś teraz widzieć swoje serwery i testy usług w plikach CGI Nagios. Aby uzyskać do nich dostęp, wpisz w przeglądarce http://server01/nagios3. Zostaniesz poproszony o podanie nazwy użytkownika i hasła do nagiosadmin.

Spinki do mankietów

W tej sekcji opisano tylko drobne cechy Nagios. nagios-plugins-extra i nagios-snmp-plugins zawierają znacznie więcej plików kontrolnych usług.

1. Aby uzyskać bardziej szczegółowe informacje, zapoznaj się z dokumentacją na oficjalnej stronie Nagios.

2. Wąsko skupiona dokumentacja dotycząca Nagios.

3. Istnieje kilka książek o Nagios i monitorowaniu sieci.

4. Strona Wiki Nagios Ubuntu zawiera również wiele dokumentacji.

Nagios to program do monitorowania systemów informatycznych typu open source. Produkt jest praktycznie standardem dla systemów monitoringu. Pozwala (m.in.):

  • monitorować hosty (obciążenie procesora, wykorzystanie dysku, logi itp.) z różnymi systemami operacyjnymi - Windows, Linux, AIX, Solaris itp.;
  • kontroluj usługi sieciowe (SMTP, POP3, HTTP, SSH itp.);
  • podłącz dodatkowe moduły rozszerzeń (wtyczki) w dowolnym języku programowania (Shell, C++, Perl, Python, PHP, C# itp. - architektura modułu musi być otwarta), użyj własnych metod sprawdzania usług;
  • wykonywać równoległe kontrole systemów (w celu poprawy wydajności);
  • wysyłać alerty w przypadku problemów za pośrednictwem poczty e-mail, wiadomości SMS itp.;
  • automatycznie odpowiadać na zdarzenia serwisowe lub hostujące.

Instalowanie Nagios

Nagios to projekt open source, który jest dostępny do instalacji zarówno w kodach źródłowych, jak i przygotowanych pakietach dla różnych klonów Linuksa. Oczywiste jest, że instalacja ze źródeł jest nowsza niż przygotowane pakiety.

Instalacja z przygotowanych pakietów odbywa się zgodnie z zasadami odpowiedniej wersji systemu operacyjnego. Na przykład dla Ubuntu polecenie wyglądałoby mniej więcej tak:

apt-get install nagios2

Gwarantuje to, że wszystkie biblioteki wymagane do działania są zainstalowane i jest najprostszą metodą zalecaną dla zwykłych użytkowników.

Procedura szybkiej instalacji programu na Ubuntu jest opisana na stronie internetowej w sekcji dokumentacji (http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html). Należy pamiętać, że po instalacji ze źródła musi nastąpić instalacja niezbędnych wtyczek i dodatków.

Po zakończeniu instalacji możesz sprawdzić działanie programu, otwierając stronę http://localhost/nagios/ (zamiast localhost powinieneś użyć nazwy serwera Nagios, jeśli otwierasz stronę z komputera zdalnego) . Po wyświetleniu monitu o parametry autoryzacji musisz wprowadzić nazwę nagiosadmin i hasło przypisane do tego konta w poprzednich krokach.

Na ryc. 7.14 pokazuje jedną ze stron programu - strukturę małego systemu sterowanego przez Nagios (schemat budowany jest automatycznie w Nagios).

Ryż. 7.14.
Schemat sieci w Nagios

Trochę o logice Nagios

Nagios może być warunkowo reprezentowany jako dwie części: serwer (właściwie jego instalacja została omówiona w poprzednim podrozdziale) i klient, czyli system kontrolowany z zainstalowanym agentem lub bez niego.

W systemach operacyjnych są zainstalowane różne wersje agentów. Najczęściej dla systemów opartych na Linuksie używany jest program NRPE (link do tej wtyczki jest dostępny na oficjalnej stronie Nagios - http://www.nagios.org/), a dla komputerów Windows - NSClient++ (http:/ /trac.nakednuns.org /nscp/).

    Notatka

    Historycznie pierwszy klient Windows był wariantem programu NPRE. Dla celów kompatybilności NSClient++ zachowuje protokół używany przez NPRE. W ustawieniach klienta możesz określić użycie jednej z opcji pracy lub obu (niektóre wtyczki są na przykład opracowane dla konkretnej wersji klienta). Należy zauważyć, że w niektórych przypadkach NPRe zapewnia większą kontrolę, na przykład ułatwia konfigurowanie skryptów do uruchamiania w samym kontrolowanym systemie.

Należy pamiętać, że każdy klient musi być skonfigurowany zgodnie z opisem w poniższych sekcjach.

Przy pomocy klientów odbywa się aktywny monitoring pracy: serwer inicjuje polecenie określone przez ustawienia na kliencie i analizuje otrzymane dane. Ponadto możliwy jest pasywny tryb działania w przypadkach, gdy dane są przesyłane do serwera z inicjatywy klienta. Na przykład w ten sposób obsługiwane są pułapki SNMP.

Jak już wspomniano, na serwerze Nagios uruchamiane są specjalne polecenia (lub programy) w celu odbierania informacji od klienta. W przypadku Nagios te polecenia nazywane są wtyczkami.

    Notatka

    Wtyczki są łatwe do znalezienia w sieci: Nagios ma link do projektów na SourceForge.net, możesz skorzystać ze strony wymiany wtyczek http://www. monitoringexchange.org/ i inne źródła.

Aby system monitoringu mógł z nich korzystać, polecenia takie muszą być opisane w specjalnym pliku konfiguracyjnym - commands.cfg. To właśnie te opisy w terminologii Nagios nazywane są poleceniami sterującymi.

Oprócz opisu samej komendy, system monitoringu musi wiedzieć, które systemy sprawdzać, jak często uruchamiać komendę check, czy trzeba robić przerwy w jej użyciu (np. nie wykonywać w określone dni tygodnia lub w określonych porach dnia itp.). Zbiór takich ustawień w Nagios jest zwykle nazywany usługą i definiuje je osobny blok w pliku, który opisuje parametry sterowanego systemu. Ponieważ w usłudze jest wiele parametrów (ok. tuzina i pół) i wiele z nich jest zwykle powtarzanych, zwyczajowo przyjęło się opisywać powtarzające się części w szablonach, a po prostu wskazać taki szablon bezpośrednio w opisie usługi (opisy szablonów są przechowywane w pliku templates.cfg). Należy pamiętać, że zagnieżdżanie jest dozwolone w szablonach: niektóre parametry można wydzielić w osobnym szablonie i wykorzystać w innych opisach.

Każdy kontrolowany system musi być opisany w konfiguracji Nagios. Dla wygody odbywa się to w osobnych plikach (według typów urządzeń), które są włączane do ogólnej konfiguracji podczas uruchamiania serwera. Początkowo linki do tych plików „według wskazówek” są zakomentowane, więc jeśli chcesz rozpocząć monitorowanie dowolnej klasy urządzeń, przede wszystkim należy usunąć symbol „#” w odpowiednim wierszu pliku nagios.cfg, oraz następnie dodaj blok opisu systemu do odpowiedniego pliku.

W rezultacie Nagios okresowo wykonuje określone polecenia w monitorowanych systemach, zbiera wyniki i powiadamia operatorów w przypadku krytycznego zdarzenia. Wyniki kontroli mogą być zapisywane (domyślnie dane dotyczące wydajności nie są zapisywane) i prezentowane w formie graficznej do analizy (patrz rozdział "Wykresy w Nagios"). Nagios umożliwia również przypisanie poleceń, które będą wykonywane w przypadku wystąpienia zdarzeń. w ten sposób możesz automatycznie rozwiązywać występujące problemy.

Jeśli system będzie sterował wieloma komputerami i urządzeniami, to wygodnie jest je pogrupować. W Nagios możesz tworzyć grupy komputerów (urządzeń) i usług. Na przykład, jeśli chcesz monitorować stan wszystkich usług na serwerach, powinieneś utworzyć grupę zawierającą nazwy tych systemów. A jeśli chcesz monitorować stan, na przykład usługi rozpoznawania nazw DNS, która działa na wielu systemach fizycznych, wygodnie jest utworzyć grupę dla usługi: wystarczy zobaczyć stan całej grupy jako normalne, aby mieć pewność, że usługi DNS działają na wszystkich komputerach. Może to uprościć ustawienia administracji i monitorowania.

Spośród ogólnych ustawień konfiguracyjnych odnotowujemy również parametry operatorów – czyli osób, do których program będzie wysyłał komunikaty w przypadku określonych zdarzeń. W Nagios poszczególnych operatorów można również łączyć w grupy i konfigurować do wysyłania wiadomości określonego typu do określonej grupy specjalistów. Możesz także ustawić przedziały czasowe. Mogą być używane do zastosowania np. różnych rodzajów kontroli w dni powszednie i weekendy, do różnych sposobów powiadamiania administratorów (na przykład przez e-mail w dzień i przez pager w nocy) itp.

Alerty mogą być eskalowane: w przypadku powtarzających się zdarzeń alert może zostać wysłany w górę hierarchii do następnego specjalisty.

Struktura plików konfiguracyjnych Nagios

Lista standardowych plików konfiguracyjnych Nagios jest podana w tabeli. 7.1.

Tabela 7.1.
Lista plików konfiguracyjnych Nagios

Nazwa pliku

Zamiar

Podstawowy plik konfiguracyjny. Zawiera nazwę i adres administratora Nagios, linki do plików konfiguracyjnych importowanych przy starcie systemu

Plik opisu zasobu. Zawiera synonimy, aby ukryć rzeczywiste ścieżki lokalizacji poleceń Nagios przed użytkownikiem końcowym w celu poprawy bezpieczeństwa

Opcje ustawień serwera WWW. Ten plik opisuje dodatkowych użytkowników Nagios i przyznane im uprawnienia.

Foldery obiektów itp.

Foldery z indywidualnymi plikami, które są importowane do konfiguracji podczas uruchamiania Nagios. Te foldery są opisane w pliku nagios.cfg

Opis poleceń Nagios

Polecenia Nagios są opisane w pliku commands.cfg (domyślna ścieżka to /usr/local/nagios/etc/object/commands.cfg).

W praktyce w pliku command.cfg zwykle trzeba określić lokalizację pliku wykonywalnego, jego nazwę, która będzie używana w Nagios, oraz parametry linii uruchamiania. Domyślnie plik konfiguracyjny zainstalowanego systemu zawiera już kilka opisów typowych poleceń weryfikacyjnych (sprawdzenia ping - check_ping, sprawdzenia serwera http - check_http i wiele innych). Na podstawie tych próbek można łatwo tworzyć własne zespoły weryfikacyjne, choć zazwyczaj korzystają one z gotowych projektów, które dla niemal każdej opcji sterowania można łatwo znaleźć w sieci. Poniżej znajduje się przykład opisu najprostszego polecenia - sprawdzania osiągalności hosta za pomocą polecenia ping:

Ten opis tworzy polecenie o nazwie check-host-alive, używając polecenia check_ping z zainstalowanych narzędzi Nagios jako pliku wykonywalnego. Symbole zawarte w znakach dolara wskazują używane zmienne. W przypadku Nagios są to makra (makra), które w momencie wykonania są zastępowane wartościami. Ponieważ zwykle jesteśmy przyzwyczajeni do różnych definicji makr, w tej książce będziemy odnosić się do tych nazw jako zmiennych. $hostaddress$ jest tradycyjnie zastępowany nazwą testowanego systemu, a $arg1$, $arg2$ itd. - sekwencyjnie z argumentami określonymi w opisie usługi. Klawisze w i c definiują wartości, które zostaną użyte do wygenerowania statusu ostrzeżenia (w) lub błędu (c). Z reguły można podać wartości bezwzględne lub względne (lub obie: w typowej konfiguracji np. parametr w określany jest jako 3000,0,80%). Ostatni przełącznik (-p) określa, że ​​polecenie ping powinno wysłać pięć pakietów sondujących.

Usługi Nagios

Usługi są zazwyczaj opisane w plikach konfiguracyjnych oddzielnie dla każdego typu kontrolowanych systemów (w ogólnej konfiguracji Nagios takie pliki są importowane przez dyrektywy cgf_file=... w pliku nagios.cfg). Tworzenie plików konfiguracyjnych rozpoczyna się od opisów szablonów, po których następują opisy hostów, a następnie opisy usług.

W opisie usługi nie można już powtarzać wspólnych wartości z szablonów, więc typowa definicja usługi może wyglądać mniej więcej tak:

W tym przykładzie usługa o nazwie Użycie pamięci używa do działania ustawień z szablonu usługi ogólnej dla hosta opisanego pod nazwą winserver. Jako polecenie usługa uruchamia check_nt z opcjami wiersza poleceń memuse i -w 80 -c 90 (druga opcja określa, która wartość zwracana zużytej pamięci powinna być uznana za krytyczną - 90%, a która powinna być ustawiona na ostrzeżenie - od 80 do 90%; same parametry są wymienione za pomocą symbolu „!”).

Zwykle to samo polecenie może służyć do sterowania urządzeniami tego samego typu. W takim przypadku w opisie usługi wystarczy wymienić wszystkie takie urządzenia oddzielone przecinkami:

Możesz zdefiniować zależności dla usług. Odbywa się to w celu ukrycia „dodatkowych” ostrzeżeń. Na przykład, jeśli niektóre systemy znajdują się w sieci lokalnej za routerem, możesz określić ich zależność od tego urządzenia. Oczywiste jest, że jeśli ten router ulegnie awarii, wszystkie znajdujące się za nim urządzenia będą niedostępne. Skonfigurowanie zależności pozwoli, w przypadku awarii zależności, ukryć ostrzeżenia o niedostępności urządzeń zależnych do czasu przywrócenia przełącznika i nie będzie sprawdzać stanu odpowiednich usług na nich.

Opis kontrolowanych systemów w Nagios

Dla wygody różne typy sterowanych systemów są zwykle opisane w różnych plikach konfiguracyjnych. Lista typowych używanych plików konfiguracyjnych znajduje się w usr/local/nagios/etc/nagios.cfg, a niektóre z nich są zakomentowane. Jeśli więc potrzebujesz sterować przełącznikami w sieci, odkomentuj linię #cfg_file=/usr/local/nagios/etc/objects/switch.cfg itp.

Opis samego hosta (będzie zawarty w pliku windows.cfg, switch.cfg, printer.cfg itp.) może w tym przypadku wyglądać minimalnie tak:

W opisie hosta można uwzględnić dwa parametry, które określą działania, które należy podjąć w przypadku awarii systemu:

Nagios wykona polecenie check-host-alive i po wykryciu zmiany stanu hosta zostanie uruchomiony program do ponownego uruchomienia serwera. W ten sposób można np. uruchomić zatrzymane usługi na monitorowanych serwerach, zrestartować systemy itp.

Dla wygody analizy hosty można łączyć w grupy. W tym celu należy opisać grupę w pliku konfiguracyjnym w następujący sposób:

Podobnie jak w przypadku usług, w przypadku hostów można opisać zależności niektórych systemów od innych.

Opis parametrów czasowych

Parametry czasowe są używane w różnych konfiguracjach: w opisach hostów (okres, w którym należy monitorować i okres, w którym należy wysyłać wiadomości), serwisach i kontaktach (okresy, w których można wysyłać wiadomości po hostach i po usługach). Składnia definiowania nowego okresu jest łatwa do zrozumienia na podstawie przykładów zawartych w pliku /usr/local/nagios/etc/objects/timeperiods.cfg.

Konieczne jest nadanie szablonowi nazwy w opisie i wyszczególnienie linijka po linijce zakresów czasowych, które są w nim zawarte. Ponadto możesz używać nazw dni tygodnia, miesięcy i numerów seryjnych (ostatni / pierwszy poniedziałek miesiąca). Okresy mogą być wymienione oddzielone przecinkami. W razie potrzeby okresy opisane w innym szablonie można wykluczyć z jednego szablonu za pomocą dyrektywy exclude, po której następuje wyliczenie okresów czasu (oddzielonych przecinkami).

Korzystanie z wbudowanych poleceń sterujących Nagios

Wraz ze standardową instalacją Nagios i wtyczek zawiera szereg poleceń (wtyczek), których można używać do sterowania systemami. Ich wykaz znajduje się w tabeli. 7.2.

Tabela 7.2.
Lista wtyczek Nagios

Pożytek

Zamiar

Kontrolowanie aktualizacji systemów Linux za pomocą poleceń apt-get. Umożliwia rozpoczęcie procesu aktualizacji po odpowiedniej konfiguracji

Kontrola siły sygnału Wi-Fi Breezecom

Ta wtyczka umożliwia uruchamianie poleceń na zdalnym systemie przy użyciu protokołu SSH

Sprawdzanie połączenia CLAMD (program antywirusowy) ze zdalnym hostem

Sprawdzanie stanu hostów w klastrze Linux

Sprawdzanie dostępności serwerów DHCP w sieci

Sprawdzenie usługi DNS na hoście (za pomocą polecenia dig)

Sprawdzanie wykorzystania miejsca na dysku (dyski natywne i zamontowane)

Sprawdzanie wolumenu wykorzystania dysków podłączonych przez protokół SMB (zazwyczaj są to dyski z systemów Windows)

Sprawdzanie działania serwera DNS za pomocą nslookup

Wtyczka Tuning: po prostu zwraca parametr numeryczny i ciąg opisany podczas uruchamiania

Sprawdzanie, kiedy pliki zostały utworzone

Kontrola usługi menedżera licencji Flexlm

Sprawdzanie połączenia FTP ze zdalnym hostem

Sprawdzanie stanu drukarek Hewlett Packard z zainstalowaną kartą JetDirect (sprawdzanie odbywa się za pomocą protokołu SNMP)

Sprawdzanie połączeń http z systemem zdalnym. Sprawdzenie może odbywać się zarówno za pośrednictwem protokołu HTTP, jak i protokołu HTTPS. Możesz kontrolować czas nawiązania połączenia, okres ważności certyfikatów serwera, a także odpowiedź serwera (poprzez wyszukanie określonego ciągu w odpowiedzi, w tym użycie wyrażeń regularnych)

Sprawdzanie zdalnych hostów za pomocą protokołu ICMP

Sprawdzanie stanu dysku lokalnego (w systemie Linux) przy użyciu technologii S.M.A.R.T.

check_ifoperstatus

Sprawdzanie stanu interfejsu sieciowego w danym systemie Linux

Sprawdzanie stanu interfejsu sieciowego w danym systemie Linux

Sprawdzenie działania zdalnego hosta za pomocą protokołu IMAP. Możesz przeanalizować odpowiedź serwera na wysłany do niego ciąg żądania imap

Sprawdzanie wtyczki Nagios IRCD

Testowanie połączenia JABBER ze zdalnym hostem

Sprawdzenie serwera LDAP (możesz wysłać żądanie wyszukania odpowiedniego atrybutu)

To samo sprawdzenie serwera LDAP, tylko przy użyciu bezpiecznych połączeń (przy użyciu protokołu SSL)

Sprawdzanie rozruchu Linuksa

Sprawdzanie logów systemu Linux pod kątem sekwencji znaków

Sprawdzanie ilości wiadomości w kolejce serwera pocztowego (działa z różnymi wersjami sendmaila, qmaila)

Sprawdza podaną zmienną w dzienniku MRTG (Multi Router Traffic Grapher) pod kątem wartości minimalnych/maksymalnych (do kontroli parametrów wydajności należy użyć check_mrtgtraf)

Sprawdza wartości ruchu wychodzącego i przychodzącego z przełączników zarejestrowane w logu MRTG. Wymaga wstępnej instalacji pakietu MRTG (http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html)

Sprawdza stan procesu Nagios na komputerze lokalnym

Sprawdzanie połączenia NNTP z określonym hostem

To samo, ale przy użyciu protokołu NNTPS

Wtyczka NRPE Nagios

Ta wtyczka zbiera dane z usługi NSClient w systemach Windows

Sprawdzanie serwera NTP. Zaleca się używanie check_ntp_peer zamiast tej wtyczki

Sprawdzanie serwera NTP. Umożliwia ocenę, w tym jitter (jitter) sygnału czasu

Ta wtyczka sprawdza różnicę czasu między lokalnym serwerem a określonym zdalnym serwerem czasu

Służy do zbierania danych z serwerów Novell. Wymaga instalacji dodatkowych pakietów

Sprawdza połączenie z serwerem Oracle, pozwala ocenić wielkość baz danych i dostępność wolnego miejsca, stan buforów pamięci podręcznej itp.

Sprawdza stan demona kolektora Over-CR w systemie zdalnym (http://www.molitor.org/overcr)

Testuje połączenie ze zdalnym systemem za pomocą pakietów ping

Sprawdzanie zdalnych hostów za pomocą protokołu POP. Umożliwia wysłanie ciągu zapytania do serwera pocztowego i przeanalizowanie odpowiedzi serwera

Sprawdza stan procesów systemu Linux

Sprawdza stan usługi REAL (połączenia RTCP)

Sprawdza status usługi RPC na określonym hoście

Sprawdza stan czujników sprzętowych w systemie Linux. Informacje z czujników pozyskiwane są za pomocą pakietu lm_sensors

Weryfikuje bezpieczne połączenie IMAP z serwerem. Kontrolowany czas odpowiedzi i treść (poprzez analizę odpowiedzi na zadane zapytanie), ważność certyfikatów

Sprawdza połączenie SMTP z serwerem. Odpowiedź serwera pocztowego można przeanalizować pod kątem podanych ciągów. Kontrolowany jest również czas reakcji

Skanowanie zdalnych systemów (i pobieranie z nich danych) przez SNMP

Weryfikuje połączenie POP przez bezpieczny kanał z serwerem. Kontrolowany czas odpowiedzi i treść (poprzez analizę odpowiedzi na zadane zapytanie), ważność certyfikatów

Sprawdzanie połączenia z serwerem SSH

Sprawdza połączenie SMTP przez bezpieczny kanał z serwerem. Odpowiedź serwera pocztowego można przeanalizować pod kątem podanych ciągów. Kontrolowany jest również czas reakcji

Sprawdza wolne miejsce w pliku wymiany systemu lokalnego

Sprawdzenie połączenia TCP z określonym systemem. Sprawdzana jest obecność odpowiedzi, jej czas, obecność określonych ciągów w odpowiedzi itp.

Sprawdzanie czasu na określonym hoście

Sprawdzanie połączenia UDP z określonym systemem. Sprawdzana jest obecność odpowiedzi, jej czas, obecność określonych ciągów w odpowiedzi itp.

Sprawdzanie stanu zasilaczy awaryjnych w lokalnym lub zdalnym systemie Linux. Wtyczka wymaga zainstalowania w systemie demona UPSD (http://www.networkupstools.org).

Sprawdzanie liczby użytkowników zalogowanych lokalnie

Sprawdzanie poziomu sygnału WI-FI

Każda z tych wtyczek zawiera informacje pomocy opisujące cechy jej użycia (wyświetlanie pomocy przy poleceniu<плагин>-h).

Aby użyć wtyczki do monitorowania systemu, Nagios musi opisać polecenie, które z niej korzysta. Plik commands.cfg zawiera niektóre z najczęściej używanych przykładów kontroli systemu. W praktycznym użyciu Nagios, plik ten powinien być rozszerzony o własne polecenia sterujące.

Monitorowanie serwerów Windows w Nagios

Opracowano kilka różnych agentów do monitorowania systemów opartych na systemie Windows. Najczęściej używane z nich to NSClient++, NC_NET (http://sourceforge.net/projects/nc-net) i OpMonAgent (http://www.opmon.org/project/opmonagent.zip). Funkcjonalność tych agentów jest niemal identyczna, dlatego rozważymy użycie agenta NSClient++, który zdaniem autora jest najpopularniejszym agentem ze wspomnianej listy.

Agent NSClient++ jest dostępny na stronie http://trac.nakednuns.org/nscp/. Program ten można pobrać zarówno jako archiwum (zip) jak i plik instalacyjny (msi), a dla platform 32-bitowych i 64-bitowych należy używać różnych wersji agenta. Jeśli pobrałeś archiwum, musisz je rozpakować do żądanego folderu i zainstalować usługę Windows za pomocą polecenia

NSClient++ -instalacja

Wygodniej jest użyć pliku msi, ponieważ w tym przypadku kreator instalacji natychmiast doda niektóre ustawienia do konfiguracji agenta na podstawie wyników twoich odpowiedzi (rys. 7.15).

Ryż. 7.15.
Konfiguracja ustawień programu NSClient++.
Ustawienia użytkownika wprowadzone podczas fazy instalacji zostaną zapisane przez program w pliku konfiguracyjnym

Po instalacji należy zezwolić usłudze na interakcję z pulpitem, dla którego należy otworzyć właściwości usługi ( Panel sterowania | Administracja | Usługi| znajdź usługę NSClientpp... (pełna nazwa zależy od wersji) i otwórz jej właściwości) i włącz opcję Zezwalaj na interakcję na pulpicie.

Przed uruchomieniem usługi, koniecznie sprawdź jego ustawienia. W tym celu otwórz plik nsc.ini (w folderze instalacyjnym agenta) i odkomentuj te wiersze, które odpowiadają modułom programu, które mają być używane do monitorowania systemu. Wystarczająco szczegółowe opisy parametrów konfiguracyjnych znajdują się w dokumentacji wtyczki pod adresem http://trac. nakednuns.org/nscp/wiki/doc/Configuration.

Podczas tworzenia konfiguracji należy postępować zgodnie z zasadą, że nie należy uwzględniać większej liczby opcji niż jest to obecnie konieczne. Na przykład, jeśli nie planujesz otrzymywać informacji za pośrednictwem zapytań WMI, nie powinieneś ładować modułu CheckWMI.dll.

Zwróć uwagę na możliwość uruchomienia agenta w trybie diagnostycznym. W takim przypadku możesz zarówno zobaczyć potencjalne błędy w pliku konfiguracyjnym, jak i debugować własne zapytania (rys. 7.16).

Ryż. 7.16.
Okno programu NSClient++ w trybie diagnostycznym

Aby uruchomić NSClient++ w trybie diagnostycznym, wystarczy wpisać

NClient++ /test

W oknie NSClient++ możesz po pierwsze zobaczyć wyniki ładowania wszystkich modułów, a po drugie wprowadzić własne polecenia i zobaczyć wyniki zarówno żądań z serwera Nagios, jak i poleceń lokalnych. Na ryc. 7.16 pokazuje okno debugowania wtyczki, w którym wprowadzono polecenie CheckDriveSize ShowAll MinWarnFree=20% MinCritFree=10% Drive=D:\ i widoczna jest odpowiedź systemu.

Wtyczka NSClient++ pozwala kontrolować parametry pokazane w tabeli. 7.3. Szczegóły użycia są szczegółowo opisane w dokumentacji technicznej (http://trac.nakednuns.org/nscp/wiki/CheckCommands) i łatwo jest napisać własne polecenia monitorowania kondycji systemu Windows na podstawie dostępnych przykładów.

Tabela 7.3.
Ustawienia Windows kontrolowane przez NSClient++

Parametr

Opis

Kontroluje rozmiar pliku lub folderu

Kontroluje ilość wolnego lub używanego miejsca na dyskach twardych lub dyskach wymiennych (typ dysku można wybrać w poleceniu)

Kontroluje pliki na podstawie daty ich utworzenia, czasu ostatniego dostępu, zapisu pliku lub rozmiaru pliku

Szuka komunikatów o błędach w pliku dziennika. Ponieważ takich komunikatów jest zwykle dużo, użycie tej kontrolki mocno obciąża system.

Monitoruje użycie procesora przez konfigurowalny okres

Kontroluje czas pracy systemu

Sprawdź stan usługi

Monitoruje stan usługi Windows (krytyczny komunikat jest generowany, jeśli rzeczywisty stan usługi nie jest zgodny z określonym jako parametr w poleceniu). Możesz monitorować wszystkie usługi jednocześnie, ustawiając wyjątek. Jako nazwę usługi musisz podać tę, która jest wyświetlana we właściwościach usługi

Monitoruje stan procesów Windows. W rzeczywistości pozwala monitorować stan procesu znalezionego pod nazwą pliku wykonywalnego. Może być również kontrolowany przez liczbę jednocześnie działających procesów

Monitoruje stan pamięci wirtualnej i fizycznej; dostępny jest parametr ilości zapisanych stron pamięci (zatwierdzonych stron)

Monitoruje wartości liczników wydajności. Pożądane są obiekty licznika - dla ułatwienia obsługi - do ustawienia w opisach poleceń (usług)

SprawdźZawsze OK
SprawdźZawszeKRYTYCZNY
SprawdźZawszeOSTRZEŻENIE
Sprawdź wiele
Sprawdź OK
SprawdźKRYTYCZNY
SprawdźOSTRZEŻENIE
SprawdźWersję

Tak zwani pomocnicy. Zwracają z góry określoną wartość (którą można ocenić po nazwie polecenia). Używany w procesie konfiguracji i debugowania systemu

Wymieniona lista nie ogranicza się do możliwości kontrolowania systemów Windows. Możesz dodać kontrolowane parametry, na przykład za pomocą zewnętrznych skryptów.

Monitorowanie systemu Windows można przeprowadzić przy użyciu różnych protokołów. Najczęściej używanymi protokołami są NSClient i NRPE (do monitorowania „pasywnego” można również użyć protokołu NSCA, o którym więcej można przeczytać w dokumentacji online). W praktyce można użyć dowolnego z nich, wystarczy włączyć/wyłączyć odpowiednie moduły w pliku ustawień klienta (nsc.ini). Jednocześnie, zdaniem autora, protokół NRPE jest nieco bardziej elastyczny w użyciu i zapewnia szyfrowanie wymiany danych. W przypadku korzystania z protokołu NRPE składnia polecenia jest budowana w następujący sposób:

check_nrpe ... -c<команда>-a<аргументы>

Na przykład sprawdzenie dostępnej pamięci fizycznej można wykonać w ten sposób:

check_nrpe -H 192.168.0.9 -c CheckMem -a MaxWarn=70% MaxCrit=>80% typ=fizyczny

Monitoring systemów Windows w oparciu o WMI

NSClient++ zawiera moduł CheckWMI.dll, który pozwala kontrolować system Windows za pomocą zestawu narzędzi WMI.

Moduł CheckWMI w rzeczywistości składa się z dwóch podmodułów: CheckWMIValue i CheckWMI. Moduł CheckWMIValue jest zoptymalizowany do kontrolowania wartości liczbowych. Na przykład aktualne obciążenie procesora (jest to procent obciążenia) lub rozdzielczość monitora (liczba pikseli) itp. W tym poleceniu można po prostu określić parametry, które mają być kontrolowane oraz wartości minimalne/maksymalne dozwolone dla nich na przykład tak:

CheckWMIValue "(!LANG:Query=Wybierz PelsWidth z win32_DisplayConfiguration" !}
MinCrit=640 MinWarn=800 Sprawdź:Width=PelsWidth

Przedstawione tutaj polecenie jest napisane do użytku w trybie debugowania (nsclient++ /test). Pyta o poziomą rozdzielczość wyświetlania i zgłasza stan krytyczny, jeśli jest on równy lub mniejszy niż 640, i wydaje ostrzeżenie, jeśli wartość nie przekracza 800. Z funkcji tego polecenia zauważamy, że po ciągu zapytania (który jest ujęta w cudzysłów) należy wpisać parametry o wartościach minimalnych / maksymalnych i dopiero wtedy podać nazwę parametru, który jest kontrolowany przez polecenie (PelsWidth). Wyjaśnijmy również opcję Sprawdź używaną w wierszu poleceń. Po sprawdzeniu należy podać nazwę parametru, który będzie używany w systemie sterowania (można też zapisać nazwę z opisu w WMI, ale często wygodniej jest wpisać własną nazwę) oraz nazwę odpowiadającą obiekt klasy (ten, który jest wyświetlany na przykład w przeglądarce obiektów przeglądarki WMI).

Inne przykłady (w tym opcje konfiguracji Nagios) są dostępne pod adresem http://trac.nakednuns.org/nscp/wiki/CheckWMIValue.

Moduł CheckWMI powinien być używany, gdy oczekuje się parsowania parametru ciągu zwróconego z zapytania WMI lub odpytywania wielu wartości. Podczas korzystania z CheckWMI ciągi zapytań stają się nieco bardziej skomplikowane ze względu na potrzebę filtrów. Składnia CheckWMI jest opisana pod adresem http://nsclient.org/nscp/wiki/CheckWMI/ CheckWMI. Zapytania CheckWMI swoją konstrukcją są zbliżone do filtrów używanych do analizy logów pracy systemu.

Monitorowanie serwerów Linux w Nagios

Serwery Linux są monitorowane za pomocą wtyczki NRPE, która musi być zainstalowana jako wtyczka na serwerze Nagios i jako demon w monitorowanym systemie Linux. Do instalacji można wykorzystać zarówno przygotowaną wersję, jak i kody źródłowe wtyczki.

Oprócz standardowego zestawu administrator może podczas monitorowania korzystać z dowolnych dostępnych wtyczek, które są szeroko reprezentowane w Internecie.

Używając protokołu NRPE, możesz wywołać komendę check_nrpe na monitorowanym hoście, aby sprawdzić inny host. W ten sposób można sterować określoną podsiecią za pośrednictwem jednego komputera. Przy takiej organizacji kontroli zarówno demon protokołu NRPE, jak i wtyczka muszą być zainstalowane na hoście używanym jako proxy.

Monitorowanie systemu za pomocą protokołu SNMP

Aby pracować przez protokół SNMP, w Nagios musi być zainstalowana odpowiednia wtyczka. Jest dołączony do wtyczek Nagios, ale może być używany tylko wtedy, gdy pakiet net-snmp został zainstalowany jako pierwszy. Dlatego jeśli zamierzasz korzystać z modułu SNMP, pakiet ten należy pobrać z serwera http://net-snmp.sourceforge.net/, a następnie przekompilować wtyczki i zainstalować je ponownie. Autor zaleca, aby przy nowej instalacji najpierw uruchomić polecenie make clean, które wyczyści ustawienia poprzedniej instalacji.

    Notatka

    Na stronie http://net-snmp.sourceforge.net/ wymagany pakiet jest prezentowany tylko w kodach źródłowych lub w formacie RPM.

Po skonfigurowaniu możliwości monitorowania SNMP należy przetestować 1 funkcję na najprostszych zapytaniach. Na przykład sprawdź czas trwania urządzenia:

/usr/local/nagios/libexec/check_snmp -H<адрес_устройства>-C -o
sysUpTime. 0

W odpowiedzi powinieneś otrzymać coś takiego:

SNMP OK - Timeticki: (622339555) 72 dni, 0:43:15.55 |

Polecenie check_snmp może poprosić o parametr, który przyjmuje wartość liczbową i sprawdzić, czy jego wartość mieści się w określonym zakresie. Możesz więc określić wartości dla stanu ostrzeżenia i krytycznego (przełączniki -w i -c) lub zakres wartości (oddzielonych dwukropkiem). Zwróć uwagę, że jeśli chcesz, aby na przykład zwracana liczba z zakresu od a do b (b > a) była interpretowana jako wartość krytyczna, to zakres musi być określony b: a. Jeśli określisz zakres w formie „zwykłej”, np. a:b, to jeśli zwrócona wartość mieści się w tym zakresie, wynik zostanie uznany za stan normalny, a jeśli nie, to jako ostrzeżenie lub krytyczny ( w zależności od użytego klucza). Dodatkowo komenda może sprawdzić zwróconą wartość ciągu (wartość z jaką sprawdzana jest odpowiedź powinna być określona w przełączniku -s) lub nawet sprawdzić za pomocą wyrażeń regularnych (przełączniki -r, -R). Możesz również sprawdzić kilka parametrów w żądaniu naraz, wymieniając ich OID oddzielone przecinkami, na przykład:

Po skompilowaniu i debugowaniu żądania wystarczy opisać nowe polecenie w pliku commands.cfg i dodać niezbędne usługi do plików opisów kontrolowanych urządzeń.

W sieci można znaleźć wystarczającą liczbę przykładów konfiguracji Nagios do sterowania urządzeniami za pomocą protokołu SNMP, które można zastosować w praktyce. Na przykład http://wiki.nagios.org/index.php/Howtos:snmp-apc-smart-ups zawiera opis ustawień, za pomocą których można monitorować stan zasilaczy awaryjnych APC (stan baterii, napięcie parametry, temperatura itp.).

Monitorowanie urządzeń przełączających

Aktywny sprzęt sieciowy - przełączniki, koncentratory, modemy itp. są sterowane za pomocą protokołu SNMP (modele zarządzane). Możesz uzyskać status portów sprzętowych, wyświetlać ostrzeżenia, jeśli na portach wystąpi określona liczba błędów transmisji pakietów, monitorować temperaturę urządzenia i liczbę sesji VPN. Wystarczy wybrać odpowiednie identyfikatory zgodnie z opisem dla monitorowania przez protokół SNMP. W większości przypadków to wystarcza do kontroli.

Jednak oprócz określonych parametrów administratorzy często chcą poznać rzeczywiste obciążenie sprzętu, procent wykorzystanej przepustowości. Tych wartości nie można uzyskać, odpytując ten lub inny parametr stanu sprzętu. Są one wyliczane na podstawie analizy okresowo otrzymywanych danych. Jeden z najpopularniejszych programów, MRTG, został stworzony specjalnie do takiego monitoringu. Jego możliwości przetwarzania parametrów przełączników są wykorzystywane przez Nagios.

Program MRTG zbiera statystyki z aktywnego sprzętu za pomocą protokołu SNMP, które za pomocą wtyczki check_mrtgraf są następnie przesyłane do Nagios w celu wyświetlenia.

Po zainstalowaniu programu MRTG musisz utworzyć pliki ustawień, w których określasz urządzenia i wartości parametrów, które program będzie gromadził. Te ustawienia powinny być podane w pliku /etc/mrtg.conf. Tworzenie konfiguracji MRTG jest dość skomplikowanym zadaniem, dlatego w pakiecie znajduje się specjalny program, który automatycznie odpytuje urządzenie i wygeneruje plik konfiguracyjny - cfgmaker. Po uruchomieniu musisz określić ciąg wspólnoty i adres urządzenia jako parametry. Wyjście programu należy przekierować do pliku, wartości z którego następnie po prostu zaimportujemy do pliku ustawień. Jako nazwę takiego pliku wygodnie jest użyć nazwy (lub adresu) odpytywanego urządzenia:

cfgmaker [e-mail chroniony] adres > /etc/mrtg/adres.cfg

Bazując na wynikach polecenia cfgmaker wystarczy pozostawić w pliku konfiguracyjnym te bloki danych, które mają być analizowane dla danego urządzenia. Biorąc pod uwagę, że zgodnie z informacją o pliku program tworzy tytuły i opisy usług na stronach wykresów, sensowne jest korygowanie nazw i opisów tych pozycji, które mają być wyświetlane na wykresach. Ponieważ nie ma sensu analizować przepustowości według portów, do których podłączone są urządzenia końcowe (serwery, stacje robocze), zaleca się monitorowanie przepustowości tylko dla portów trunkingowych (portów, które są podłączone do innych przełączników lub koncentratorów).

Po edycji pliku ustawień można uruchomić program mrtg, podając jako parametr konfigurację urządzenia. W przypadku systemów z kodowaniem UTF-8 polecenie uruchomienia będzie wyglądać tak:

env LANG=C /usr/bin/mrtg /etc/mrtg.cfg

Podczas instalacji pakietu MRTG system jest skonfigurowany do automatycznego zbierania informacji z przełączników raz na pięć minut. W razie potrzeby okres ten można wydłużyć, odpowiednio edytując plik /etc/cron.d/mrtg.

Wykresy wydajności dla poszczególnych portów urządzeń można przeglądać otwierając folder http://nagiosserver/mrtg/ w przeglądarce i wybierając odpowiedni plik. W razie potrzeby można utworzyć wspólny plik indeksu, aby uprościć wyświetlanie. Odbywa się to za pomocą polecenia indexmaker. Niezbędne klucze do wygenerowania pliku można łatwo określić z informacji pomocy po wywołaniu indexmaker -h.

Tak długo, jak konfiguracja opisana powyżej, możesz używać poleceń Nagios check_mrtg i check_mrtgtraf do zbierania danych o wydajności. Polecenie check_mrtgtraf wymaga następujących parametrów:

check_mrtgtraf -F -a -w przychodzące, wychodzące -c przychodzące, wychodzące -e okres_wygasania

W tym przykładzie parametr -a określa, czy zostanie uwzględniona maksymalna wartość (max) dla okresu analizy, czy też program oceni wartość średnią (avg). Po klawiszach w i c wskazane są pary limitów dla ruchu wychodzącego i przychodzącego na tym porcie. Na którym porcie system będzie monitorować dane, określa wybrany plik dziennika. Na ryc. 7.17 pokazuje przykład wykresu wygenerowanego przez pakiet mrtg.

Ryż. 7.17.
Harmonogram obciążenia portu przełączania

Korzystanie z własnych programów monitorujących

Nagios ułatwia tworzenie niestandardowych wtyczek do monitorowania dowolnego systemu. W związku z tym można używać dowolnych plików wykonywalnych. Należy tylko upewnić się, że zgłaszają kod wyłączenia zgodnie z tabelą. 7.4.

Tabela 7.4.
Kody zwrotne monitora systemu Nagios

Podczas tworzenia skryptów należy pamiętać, że będą one uruchamiane w imieniu usługi agenta monitorowania. Domyślnie ta usługa ma maksymalne uprawnienia dla systemu lokalnego, ale nie może wchodzić w interakcje z komputerami w sieci. Jeśli zamierzasz używać skryptów do zbierania danych z innych komputerów, musisz albo wykonać operacje połączenia skryptu z odpowiednimi ustawieniami konta, albo skonfigurować agenta do uruchamiania pod inną nazwą.

Planowanie w Nagios

Polecenia Nagios monitorujące systemy zwracają nie tylko stan (dobry lub zły), ale także dane o określonych parametrach (na przykład procent wykorzystania dysku lub liczbę zalogowanych użytkowników do systemu). Dane te nie są domyślnie przechowywane, ale można je wykorzystać na przykład do rysowania wykresów dla odpowiednich usług.

Aby zaimplementować tę funkcję, musisz zainstalować dodatkową wtyczkę. Jedną z najpopularniejszych wtyczek do tworzenia wykresów w Nagios jest pakiet nagiosgraph, który można pobrać ze strony http://sourceforge.net/projects/nagiosgraph/.

Na ryc. Rysunek 7.18 przedstawia przykładową stronę monitorowania stanu usług, na której po najechaniu kursorem myszy na odpowiedni parametr, dynamicznie wyświetlany jest wykres jego zmian. W razie potrzeby administrator może przystąpić do wyboru harmonogramu dla dowolnej usługi i na określony czas.

Ryż. 7.18.
Przykład dynamicznej strony wykresu

Konfigurowanie interfejsu Nagios

Dla Nagios opracowano wiele dodatków, które pozwalają dostosować wyświetlanie danych monitoringu do potrzeb administratora. Na przykład, zamiast podglądu taktycznego (rysunek 7.19), możesz użyć konfigurowalnych map sieciowych, na których Nagios będzie wyświetlał stan każdego urządzenia.

Ryż. 7.19.
Domyślny sposób wyświetlania podsumowania stanu systemu w Nagios

Na ryc. Rysunek 7.20 (przykład ze strony http://www.nagvis.org) przedstawia rzeczywistą wersję mapy monitorowania zbudowanej przy użyciu pakietu NagVis.

Ryż. 7.20.
Wyświetlanie stanu sieci podczas korzystania z pakietu NagVis

W takim przypadku Nagios wyświetli w czasie rzeczywistym wskaźniki urządzeń i łączy. Jednocześnie możliwe jest wyświetlanie na mapie sumarycznych stanów według grup (hostów i usług), wartości rzeczywistego ruchu wzdłuż linii komunikacyjnych itp. Oczywiste jest, że takie reprezentacje są bardzo wygodne w praktycznym zastosowaniu.

1 Przykłady używają protokołu SNMP w wersji 1. Środowiska rzeczywiste zwykle używają wersji 3, dlatego przykłady należy uzupełnić o parametry uwierzytelniania.

Nagios (Nagios nie będzie nalegać na świętość)- program open source przeznaczony do monitorowania systemów i sieci komputerowych. Wykonuje monitoring, monitoruje stan węzłów i usług, alarmując administratora, jeśli któraś z usług zatrzyma (lub wznowi) swoją pracę.

W dzisiejszym artykule pokażemy, jak zainstalować Nagios 4.1 na Ubuntu 15.04.

Możesz przetestować i zobaczyć, jakie są Nagios i inne programy / usługi / PBX, przechodząc do sekcji.

Trening

Upewnij się, że Twój serwer ma w pełni działający LAMPA, jeśli nie jest zainstalowany, przed kontynuowaniem zainstaluj LAMPA serwer. Zainstalujmy następujące komponenty:

sudo apt-get install build-essential libgd2-xpm-dev apache2-utils rozpakuj

Utwórz użytkownika i grupę Nagios

Utwórz nowe konto użytkownika nagios i grupa nagcmd:

Sudo useradd -m nagios
sudo passwd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios
sudo usermod -a -G nagcmd www-data

Pobierz Nagios i wtyczki do niego

Na oficjalnej stronie najnowsza wersja jest podana jako 4.1.0 kandydat do wydania 2 i pobierz go.

cd /usr/src
sudo wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.0rc2.tar.gz

Pobieranie wtyczek

Sudo wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz

Instalowanie Nagios

Przejdź do folderu, w którym pobraliśmy Nagios i wtyczki i rozpakuj za pomocą polecenia:

Sudo tar xzf nagios-4.1.0rc2.tar.gz

cd nagios-4.1.0rc2/

Uruchom następujące polecenia, aby skompilować i zainstalować Nagios:

Sudo ./configure --with-command-group=nagcmd
sudo zrobić wszystko
sudo dokonać instalacji
sudo make install-init
sudo make install-config
sudo make install-commandmode

Instalowanie interfejsu internetowego Nagios:

sudo make install-webconf

Jeśli podczas procesu instalacji pojawi się następujący błąd:

/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf
/usr/bin/install: nie można utworzyć zwykłego pliku '/etc/httpd/conf.d/nagios.conf': brak takiego pliku lub katalogu
Makefile:296: przepis na cel "install-webconf" nie powiódł się
zrobić: ***Błąd 1

Nagios próbuje utworzyć plik nagios.conf w środku /etc/httpd.conf/katalog, ale w systemach ubuntu Pliki nagios.conf należy umieścić w /etc/apache2/sites-enabled/katalog. Następnie używamy innego polecenia zamiast sudo make install-webconf

sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-enabled/nagios.conf

Załóżmy konto Nagiosadmin aby wejść do interfejsu internetowego Nagios. Pamiętaj, aby zapamiętać ustawione hasło, będzie ono potrzebne podczas logowania do interfejsu WWW.

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Zrestartuj Apache, aby nowe ustawienia zaczęły obowiązywać:

sudo systemctl uruchom ponownie apache2

Wracamy do folderu, w którym pobraliśmy wtyczki i rozpakowujemy wtyczki:

cd /usr/src
tar xzf nagios-plugins-2.0.3.tar.gz

Przejdź do rozpakowanego katalogu:

cd nagios-plugins-2.0.3/

Uruchom następujące polecenia, aby skompilować i zainstalować wtyczki:

Sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios
sudo zrobić
sudo dokonać instalacji

Uruchomienie Nagios

Kontrola nagios.conf za błędy:

sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Jeśli nie ma błędów, uruchom Nagios i dodaj go do automatycznego uruchamiania:

Sudo service nagios zaczynają się
sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Jeśli na starcie Nagios widziałeś następujący błąd:

Nie udało się uruchomić nagios.service: Nie można załadować jednostki nagios.service: Brak takiego pliku lub katalogu.

[....] Uruchamianie nagios (przez systemctl): nagios.serviceFailed to start nagios.service: Nie udało się załadować jednostki nagios.service: Brak takiego pliku lub katalogu.failed!

Aby to naprawić, musisz skopiować /etc/init.d/szkielet w /etc/init.d/nagios

sudo cp /etc/init.d/skeleton /etc/init.d/nagios

edytować /etc/init.d/nagios:

sudo nano /etc/init.d/nagios

Dodając na samym końcu:

DESC="Nagios"
NAZWA=nagios
DAEMON=/usr/local/nagios/bin/$NAME
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"
PIDFILE=/usr/local/nagios/var/$NAME.lock

Zapisujemy i wychodzimy.

Ostatni szlif - dajemy prawa do wykonania:

sudo chmod + x /etc/init.d/nagios

i biegnij Nagios:

sudo /etc/init.d/nagios start

Teraz w przeglądarce wpisz http://nagios-server-ip/nagios, w polu nazwy użytkownika wpisz nagiosadmin oraz hasło, które ustawiliśmy podczas procesu instalacji.



Kliknij „Host” w lewym okienku konsoli. Zobaczysz, że Nagios obecnie nie monitoruje żadnego hosta poza sobą.



To kończy naszą instalację. Zgodnie z instrukcjami zainstalowaliśmy Nagios 4.1 na Ubuntu 15.04

Przed konfiguracją nagios musisz zainstalować niezbędne zależności

# apt install build-essential apache2 php libapache2-mod-php7.0 php-gd libgd-dev mailutils

I dodaj użytkownika i grupę, w imieniu której nagios będzie działał

# useradd nagios # groupadd nagcmd # usermod -a -G nagcmd nagios # usermod -a -G nagcmd www-data

Przejdź do katalogu kompilacji i pobierz kod źródłowy nagios i wtyczek

# cd /usr/src/ # wget https://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.2.3/nagios-4.2.3.tar.gz # wget https:// nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz

Rozpakuj pobrane archiwa

# tar xzvf nagios-4.2.3.tar.gz # tar xzvf nagios-plugins-2.1.4.tar.gz

Przejdźmy do katalogu z kodem źródłowym nagios i skonfigurujmy

# cd nagios-4.2.3 # ./configure --prefix=/etc/nagios --with-command-group=nagcmd --with-httpd-conf=/etc/apache2/sites-available --with-mail= /usr/bin/poczta

Zbudujmy

# Zrób wszystko

Zainstaluj nagios

# wykonaj instalację

Zainstaluj skrypt startowy w /etc/init.d i włącz auto start

# make install-init # update-rc.d nagios defaults

Ustaw uprawnienia w katalogu do przechowywania zewnętrznych plików wsadowych

# make install-commandmode

Zainstaluj pliki konfiguracyjne nagios

# make install-config

Skonfiguruj konfigurację nagios dla Apache

# make install-webconf

Skopiuj skrypty przetwarzania zdarzeń zewnętrznych plików wsadowych do folderu z nagios i ustaw właściciela na folder

# cp -R contrib/eventhandlers/ /etc/nagios/libexec/ # chown -R nagios:nagios /etc/nagios/libexec/eventhandlers

Sprawdźmy zainstalowaną konfigurację

# /etc/nagios/bin/nagios -v /etc/nagios/etc/nagios.cfg

# make # make install

Włącz konfigurację nagios w Apache i aktywuj niezbędne dodatki

# a2ensite nagios # a2enmod przepisać cgi

Uruchom ponownie usługę Apache

# restart usługi Apache2

Zacznijmy nagios i sprawdźmy status

# service nagios start # service nagios status ● nagios.service - Nagios Załadowany: załadowany (/etc/systemd/system/nagios.service; włączony; ustawienie dostawcy: włączony) Aktywny: aktywny (w biegu)

Dodaj administratora nagios

# htpasswd -c /etc/nagios/etc/htpasswd.users nagiosadmin

Zajmijmy się teraz plikami konfiguracyjnymi nagios.

/etc/nagios/itp/ cgi.cfg- określa ustawienia interfejsu sieciowego, a także prawa dostępu do konsoli internetowej nagios.

/etc/nagios/itp/ htpasswd.użytkownicy- baza danych użytkowników i ich haseł dostępu do interfejsu sieciowego nagios.

/etc/nagios/itp/ nagios.cfg— zawiera główne ustawienia i ścieżki do plików *.cfg.

/etc/nagios/itp/ zasób.cfg- tutaj zdefiniowana jest zmienna, aż do katalogu z wtyczkami.

/etc/nagios/etc/obiekty/ komendy.cfg- zawiera definicje poleceń.

/etc/nagios/etc/obiekty/ kontakty.cfg- określa kontakty pocztowe, do których będą wysyłane powiadomienia nagios.

/etc/nagios/etc/obiekty/ szablony.cfg- zawiera szablony kontaktów, hostów i usług.

/etc/nagios/etc/obiekty/ timeperiods.cfg- zawiera definicje okresów.

/etc/nagios/etc/obiekty/ localhost.cfg- konfiguracja do monitorowania samego serwera nagios. Definiuje samego hosta, grupę hostów dla serwerów linux i usług monitorowania.

/etc/nagios/etc/obiekty/ drukarka.cfg- konfiguracja do monitorowania drukarki. Definiuje dowolną drukarkę, grupę hostów dla drukarek i usługi monitorowania.

/etc/nagios/etc/obiekty/ switch.cfg- konfiguracja do monitorowania przełącznika. Definiuje dowolny przełącznik, grupę hostów dla przełączników oraz usługi monitorowania.

/etc/nagios/etc/obiekty/ windows.cfg- konfiguracja do monitorowania dowolnego hosta Windows. Definiuje dowolnego hosta Windows, grupę hostów dla serwerów Windows i usług monitorowania.

Z opisu wynika, że ​​localhost.cfg, printer.cfg, switch.cfg i windows.cfg zawierają definicje grup hostów. Dla wygody warto rozdzielić je do osobnego pliku /etc/nagios/etc/objects/ hostgroups.cfg. W związku z tym muszą zostać skomentowane w oryginalnym pliku. Opis tego samego obiektu nie powinien być powtarzany w różnych plikach konfiguracyjnych. Dodamy również plik /etc/nagios/etc/objects/ servicegroups.cfg, w którym zostaną zdefiniowane grupy usług. Ponieważ ta publikacja konfiguruje monitorowanie hostów linux i windows, zdefiniujemy dla nich grupy. W przypadku drukarek i przełączników grupy definiuje się analogicznie. Stworzymy również folder /etc/nagios/etc/servers/, w którym będą przechowywane pliki definiujące monitorowane hosty. Wprowadźmy odpowiednie zmiany w pliku nagios.cfg

# nano /etc/nagios/etc/nagios.cfg . . . # Możesz określić pliki konfiguracyjne poszczególnych obiektów, jak pokazano poniżej: cfg_file=/etc/nagios/etc/objects/commands.cfg cfg_file=/etc/nagios/etc/objects/contacts.cfg cfg_file=/etc/nagios/etc/objects /timeperiods.cfg cfg_file=/etc/nagios/etc/objects/templates.cfg # Definicje dla hostgroups i servicegroups cfg_file=/etc/nagios/etc/objects/hostgroups.cfg cfg_file=/etc/nagios/etc/objects/servicegroups.cfg# Definicje monitorowania lokalnego hosta (Linux) cfg_file=/etc/nagios/etc/objects/localhost.cfg # Definicje monitorowania komputera z systemem Windows #cfg_file=/etc/nagios/etc/objects/windows.cfg # Definicje monitorowania a router/switch #cfg_file=/etc/nagios/etc/objects/switch.cfg # Definicje monitorowania drukarki sieciowej #cfg_file=/etc/nagios/etc/objects/printer.cfg # Możesz również nakazać Nagiosowi przetworzenie wszystkich pliki konfiguracyjne (z rozszerzeniem .cfg #) w określonym katalogu za pomocą dyrektywy cfg_dir #, jak pokazano poniżej: cfg_dir=/etc/nagios/etc/serwery#cfg_dir=/etc/nagios/etc/printers #cfg_dir=/etc/nagios/etc/switches #cfg_dir=/etc/nagios/etc/routers . . .

Utwórz pliki dla grup hostów i usług oraz ustaw do nich uprawnienia

# cd /etc/nagios/etc/objects/ # touch hostgroups.cfg servicegroups.cfg # chown nagios:nagios hostgroups.cfg servicegroups.cfg # chmod 664 hostgroups.cfg servicegroups.cfg

Utwórz katalog /etc/nagios/etc/ serwery/ i ustaw do niego prawa

# mkdir /etc/nagios/etc/servers/ # chown nagios:nagios /etc/nagios/etc/servers/ # chmod 775 /etc/nagios/etc/servers/

Dodaj do hostgroups.cfg definicje grup hostów dla serwerów linux i windows odpowiednio z localhost.cfg i windows.cfg

# nano /etc/nagios/etc/objects/hostgroups.cfg # Zdefiniuj opcjonalną grupę hostów dla maszyn z systemem Linux # Wszystkie hosty używające szablonu linux-server będą automatycznie członkami tej grupy define hostgroup( nazwa_grupy_hostów linux-servers ; Nazwa aliasu grupy hostów Linux Servers ; Długa nazwa grupy ) # Zdefiniuj grupę hostów dla komputerów z systemem Windows # Wszystkie hosty używające szablonu windows-server będą automatycznie członkami tej grupy define hostgroup( nazwa_grupy_hostów windows-servers ; Nazwa alias grupy hostów Serwery Windows ; Długa nazwa grupy )

Ponieważ ścieżka do windows.cfg jest zakomentowana w nagios.cfg, zakomentowanie definicji grup hostów w windows.cfg nie jest konieczne, ale w localhost.cfg jest to czynność obowiązkowa

# nano /etc/nagios/etc/objects/localhost.cfg . . . # Zdefiniuj opcjonalną grupę hostów dla komputerów z systemem Linux #define hostgroup( # nazwa_grupy_hostów linux-servers ; Nazwa grupy hostów # alias Serwery Linux ; Długa nazwa grupy # członkowie localhost ; Lista hostów oddzielonych przecinkami, które należą do tej grupy # ). . .

Gdy tworzony jest obiekt serwera windows, automatycznie staje się on członkiem grupy windows-servers. Akcja ta jest zdefiniowana w pliku templates.cfg. Aby serwery linux automatycznie znalazły się w grupie linux-servers, musisz wprowadzić następującą zmianę

# nano /etc/nagios/etc/objects/templates.cfg . . . # Szablon definicji hosta Linux - to NIE jest prawdziwy host, tylko szablon! define host( name linux-server ; Nazwa tego szablonu hosta use generic-host ; Ten szablon dziedziczy inne wartości z szablonu generic-host check_period 24x7 ; Domyślnie hosty Linux są sprawdzane przez całą dobę check_interval 5 ; Aktywnie sprawdzaj host co 5 minut retry_interval 1 ;Zaplanuj ponowne próby sprawdzenia hosta w odstępach 1 minuty max_check_attempts 10 ;Sprawdź każdy host Linuksa 10 razy (maks.) check_command check-host-alive ;Domyślne polecenie sprawdzania hostów Linuksa notification_period godzin pracy ;Administratorzy Linuksa nienawidzą być budzonych w górę, więc powiadamiamy tylko w ciągu dnia ; Zwróć uwagę, że zmienna notification_period jest nadpisywana z ; wartość dziedziczona z szablonu generic-host! notification_interval 120 ; Wysyłaj powiadomienia ponownie co 2 godziny notification_options d,u,r ; Wysyłaj tylko powiadomienia dla określonych stanów hosta contact_groups admins ; Powiadomienia są domyślnie wysyłane do administratorów grupy hostów linux-servers ; Grupy hostów, do których powinny należeć serwery linux rejestr 0 ; NIE ZAREJESTRUJ TEJ DEFINICJI - TO NIE JEST PRAWDZIWY HOST, TYLKO SZABLON! ) . . .

Aby skonfigurować powiadomienie, musisz podać adres e-mail administratora systemu w Contacts.cfg

# nano /etc/nagios/etc/objects/contacts.cfg . . . zdefiniuj kontakt( nazwa_kontaktu nagiosadmin ; Krótka nazwa użytkownika użyj ogólnego-kontaktu ; Dziedziczy wartości domyślne z szablonu ogólnego-kontaktu (zdefiniowanego powyżej) alias Nagios Admin ; Pełna nazwa adresu e-mail użytkownika [e-mail chroniony] stronie internetowej ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** } . . .

# usługa nagios restart

Możesz sprawdzić wydajność alertów w następujący sposób, wybierz „Hosts” po lewej stronie w interfejsie internetowym, a następnie kliknij „localhost”, kliknij „Wyślij powiadomienie niestandardowego hosta” w menu po prawej stronie, napisz cokolwiek w „Komentarz” i kliknij „Zatwierdź”.

Alert należy wysłać na adres e-mail podany w Contacts.cfg.


Trochę o wtyczkach

Folder /etc/nagios/libexec zawiera zainstalowane wtyczki. Na początku artykułu zauważono, że nagios otrzymuje wszystkie informacje za pośrednictwem wtyczek. Spójrzmy na przykład na czas pracy systemu

# /etc/nagios/libexec/check_uptime Czas działania OK: 0 dni 3 godzin 52 minut | czas pracy=232.000000;;;

Większość wtyczek działa tylko z argumentami, na przykład zobaczmy status pliku wymiany systemu

# /etc/nagios/libexec/check_swap -w 20 -c 10 ZAMIANA OK - 100% za darmo (2044 MB z 2044 MB) |swap=2044MB;0;0;0;2044

Istnieją dwa argumenty -w 20 i -c 10.

w - ostrzeżenie, gdy pozostanie 20% wolnego miejsca, wystąpi zdarzenie ostrzegawcze.

c - krytyczne, gdy pozostanie 10% wolnego miejsca, nastąpi zdarzenie krytyczne.

Istnieją również wtyczki lokalne i „ogólne”. Powyższe przykłady mają charakter lokalny. Na przykład wtyczka check_swap nie będzie w stanie sprawdzić stanu pliku stronicowania na zdalnym hoście, ale wtyczka check_ping może sprawdzić dostępność zarówno lokalnych, jak i zdalnych hostów

# /etc/nagios/libexec/check_ping -H localhost -w 100.0.20% -c 500.0.60% PING OK - Utrata pakietów = 0%, RTA = 0,04 ms|rta=0.036000ms;100.000000;500.000000;0.000000 pl= 0%;20;60;0 # /etc/nagios/libexec/check_ping -H 192.168.1.16 -w 100.0.20% -c 500.0.60% PING OK - Utrata pakietów = 0%, RTA = 0,27 ms|rta= 0,273000ms;100.000000;500.000000;0.000000pl=0%;20;60;0


Trochę o NRPE

NRPE - Zdalny wykonawca wtyczek Nagios. Aby nagios otrzymywał informacje ze zdalnych hostów, takie jak użycie dysku lub procesora, używana jest wtyczka nrpe. Nagios uzyskuje dostęp poprzez wtyczkę nrpe do serwera nrpe zainstalowanego na zdalnym hoście linux/unix. Serwer nrpe uruchamia lokalne wtyczki i przekazuje informacje do serwera nagios. Ważny! Serwer nrpe i wtyczka muszą być w tej samej wersji, w przeciwnym razie mogą wystąpić błędy.


Instalowanie wtyczki NRPE

Przed zainstalowaniem wtyczki nrpe musisz zainstalować zależność

# apt install libssl-dev

Najnowszą wersję nrpe można pobrać ze strony nagios. Przejdź do katalogu kompilacji, pobierz i rozpakuj najnowszą wersję nrpe

# cd /usr/src/ # wget https://github.com/NagiosEnterprises/nrpe/archive/3.0.1.tar.gz # tar xzvf 3.0.1.tar.gz

Przejdźmy do folderu z nrpe i skonfigurujmy

Zbudujmy i zainstalujmy wtyczkę nrpe

# make check_nrpe # make install-plugin

Dodaj obsługę nrpe do /etc/nagios/etc/objects/commands.cfg

# nano /etc/nagios/etc/objects/commands.cfg . . . # "check_nrpe" definicja polecenia zdefiniuj polecenie( nazwa_polecenia check_nrpe wiersz_polecenia $USER1$/check_nrpe -H $HOSTADRESS$ -c $ARG1$ ) . . .

Po wprowadzeniu zmian musisz ponownie uruchomić usługę nagios

# usługa nagios restart


Instalowanie serwera NRPE

Na hoście linuksowym, który będziemy monitorować, musimy zainstalować serwer nrpe i wtyczki.

Zainstaluj niezbędne zależności

# apt install build-essential libssl-dev

Przejdź do katalogu kompilacji, pobierz nrpe, wtyczki i rozpakuj je

# cd /usr/src/ # wget https://github.com/NagiosEnterprises/nrpe/archive/3.0.1.tar.gz # wget https://nagios-plugins.org/download/nagios-plugins-2.1. 4.tar.gz # tar xzvf 3.0.1.tar.gz # tar xzvf nagios-plugins-2.1.4.tar.gz

Przejdźmy do katalogu z nrpe i configure

# cd nrpe-3.0.1 # ./configure --prefix=/etc/nagios

Zbudujmy

# zrób nrpe

Dodaj użytkownika i grupę, w imieniu której będzie działał serwer nrpe

# make install-groups-users

Zainstalujmy serwer i plik konfiguracyjny

# make install-demon # make install-config

Zainstaluj skrypt startowy

# make install-init # systemctl enable /lib/systemd/system/nrpe.service

Przejdźmy do katalogu z kodem źródłowym wtyczek i skonfigurujmy

# cd /usr/src/nagios-plugins-2.1.4/ # ./configure --prefix=/etc/nagios --with-nagios-user=nagios --with-nagios-group=nagios

Twórz i instaluj wtyczki

# make # make install

W pliku /etc/nagios/etc/nrpe.cfg umożliwimy serwerowi nagios otrzymywanie informacji o systemie, a także podanie prawdziwej nazwy monitorowanej partycji dysku w predefiniowanym poleceniu

Nano /etc/nagios/etc/nrpe.cfg . . . dozwolone_hosty=127.0.0.1, 192.168.1.13 . . . command=/etc/nagios/libexec/check_users -w 5 -c 10 command=/etc/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command=/etc/nagios/libexec/check_disk -w 20% -c 10% -p /dev/ sda1 command=/etc/nagios/libexec/check_procs -w 5 -c 10 -s Z command=/etc/nagios/libexec/check_procs -w 150 -c 200 . . .

192.168.1.13 należy zastąpić adresem twojego serwera nagios.
Uruchom serwer nrpe i sprawdź jego stan

# service nrpe start # service nrpe status ● nrpe.service - Nagios Remote Program Executor Załadowany: załadowany (/lib/systemd/system/nrpe.service; włączony; ustawienie dostawcy: włączony) Aktywny: aktywny (w biegu)


Dodawanie hosta linux do systemu monitorowania

W tym celu utworzymy plik linux-server.cfg w folderze serwerów

# nano /etc/nagios/etc/servers/linux-serv.cfg define host( użyj linux-server host_name linux-serv alias linux-serv adres 192.168.1.12 ) określ usługę ( użyj generic-service nazwa_hosta linux-serv service_description Obciążenie CPU check_command check_nrpe!check_load ) zdefiniuj usługę( użyj standardowej usługi nazwa_hosta linux-serv opis_usługi Current Users check_command check_nrpe!check_users ) zdefiniuj usługę( użyj standardowej usługi nazwa_hosta linux-serv opis_usługi /dev/sda1 Wolna przestrzeń check_nrpe!check_sda1 ) użyj usługi ogólnej nazwa_hosta linux-serv opis_usługi Suma procesów polecenie_check check_nrpe!check_total_procs ) zdefiniuj usługę ( użyj usługi ogólnej nazwa_hosta linux-serv opis_usługi Zombie Processes polecenie_check check_nrpe!check_zombie_procs )

192.168.1.12 należy zastąpić adresem serwera linuxowego.
Dyrektywa use wskazuje na nazwę szablonu w pliku templates.cfg, który definiuje ustawienia domyślne. Aby nowy host pojawił się w interfejsie internetowym, musisz ponownie uruchomić usługę nagios

# usługa nagios restart

Aby sprawdzić, czy nrpe działa, możesz uruchomić polecenie

# /etc/nagios/libexec/check_nrpe -H 192.168.1.12 NRPE v3.0.1

Aby sprawdzić konkretną usługę, musisz dodać argument z nazwą czeku

# /etc/nagios/libexec/check_nrpe -H 192.168.1.12 -c check_sda1 DYSK OK - wolne miejsce: /var/tmp 14549 MB (85% i-węzeł=88%);| /var/tmp=2527MB;14411;16212;0;18014

Nazwę czeku zdefiniowaliśmy w pliku nrpe.cfg

Komenda[ check_sda1]=/etc/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1

oraz w pliku linux-serv.cfg

Zdefiniuj usługę ( użyj usługi ogólnej nazwa_hosta linux-serv opis_usługi /dev/sda1 Wolne miejsce polecenie_sprawdzenia nr_sprawdzenia! check_sda1 }


Monitorowanie hosta Windows

Wtyczka nt służy do monitorowania hostów Windows. Domyślnie jest dołączony do podstawowych wtyczek i nie musi być instalowany osobno. Poprzez nt wtyczka nagios uzyskuje dostęp do NSClient++ zainstalowanego na hoście Windows. NSClient++ uzyskuje dostęp do pewnych modułów, które przekazują mu informacje o systemie. NSClient++ wysyła odebrane informacje na serwer nogios.


Instalowanie NClient++

Na hoście Windows musisz zainstalować NSClient++. Pobierz najnowszą wersję i uruchom jako administrator.

Kliknij Następny"

Ponownie kliknij „Dalej”

Wybierz „Typowy”

Podaj adres serwera nagios, hasło i pozostaw dwa pierwsze pola wyboru. Kliknij Następny"

Kliknij „Zainstaluj”

Kliknij „Zakończ”


Dodawanie hosta Windows do systemu monitorowania

W tym celu utworzymy plik windows-serv.cfg w folderze serwerów

# nano /etc/nagios/etc/servers/windows-serv.cfg define host( użyj windows-server host_name windows-serv alias Mój adres serwera Windows 192.168.1.33 ) określ usługę ( użyj standardowej usługi nazwa_hosta windows-serv service_description NSClient++ Wersja check_command check_nt!CLIENTVERSION ) zdefiniuj usługę( użyj ogólnej usługi nazwa_hosta windows-serv opis_usługi Uptime check_command check_nt!UPTIME ) określ usługę( użyj ogólnej usługi nazwa hosta windows-serv opis usługi Obciążenie procesora check_command check_nt!CPULOAD!-l 5,80,90 ) define service( użyj nazwa_hosta usługi ogólnej windows-serv opis_usługi Użycie pamięci polecenie_check_nt! MEMUSE!-w 80 -c 90 ) określ usługę ( użyj nazwa_hosta usługi ogólnej -w 80 -c 90 ) zdefiniuj usługę (użyj usługi ogólnej nazwa_hosta windows-serv opis_usługi Polecenie_kontrolne VMTools check_nt!SERVICESTATE!-d SHOWALL -l VMToo ls ) zdefiniuj usługę (użyj usługi ogólnej nazwa_hosta windows-serv opis_usługi Eksplorator polecenie_sprawdzenia check_nt!PROCSTATE!-d POKAŻ -l explorer.exe )

192.168.1.33 należy zastąpić adresem serwera Windows.
Jeśli hasło zostało określone podczas instalacji klienta NSClient++, należy je dodać do commands.cfg

# nano /etc/nagios/etc/objects/commands.cfg . . . # "check_nt" definicja polecenia polecenie( nazwa_polecenia check_nt wiersz polecenia $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s MegaPass-v $ARG1$ $ARG2$ ) . . .

I zrestartuj usługę nagios

# usługa nagios restart


Definicja grupy usług

Grupa usług grupuje hosty, które podlegają pewnym kontrolom usług. Utwórzmy grupę obsługi obciążenia procesora i połączmy hosty, aby sprawdzić obciążenie procesora.

# nano /etc/nagios/etc/objects/servicegroups.cfg zdefiniuj servicegroup( nazwa_grupy_usług cpuload alias obciążenia procesora członkowie linux-serv, obciążenie procesora, localhost, bieżące obciążenie, windows-serv, obciążenie procesora )

Członkowie grupy są zdefiniowani w dyrektywie członkowskiej zgodnie z zasadą:
członkowie= ,,,,…,n>,n>

Aby udostępnić grupę, musisz ponownie uruchomić usługę nagios

# usługa nagios restart


Lokalizacja linków hosta na mapie

Domyślnie wszystkie hosty na mapie są połączone z procesem Nagios. Czasami trzeba zmienić to zachowanie. Na przykład połączenie nie powinno pochodzić z Nagios Process, ale z innego punktu na mapie (na przykład połączenie z serwerem przez przełącznik). Odbywa się to poprzez dodanie dyrektywy parent do sekcji opisu hosta. Dla przykładu, zmieńmy połączenie windows-serv z Nagios Process na linux-serv

# nano /etc/nagios/etc/servers/windows-serv.cfg zdefiniuj host( użyj windows-server host_name windows-serv alias Mój adres serwera Windows 192.168.1.33 rodzice linux-serv } . . .

I zrestartuj usługę nagios

# usługa nagios restart

W pierwszym przypadku wszystkie hosty miały połączenie z Nagios Process, w drugim połączenie windows-serv zaczyna się od linux-serv.


Włącz ikony

nagios ma możliwość włączenia ikon obok nazwy hosta. Ikony znajdują się w folderze /etc/nagios/share/images/logos. Możesz skorzystać z gotowego zestawu, który możesz pobrać z Internetu. Aby włączyć wyświetlanie ikon, musisz dodać następujące wiersze do pliku templates.cfg

# nano /etc/nagios/etc/objects/templates.cfg . . . # Szablon definicji hosta Linux - to NIE jest prawdziwy host, tylko szablon! define host( name linux-server ; Nazwa tego szablonu hosta use generic-host ; Ten szablon dziedziczy inne wartości z szablonu generic-host check_period 24x7 ; Domyślnie hosty Linux są sprawdzane przez całą dobę check_interval 1 ; Aktywnie sprawdzaj host co 5 minut retry_interval 1 ;Zaplanuj ponowne próby sprawdzenia hosta w odstępach 1 minuty max_check_attempts 10 ;Sprawdź każdy host Linuksa 10 razy (maks.) check_command check-host-alive ;Domyślne polecenie sprawdzania hostów Linuksa notification_period godzin pracy ;Administratorzy Linuksa nienawidzą być budzonych w górę, więc powiadamiamy tylko w ciągu dnia ; Zwróć uwagę, że zmienna notification_period jest nadpisywana z ; wartość dziedziczona z szablonu generic-host! notification_interval 120 ; Wysyłaj powiadomienia ponownie co 2 godziny notification_options d,u,r ; Wysyłaj tylko powiadomienia dla określonych stanów hostów contact_groups admins Powiadomienia są domyślnie wysyłane do administratorów hostgroups linux-servers Grupy hostów które serwery linux być członkiem icon_image linux40.png statusmap_image linux40.gd2 rejestr 0 ; NIE ZAREJESTRUJ TEJ DEFINICJI - TO NIE JEST PRAWDZIWY HOST, TYLKO SZABLON! ) # Szablon definicji hosta Windows — NIE jest to prawdziwy host, tylko szablon! define host( name windows-server ; nazwa tego szablonu hosta use generic-host ; dziedzicz wartości domyślne z szablonu generic-host check_period 24x7 ; Domyślnie serwery Windows są monitorowane przez całą dobę check_interval 5 ; Aktywnie sprawdzaj serwer co 5 minut retry_interval 1 ;Zaplanuj ponowne sprawdzenie hosta co 1 minutę max_check_attempts 10 ;Sprawdź każdy serwer 10 razy (maks.) check_command check-host-alive ;Domyślne polecenie sprawdzające, czy serwery są „żywe” notification_period 24x7 ;Wyślij powiadomienie w dowolnym czas - dzień lub noc notification_interval 30 ; Ponowne wysyłanie powiadomień co 30 minut notification_options d, r ; Wysyłaj powiadomienia tylko dla określonych stanów hosta contact_groups admins ; Powiadomienia są domyślnie wysyłane do administratorów hostgroups windows-servers ; Hostuj grupy, do których powinny należeć serwery Windows z icon_image win40.png statusmap_image win40.gd2 rejestr 0 ; NIE ZAREJESTRUJ TEGO — TO TYLKO SZABLON). . .

Ponowne uruchamianie usługi Nagios

# usługa nagios restart

Obecnie coraz więcej małych i średnich firm tworzy rozproszoną infrastrukturę IT, której integralną częścią jest skuteczne monitorowanie wszystkich jej elementów, aby zapewnić ciągłe i wysokiej jakości funkcjonowanie. Takie rozwiązania mają zwykle następujące wymagania niefunkcjonalne: szybka reakcja na zdarzenia i możliwość pracy na ograniczonych zasobach obliczeniowych. Artykuł opisuje możliwość zbudowania takiego systemu w oparciu o swobodnie rozpowszechniane oprogramowanie monitorujące - Nagios.

Krótki opis Nagios

Główny składnik Nagios, serwer podstawowy, może być wdrożony na prawie każdym serwerze Linux/Unix. Jest zawarty w prawie wszystkich popularnych dystrybucjach Linuksa i Uniksa. W razie potrzeby możesz pobrać kod źródłowy ze strony projektu i na jego podstawie zbudować własną wersję Nagios. Ponadto, wraz z głównym pakietem Nagios, zainstalowana jest również jego dokumentacja.

Nagios ma modułową i rozszerzalną architekturę. Aby zwiększyć możliwości Nagios, możesz użyć następujących typów komponentów: wtyczek (wtyczki Nagios) i rozszerzeń (dodatki Nagios).

Wtyczki są używane przez główny proces Nagios do uzyskania następujących informacji: czas odpowiedzi węzła zdalnego, wolne miejsce na partycji dysku itp. Jeśli nie można znaleźć wtyczki o wymaganej funkcjonalności, oferowany jest wygodny interfejs do tworzenia własnych wtyczek.

Termin „dodatek” został wprowadzony, aby uniknąć pomyłek z wtyczkami, ponieważ rozszerzenia służą do dodawania zupełnie nowych funkcji do Nagios lub do integracji z innymi produktami zewnętrznymi.

Możliwość szybkiego pisania wtyczek sprawiła, że ​​Nagios stał się wszechstronnym narzędziem do monitorowania sieci. Istnieją wtyczki do odpytywania węzłów przez SNMP, sprawdzające dostępność zdalnego węzła przy użyciu różnych protokołów sieciowych. W projekcie Nagios Exchange możesz wyszukiwać wśród już napisanych wtyczek lub rozszerzeń lub dodać tam wtyczkę własnego rozwoju.

Interfejs użytkownika Nagios jest zaimplementowany jako aplikacja internetowa. Niezbędne skrypty CGI i konfiguracja serwera WWW są zawarte w podstawowym pakiecie Nagios. Istnieje również podsystem powiadomień, który pozwala na e-mailowe informowanie o wystąpieniu sytuacji awaryjnych i ich likwidacji.

Rysunek 1 przedstawia strukturę głównego serwera Nagios.


Rysunek 2 pokazuje mechanizm uruchamiania wtyczek Nagios na zdalnym hoście.


Kluczowe elementy na rysunku 2 to wtyczka check_nrpe monitorowanie i rozszerzenie po stronie węzła NRPE na zdalnym hoście. Między wtyczką check_nrpe oraz NRPE- demon nawiązuje szyfrowane połączenie SSL, przez które nagiosd wysyła polecenia uruchomienia wtyczek i otrzymuje wyniki ich wykonania. NRPE"projektuje" wtyczki na zdalnym hoście na główny serwer Nagios ( nagiosd), dzięki czemu możesz uruchamiać dowolne wtyczki na dowolnym zdalnym hoście.

Do zdalnego monitorowania węzłów Windows możesz użyć rozszerzenia NSClient++. W tym przypadku z boku nagiosd należy użyć wtyczki check_nt.

Przykład użycia Nagios

Na przykład zostanie podjęte małe przedsiębiorstwo handlowe, które ma 3 punkty obecności: magazyn, sklep i biuro. Każdy punkt obecności ma własne połączenie z lokalnym dostawcą usług internetowych. Serwer Linux/Unix jest instalowany jako brama w każdej lokacji. VPN jest zorganizowany między wszystkimi witrynami. W biurze sieć intranet to 10.1.0.0/24. W magazynie - 10.2.0.0/24. W sklepie - 10.3.0.0/24. Kierownictwo przedsiębiorstwa postawiło sobie za zadanie monitorowanie tej infrastruktury IT.


Aby to zrobić, musisz zainstalować usługę na każdym z serwerów. NRPE a dwóch z nich ma podstawowy zestaw Nagios. Odbywa się to tak, że jeśli jeden z serwerów Nagios ulegnie awarii, drugi natychmiast wyśle ​​wiadomość o tym.

Do instalacji nagiosd oraz NRPE możesz korzystać ze standardowych narzędzi systemu. Ta procedura zależy od wybranej platformy i zwykle nie jest trudna. Również wraz z nagiosd lub NRPE zainstalowany jest podstawowy zestaw wtyczek. Będziesz także musiał zainstalować i skonfigurować interfejs sieciowy, aby wyświetlać status węzła z zainstalowanym serwerem Nagios. W niektórych dystrybucjach jest podzielony na osobny pakiet. Na koniec musisz utworzyć plik htpasswd z użytkownikiem nagiosadmin zdefiniowanym w pliku cgi.conf. Jeśli chcesz, możesz dokonać zmian w konfiguracji i użyć innego użytkownika zamiast tej nazwy.

Następnie możesz uruchomić serwer Nagios i serwer WWW i zalogować się do lokalnego udziału Nagios przy użyciu swojej nazwy użytkownika i hasła. Do tej pory monitoruje tylko jeden węzeł localhost i pokazuje kilka jego parametrów (średnie obciążenia (średnie obciążenia), obecni użytkownicy (aktywni użytkownicy), miejsce na dysku (przestrzeń dyskowa)). Jedna z sekcji tego zasobu zawiera dokumentację, dzięki czemu nie musisz tracić ruchu internetowego, aby uzyskać do niego dostęp. Opis hosta znajduje się w pliku localhost.cfg.


Przed dodaniem do konfiguracji kolejnych węzłów należy określić adresy e-mail osób odpowiedzialnych za ich administrację. Odbywa się to w pliku Contacts.cfg. Zdecydowanie zaleca się wybieranie adresów e-mail od niezależnych dostawców poczty. Na przykład możesz zainstalować klienta poczty Yandex na swoim telefonie komórkowym i podać adres na yandex.ru w opisie. Jeśli Internet w biurze, w którym zainstalowany jest firmowy serwer pocztowy, jest wyłączony, to nawet po godzinach serwer Nagios z magazynu powiadomi o tym administratora telefonem komórkowym.

Listing 1 pokazuje, jak dodać informacje kontaktowe do pliku Contacts.cfg.

Listing 1. Dodawanie informacji kontaktowych.
zdefiniuj kontakt( nazwa_kontaktu zorin; // krótka nazwa użytkownika // wartości domyślne będą dziedziczone z szablonu generic-contact use generic-contact; alias Alexander N. Zorin; // pełna nazwa e-mail użytkownika [e-mail chroniony]; }

Następnie musisz zarejestrować węzły, które będą monitorowane w Nagios. Listing 2 pokazuje, jak utworzyć definicję węzła hurtowni w pliku hurtowni-gw.cfg, podobnym do pliku localhost.cfg.

Listing 2. Dodawanie węzłów do Nagios.
define host( // nazwa szablonu użytego do opisania hosta. // zdefiniowanie tego hosta odziedziczy wszystkie ustawienia // zadeklarowane w szablonie hosta linux-server use linux-server nazwa_hosta alias hurtowni-gw nazwa_magazynu kontakty hurtowni zorin , adres magazynu-administratora 140.14.22.4 ) zdefiniuj usługę( // nazwa szablonu użytego do opisania usługi. użyj usługi lokalnej ; nazwa_hosta magazyn-gw opis_usługi SSH polecenie_kontrolne check_ssh powiadomienia_włączone 1 ) określ hosta( użyj linux-server; hurtownia_nazwa_hosta -intra alias hurtownia-intra wyświetlana_nazwa Magazynu Lokalne kontakty sieciowe zorin, adres administratora magazynu 10.2.0.1 ) zdefiniuj usługę( // nazwa szablonu używanego do opisu usługi. użyj usługi lokalnej; nazwa_hosta-magazynu opis_usługi Polecenie_kontrolne SMTP_włączone_powiadomienia_smtp 1 )

Węzeł magazyn-gw celowo zarejestrowane dwukrotnie, aby śledzić stan zarówno zewnętrznych, jak i wewnętrznych usług LAN. W tym przykładzie serwer SMTP obsługuje tylko sieć lokalną. Pulpity nawigacyjne interfejsu internetowego Nagios pokażą dwa węzły magazyn-gw oraz magazyn-intra. Jeśli węzeł magazynu-intra zniknie i stanie się dostępny dopiero magazyn-gw- oznacza to, że kanał VPN został odłączony.

Niektóre wtyczki będą działać przez rozszerzenie NRPE(średnie obciążenie - check_load, miejsce na dysku - check_disk, aktualni użytkownicy - check_users) w celu uzyskania informacji, których uzyskanie z zewnątrz węzła jest niemożliwe lub trudne. Aby to zrobić, musisz zainstalować wtyczkę check_nrpe2 na serwerach i rozszerzeniu Nagios NRPE na wszystkich serwerach. Można to zrobić za pomocą standardowych narzędzi systemowych.

W pliku konfiguracyjnym nrpe.cfg należy podać adres do którego będzie dołączony NRPE-demon i zaufane węzły, z których będzie akceptować żądania. Dla sklepu (node ​​shop-gw) zostaną użyte następujące parametry:

adres_serwera=10.3.0.1 allow_hosts=10.1.0,10.2.0.1

Ruch drogowy NRPE celowo kierowane przez VPN. Zaufane węzły dla Demon NRPE w sklepie znajduje się biuro i magazyn. Na serwerach Nagios usługi te będą monitorowane, jak pokazano na listingu 3:

Listing 3. Konfiguracja monitorowania dla usługi zdalnej
zdefiniuj usługę( // nazwa szablonu użytego do opisania usługi. użyj usługi lokalnej; nazwa_hosta-wewnętrzna_magazynu opis_usługi Średni indeks obciążenia polecenie_sprawdzenia nr_sprawdzenia2!-c_włączenia_sprawdzenia_powiadomienia 1 )

W tym przypadku NRPE-demon węzła magazyn-intra polecenie zostało wysłane check_load. Odpowiedzią będzie aktualna wartość. średnie obciążenie dla tego węzła. Pamiętaj, że parametry wtyczki (a może ich być kilka) muszą być oddzielone wykrzyknikami. W przedstawionym przykładzie parametr to -c check_load.

Tak więc krok po kroku, dodając nowe węzły i monitorowane na nich parametry, budowany jest wysoce funkcjonalny system monitorowania.

Praca z wtyczkami

Wtyczki to proste programy lub skrypty, które otrzymują parametry wejściowe, gdy są uruchamiane za pomocą opcji wiersza poleceń i zwracają żądane wartości na standardowe wyjście w dobrze zdefiniowanym formacie. Polecenia uruchamiania wtyczek można zapisać w pliku commands.cfg, natomiast wtyczki instalowane za pomocą nagiosd są już w tym pliku. Istnieje również możliwość zarejestrowania każdej wtyczki w osobnym pliku.

Listing 4 pokazuje, jak opisana jest wtyczka. check_smtp A, który sprawdza dostępność serwera SMTP na zdalnym hoście i jego czas odpowiedzi.

Listing 4. Konfiguracja wtyczki check_smtp
Zdefiniuj polecenie( nazwa_polecenia check_smtp wiersz_polecenia /usr/lib/nagios/plugins/check_smtp -H $HOSTAADDRESS$ )

Ścieżka do wtyczki jest wyraźnie określona tutaj check_smtp i konieczność dodania do zapytania poprzez opcję -BIODRO adres sprawdzanego węzła, który jest podmieniany automatycznie na podstawie dyrektywy zdefiniuj usługę nad. Jeśli uruchomisz tę wtyczkę z wiersza poleceń, wyświetlą się następujące informacje:

/usr/lib/nagios/plugins/check_smtp -H 192.168.4.1 SMTP OK - 0,038 sek. czas odpowiedzi|czas=0,037518s;;;0,00000

Opcje uruchamiania mogą być różne, najważniejsze jest prawidłowe dodanie ich do opisu polecenia. Format wyjściowy jest szczegółowo opisany w dokumentacji instalowanej wraz z interfejsem WWW.

Podczas instalacji NRPE-daemon, tylko niewielka część wtyczek jest zarejestrowana w pliku nrpe.conf, wśród nich jest powyższe polecenie check_load:

polecenie=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20

Powyższy wiersz zawiera ścieżkę do wtyczki check_load i uruchom opcje. Jeśli wtyczka zostanie uruchomiona bez parametrów, wyświetli listę prawidłowych parametrów. Na przykład musisz utworzyć polecenie check_usr dla NRPE, który zwróci informacje o partycji /dev/md2 zamontowanej w ścieżce /usr do serwera monitorowania. Ta funkcjonalność może być zaimplementowana za pomocą standardowej wtyczki Sprawdź dysk. Jeśli uruchomisz go bez parametrów, zostanie wyświetlony opis parametrów początkowych.

Sposób użycia: check_disk -w limit -c limit [-W limit] [-K limit] (-p ścieżka | -x urządzenie) [-C] [-E] [-e] [-g grupa ] [-k] [ -l] [-M] [-m] [-R ścieżka ] [-r ścieżka ] [-t limit czasu] [-u jednostka] [-v] [-X typ]

Na podstawie dostarczonych informacji możesz przygotować zespół check_usr i umieść go w pliku nrpe.conf:

command=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/md2

Próbne uruchomienie tego polecenia da następujące dane wyjściowe:

/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/md2 DYSK OK - wolne miejsce: /usr 20295 MB (86% i-węzeł=92%);| /usr=3061MB;19684;22145;0;24606

Jak widać, w Nagios możesz łatwo tworzyć wtyczki do wykonywania różnych zadań i łączyć je z demonem NRPE.

Rozszerzenia Nagios

Omawiając możliwości Nagios, konieczne jest rozważenie najciekawszych rozszerzeń, które znacznie zwiększają możliwości Nagios.

rozszerzenie pnp4nagios

Domyślnie Nagios przechowuje historię stanu monitorowanych parametrów tylko według ich poziomu krytyczności (normalny, ostrzegawczy, krytyczny). Użytkownik może zobaczyć, w jakich okresach parametr znajdował się w różnych stanach i jaki był łączny czas spędzony w tych stanach w okresie raportowania.


Jak pokazano na rysunku 5, okres krytyczny zaznaczono na czerwono, a okresy normalnego funkcjonowania na zielono. To rozwiązanie jest odpowiednie dla parametrów typu logicznego (tak/nie), na przykład integralności macierzy RAID. W przypadku parametrów liczbowych bardziej przydatne byłoby śledzenie dynamiki zmian.

Rozbudowa pnp4nagios, regularnie odbierający od nagiosd wartości parametrów, zapisuje historię ich zmian i generuje raport w formie graficznej. Wykresy można dowolnie łączyć i, jeśli to konieczne, konwertować powstałą stronę WWW do pliku PDF. Rysunek 6 przedstawia raport o zmianie parametrów średnie obciążenie dla określonego węzła.

Rysunek 6. Strona internetowa rozszerzenia pnp4nagios
Wniosek

Na szczególną uwagę zasługuje niska zasobochłonność tego rozwiązania. Jedna firma używa Nagios do monitorowania 14 węzłów i 140 usług na nich, podczas gdy demon NRPE zajmuje 512 KB pamięci RAM, a serwer nagiosd tylko 140 KB pamięci RAM. Zużycie zasobów procesora przez oba komponenty i ich procesy podrzędne na procesorze Pentium-IV nie przekracza 1%. Wśród monitorowanych parametrów znajdują się: temperatura dysków twardych i płyt głównych, stan partycji dyskowych, wielkość kolejek pocztowych, prędkości wentylatorów, integralność macierzy RAID i wiele innych.

Jak pokazano w tym artykule, pakiet Nagios ma bardzo niskie wymagania dotyczące zasobów, jest wysoce konfigurowalny i jest otwarty na nowe wtyczki i rozszerzenia. Dla małej lub średniej firmy, która posiada już co najmniej jeden serwer Linux/Unix, Nagios jest idealnym rozwiązaniem do monitorowania istniejącej infrastruktury IT.

DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chciałbyś przeczytać The Bell?
Bez spamu