Konfiguracja Nagios
To właśnie w pliku nagios.cfg znajdują się wszystkie ważniejsze ścieżki do poszczególnych plików z konfiguracją hostów w sieci. Można powiedzieć, że jest to serce programu Nagios. W pliku nagios.cfg są ścieżki do plików konfiguracyjnych, wśród których wyróżniamy:
a) Katalog z plikami cfg, które reprezentują hosty w sieci. Przykład dla localhost.cfg o nazwie zie-srv-nagios znajduje się poniżej. Najpierw zdefiniowany jest host, który używa template o nazwie linux-server, a następnie zdefiniowane są określone usługi, które także mają swoje templete o nazwie generic-service oraz local-service.
b) commands.cfg – do tego pliku odwołuje się każdy plik (w naszym przypadku localhost.cfg) w którym jest użyta komenda „check_command”. To właśnie tu następuje zdefiniowanie komendy. Oprócz podania nazwy komendy trzeba podać ścieżkę w której dany plugin się znajduje ($USER1$ jest częścią ścieżki, która jest zdefiniowana w pliku resource.cfg; przeważnie jest to /usr/local/nagios/libexec)
c) templates.cfg – zdefiniowane templete dla hosta i usług (o nazwach generic-host, linux-server, generic-service i local-service)
d) contacts.cfg – określenie kto ma być informowany o problemach
e) timeperiod.cfg – określenie przedziałów czasowych dla których będzie działał Nagios; najlepiej jest użyć pliku przykładowego dostarczonego wraz z instalacją pakietu Nagios.
f) hostgroup.cfg – zdefiniowane grupy, które łatwo można później zlokalizować i przyporządkować w Nagios
Najlepiej po każdej ingerencji w pliki konfiguracyjne uruchomić polecenie:
I zwracać uwagę na wszystkie errory oraz warning, które od razu pokazują plik w którym występuje niejasność lub brak zdefiniowania określonych parametrów do których jest odwołanie.
Krok 1. Sprawdzenie czy pliki w folderach istnieją:
Na początek upewnić się czy plik process_perfdata.cfg oraz rra.cfg znajduje się w folderze /usr/local/pnp4nagios/etc/ . Jeżeli nie, najlepiej znaleźć pliki w katalogu pnp4nagios-0.6.2 (process_perfdata.cfg-sample oraz rra.cfg-sample), zmienić ich nazwy (bez ‘-sample’) i skopiować do powyższego folderu (/usr/local/pnp4nagios/etc/). Dodatkowo upewnić się przy process_perfdata.pl znajduje się w folderze, gdzie znajdują się wszystkie pluginy z Nagios (w moim przypadku /usr/local/nagios/libexec/), jeżeli nie znajdujemy plik process_perfdata.pl-sample, zmieniamy nazwę na process_perfdata.pl i umieszczamy go w folderze /libexec.
Krok 2. Kolejnym krokiem jest edycja pliku konfiguracyjnego nagios.cfg. Edycji i zmian należy dokonać według poniższych wartości:
Krok 3. Edycja pliku konfiguracyjnego templates.cfg (w moim przypadku uzupełnienie o następujące wpisy):
Szczególną uwagę przywiązujemy do ścieżki, która zaczyna się od /pnp4nagios/…. Należy pamiętać o tym, że ścieżka może być inna co zależy od ustawień instalacji.
Krok 4. Dodajemy w definicji hostów i usług następujące wiersze (należy zwrócić uwagę na ścieżki!):
Dla hosta:
Dla usługi:
W moim przypadku wpiszemy na dole przed } to:
Na poniższym rysunku zaznaczyłem te dwa odnośniki:
[singlepic id=28 w=320 h=240 float=center]
Krok 5. Edytujemy plik konfiguracyjny command.cfg i uzupełniamy o następujące wiersze:
stare wpisy dezaktywujemy, czyli dodajemy ‘#’ przed wierszami:
Krok 6. Czas na weryfikacje instalacji poprzez plik, który jest dostarczony w pakiecie z pnp4nagios (plik o nazwie ‘verify_pnp_config’):
System do monitorowania, między innymi serwerów, jest potrzebny. Można go wykorzystać do profesjonalnych rozwiązań jak i do zabawy. W poniższym artykule postaram się opisać szybką instalacje i zamieścić parę porad dla początkujących.
DLA SERWERA NAGIOS Instalacja Nagios\’a i pluginów
Na początek będą potrzebne następujące paczki (oprócz php):
Tworzymy nowego użytkownika i grupę o takiej samej nazwie:
Tworzymy katalog w którym umieścimy pliki instalacyjne oraz wszystkie pliki konfiguracyjne:
Następnie ściągamy pliki „nagios-3.2.0.tar.gz”, „nagios-plugins-1.4.14.tar.gz” oraz „nrpe-2.12.tar.gz” (odnośniki na stronie: Nagios download)
Każdy plik rozpakowujemy poleceniem:
NAGIOS instalacja
Uwaga: przed \’prefix\' i każdym \’with\' są dwa myślniki.
Powyższa komenda między innymi ustala ścieżki do folderów, gdzie będą instalowane poszczególne elementy Nagiosa.
Kolejnym krokiem to kompilacja kodu źródłowego Nagiosa oraz instalacja głównego programu (gdzie będą pliki CGI oraz HTML) spryptu init (w /etc/init.d), przykładowej konfiguracji (pliki konfiguracyjne Nagiosa dla localhosta), akceptowanie zewnętrznych katalogów z komendami dla Nagiosa oraz plik konfiguracyjny Nagiosa w folderze conf.d w Apache.
Instalacja pluginów jest szybka. Po rozpakowaniu pliku „nagios-plugins-1.4.14.tar.gz” wykonujemy następujące polecenia:
Następnie tworzymy konto AdministratorNagios do logowania się do Nagiosa poprzez przeglądarkę internetową i podajemy hasło, które będzie później potrzebne. Po czym restartujemy Apache.
Edytujemy plik nagios.conf I zamieniamy linijke:
Na:
Po czym tworzymy plik i podajemy hasło dla AdministratorNagios:
W ten sposób instalacja Nagiosa została zakończona. Można wykonać: /etc/init.d/nagios3 restart (restart wykonuje się po każdej ingerencji w pliki Nagiosa)
Instalacja NRPE do komunikacji między serwerem Nagios a klientami DLA SERWERA
Po rozpakowaniu pliku „nrpe-2.12.tar.gz” wykonujemy:
Zainstalowany zostanie plugin NRPE, deamon, przykładowy plik konfiguracyjny oraz xinetd (NRPE daemon będzie działał pod tą usługą). Co najważniejsze (tylko w przypadku serwera!) dodajemy wpis do pliku command.cfg (znajduje się w /usr/local/nagios/etc/)
$USER1$ to ścieżka, która jest skonfigurowana w pliku resource.cfg
Dodatkowo na serwerze trzeba edytować plik /etc/local/nagios/etc/nrpe.cfg i dodać w nim linijkę:
DLA KLIENTA
Dla klienta nie ma potrzeby instalowania Nagiosa. Potrzebne jest jedynie zainstalowanie pluginów oraz NRPE (można postępować według powyższej instrukcji). W przypadku NRPE, po zainstalowaniu, dodatkowo edytujemy linijkę only_from w pliku /etc/xinetd.d/nrpe
następnie edytujemy plik /etc/services I dodajemy wiersz:
Po tych czynnościach restartujemy xinetd i sprawdzamy czy port 5666 nasłuchuje
Powinien wyświetlić sie następujący komunikat:
Jeżeli taki komunikat nie pojawił się należy upewnić się czy został dodany wpis w pliku /etc/services, czy został wpisany poprawny adres serwera w pliku /etc/xinetd.d/nrpe, czy xinetd jest zainstalowany i uruchomiony oraz w ostateczności sprawdzić logi systemowe dla xinetd i nrpe.
Jeżeli daemon NRPE działa poprawnie, po wpisaniu komendy:
Powinien wyświetlić się komunikat dotyczący zainstalowanej wersji NRPE, na przykład:
Dodatkowo na hoście klienta trzeba edytować plik /etc/local/nagios/etc/nrpe.cfg i dodać w nim, w zależności od tego co chcemy mieć sprawdzane, przykładowo:
a także
Podsumowując: po każdej modyfikacji jakiegokolwiek pliku, który łączy się z Nagios należy wykonać restart. Pluginy znajdują się w katalogu /libexec. Przykładowe pliki konfiguracyjne znajdują się w folderze /conf.d. W celu modyfikacji i wprowadzania nowych funkcji wykorzystuję się pliki: nagios.cfg (główny plik konfiguracji w którym określamy, które pliki mają być brane pod uwagę przy tworzeniu statystyk), commands.cfg (każda komenda check_ musi być tu zaimplementowana), resource.cfg (to tu znajdują się hasła oraz ścieżki, które można wykorzystać w prostych skrótach np.:$ARG1$), cgi.cfg (poszczególne ekrany przedstawiające statystyki w Nagios). Powtórzę kolejny raz: należy bardzo dokładnie przyjrzeć się przykładowej konfiguracji plików w katalogu conf.d.
W najbliższym czasie postaram się dołączyć opis instalacji i konfiguracji PNP4Nagios do tworzenia wykresów (wiem, że Munin też jest ok, ale potrzebowałem czegoś co jest zintegrowane z Nagios) oraz poradę jak zmienić skórkę w Nagios. Ewentualnie będę się starał dostosować do komentarzy.