Nagios

Z wiki linux-user
Skocz do: nawigacji, wyszukiwania
m
 
Linia 59: Linia 59:
 
  service httpd start
 
  service httpd start
 
Kolejnym krokiem jest nadanie użytkownika i hasła do przeglądania web-gui nagiosa wydając polecenie
 
Kolejnym krokiem jest nadanie użytkownika i hasła do przeglądania web-gui nagiosa wydając polecenie
  htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
+
  htpasswd -c /etc/nagios/htpasswd.users nagios
 
i możemy zalogować się do web-gui nagiosa za pomocą przeglądarki internetowej na adres<br />
 
i możemy zalogować się do web-gui nagiosa za pomocą przeglądarki internetowej na adres<br />
 
http://adres-ip-serwera-nagios/nagios<br />
 
http://adres-ip-serwera-nagios/nagios<br />
Linia 65: Linia 65:
  
 
==== Pliki konfiguracyjne serwera nagios ====
 
==== Pliki konfiguracyjne serwera nagios ====
Głównym plikiem konfiguracyjnym nagiosa jest plik /etc/nagios/nagios.cfg
+
Głównym plikiem konfiguracyjnym nagiosa jest plik /etc/nagios/nagios.cfg, natomiast logi domyślnie znajdują się w katalogu ''/var/log/nagios''.
 
===== /etc/nagios/nagios.cfg =====
 
===== /etc/nagios/nagios.cfg =====
 
w tym pliku znajduje się wiele ciekawych opcji a jedną z najważniejszych dla nas jest  
 
w tym pliku znajduje się wiele ciekawych opcji a jedną z najważniejszych dla nas jest  
Linia 84: Linia 84:
 
* monitorowanie zalogowanych obecnie użytkowników do serwera
 
* monitorowanie zalogowanych obecnie użytkowników do serwera
 
* monitorowanie usługi http
 
* monitorowanie usługi http
poniżej wklejam dupasowany do moich potrzeb plik serwer-www.cfg
+
poniżej wklejam dopasowany do moich potrzeb plik serwer-www.cfg
 
  define host{
 
  define host{
 
         use                    linux-server
 
         use                    linux-server
Linia 94: Linia 94:
 
         hostgroup_name  linux-servers
 
         hostgroup_name  linux-servers
 
         alias          Linux Servers ; Long name of the group
 
         alias          Linux Servers ; Long name of the group
         members        serwery
+
         members        serwer-www
 
         }
 
         }
 
  define service{
 
  define service{
         use                            local-service        ; Name of service template to use
+
         use                            generic-service        ; Name of service template to use
 
         host_name                      serwer-www
 
         host_name                      serwer-www
 
         service_description            PING
 
         service_description            PING
Linia 103: Linia 103:
 
         }
 
         }
 
  define service{
 
  define service{
         use                            local-service        ; Name of service template to use
+
         use                            generic-service        ; Name of service template to use
 
         host_name                      serwer-www
 
         host_name                      serwer-www
 
         service_description            Partycja home
 
         service_description            Partycja home
Linia 109: Linia 109:
 
         }
 
         }
 
  define service{
 
  define service{
         use                            local-service        ; Name of service template to use
+
         use                            generic-service        ; Name of service template to use
 
         host_name                      serwer-www
 
         host_name                      serwer-www
 
         service_description            Current Users
 
         service_description            Current Users
Linia 115: Linia 115:
 
         }
 
         }
 
  define service{
 
  define service{
         use                            local-service        ; Name of service template to use
+
         use                            generic-service        ; Name of service template to use
         host_name                      localhost
+
         host_name                      check-www
 
         service_description            HTTP
 
         service_description            HTTP
         check_command                  check_http
+
         check_command                  check_nrpe!check_httpd
 
         notifications_enabled          0
 
         notifications_enabled          0
 
         }
 
         }
Linia 191: Linia 191:
 
Po wprowadzeniu tych zmian restartujemy nagiosa
 
Po wprowadzeniu tych zmian restartujemy nagiosa
 
  service nagios restart
 
  service nagios restart
tym razem powinien uruchomić się bez problemu, a po chwili powinniśmy zobaczyć nową maszyne w panelu web-gui nagiosa.<br />
+
tym razem powinien uruchomić się bez problemu, a po chwili powinniśmy zobaczyć nową maszyne w panelu web-gui nagiosa.<br /><br />
 
[[Plik:nagios1.png|800px]]
 
[[Plik:nagios1.png|800px]]
 +
<br />
 +
Jak można zauważyć mam dwa błędy krytyczne z błedem ''Connection refused by host '', można się tylko domyślać, że nie mam poprawnie skonfigurowanego klienta (hosta monitorowanego).
 +
 +
=== Konfiguracja klienta Linux - stacja monitorowana ===
 +
Moim klientem czyli maszyna, którą chcę monitorować jest Fedora 16 z zainstalowanym oprogramowaniem apache, dlatego też nazwa w nagiosie ''serwer-www''. Aby zainstalować w systemie Linux klienta dla nagiosa wydajemy polecenie
 +
yum install nrpe nagios-plugins-nrpe
 +
program nrpe robi za klienta który nasłuchuje na porcie 5666 a pakiet nagios-plugins-nrpe dostarcza nam pluginy, które możemy wykorzystać do monitorowania swoich usług.<br />
 +
Po zainstalowaniu pakietu ''nagios-plugins-nrpe'' wszystkie pluginy powinny znajdować się w ścieżce ''/usr/lib/nagios/plugins'' lub w ''/usr/local/nagios/libexec/'' w zależności od używanego systemu.<br />
 +
Na maszynie monitorowanej najważniejszym plikiem jest ''/etc/nagios/nrpe.cfg'', który jest dostępny po zainstalowaniu paczki '''nrpe'''. W tym pliku konfigurujemy między innymi takie opcje jak
 +
* '''server_port''' port na którym ma działać usługa (domyślnie 5666)
 +
* '''server_address''' adres serwera nrpe (czyli lokalny)
 +
* '''nrpe_user''', ''' nrpe_group''' użytkownika i grupę nrpe (zostawiamy domyślnie)
 +
* '''allowed_hosts''' hosty, które mają możliwość odebrania informacji od nrpe (ważna opcja musimy w tym miejscu podać IP lub nazwę DNS serwera monitorującego)
 +
* '''dont_blame_nrpe=1''' opcja domyślnie ustawiona na '''0''', musimy ją przestawić na '''1''' jeśli chcemy mieć możliwość dopuszczania argumentów w komendach z definicji
 +
* '''command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20''' właściwa komenda dla serwera odpytującego
 +
do mojego konfiga '''nrpe.cfg''' muszę dodać dwie dodatkowe reguły takie same jak podałem w plikach '''commands.cfg''' i '''serwer-www.cfg''' na serwerze nagiosa (zauważ, że nazwy '''check_disk''' oraz '''check_users''' w poszczególnych plikach muszą być takie same) czyli
 +
* check_users
 +
* check_disk
 +
===== komenda dla sprawdzenia partycji =====
 +
komenda dla sprawdzenia mojej np partycji /dev/sda6 będzie wyglądała następująco
 +
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda5
 +
gdzie
 +
* '''-w''' określa poziom dla zdarzenia ''warning'' ustawiłem na 20% wolnej przestrzeni na partycji
 +
* '''-c''' to samo co wyżej tylko dla zdarzenia ''critical'' ustawione na 10% wolnej przestrzeni
 +
* '''-p''' określa jakie urządzenie ma być monitorowane
 +
* '''/usr/local/nagios/libexec/check_disk''' ścieżka do pluginów zainstalowanych z pakietu ''nagios-plugins-nrpe''
 +
===== komenda dla sprawdzenia użytkowników =====
 +
aby sprawdzić ile osób jest zalogowanych na danej maszynie musisz dopisać następującą linijkę
 +
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
 +
gdzie
 +
* '''-w''' warning
 +
* '''-c''' critical
 +
* '''/usr/local/nagios/libexec/check_users''' ścieżka do pluginu
 +
 +
===== komenda dla sprawdzenia stanu http =====
 +
aby sprawdzić stan serwera http możesz dopisać taką regułe
 +
command[check_httpd]=/usr/local/nagios/libexec/check_http -I 192.168.0.12 -w 20 -c 60
 +
 +
Opis poszczególnych pluginów i ich możliwych opcji możecie wyszukać na stronie [http://nagiosplugins.org/ nagiosplugins.org]
 +
Po wyżej wymienionych zmianach uruchamiamy lub restartujemy program '''nrpe'''
 +
service nrpe restart
 +
i po chwili powinny być widoczne zmiany w web-gui serwera nagios<br /><br />
 +
[[Plik:nagios2.png|800px]]
 +
<br />
 +
Jak widać mam jednego ''warninga'' przy opcji ''Current Users'', ponieważ ustawiłem opcję '''-w''' na '''2''' a w danej chwili jest zalogowanych 3 userów.
 +
<br />
 +
=== Konfiguracja klienta Windows - stacja monitorowana ===
 +
Konfiguracja klienta winsows na serwerze monitorującym nie różni się niczym od konfiguracji monitorowanej stacji z systemem Linux. Dlatego tutaj opisze co należy wykonać na systemie Windows XP aby zadziałał monitoring.<br />
 +
Zaczynamy od ściągnięcia ze strony [http://www.nagios.org/download/addons www.nagios.org/download/addons] paczki z klientem dla systemu Windows. Następnie należy rozpakować ściągniętą paczkę i przejść do katalogu odpowiedniego dla swojego systemu w moim przypadku będzie to '''Win_2k_XP_Bin'''.<br />
 +
Następnie kopiujemy pliki ''pNSClient.exe'', ''pdh.dll'', ''psapi.dll'', ''counters.defs'' do katalogu np ''C://nsclient''.<br />
 +
Otwieramy wiersz poleceń systemu Windows i przechodzimy do katalogu gdzie zostały przekopiowane wyżej wymienione pliki i wpisujemy polecenie
 +
pNSClient.exe /install
 +
a następnie żeby uruchomić usługę
 +
net start client
 +
więcej szczegółów znajdziesz w pliku README ściągniętej paczki.
 +
 +
== Nagios web-gui ==
 +
W samym web-gui nagiosa aby przyśpieszyć albo wysłać z ręki zapytanie o status usługi do danego klienta klikamy na usługa (np ''HTTP'') -> następnie po lewej stronie w tabelce na opcję ''Re-schedule the next check of this service'' -> klikamy na przycisk ''Commit'' -> klikamy na ''Done''.
  
HOWTO W TRAKCIE PISANIA
 
 
<br /><google1 style="4"></google1>
 
<br /><google1 style="4"></google1>

Aktualna wersja na dzień 12:39, 19 lis 2012

Osobiste
Przestrzenie nazw

Warianty
Działania
Nawigacja
Narzędzia


Sponsor serwisu

Firma informatyczna ITProjek Bydgoszcz usługi informacztyczne, serwery, linux, windows, strony www, hosting, sieci komputerowe, system archiwizacji danych