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 148: Linia 148:
 
  Error: Service check command 'check_nrpe' specified in service 'Current Users' for host 'serwer-www' not defined anywhere!
 
  Error: Service check command 'check_nrpe' specified in service 'Current Users' for host 'serwer-www' not defined anywhere!
 
  Error: Service check command 'check_nrpe' specified in service 'Partycja home' for host 'serwer-www' not defined anywhere!
 
  Error: Service check command 'check_nrpe' specified in service 'Partycja home' for host 'serwer-www' not defined anywhere!
Checked 11 services.
+
  ....
  Checking hosts...
+
Checked 2 hosts.
+
Checking host groups...
+
Checked 2 host groups.
+
Checking service groups...
+
Checked 0 service groups.
+
Checking contacts...
+
Checked 1 contacts.
+
Checking contact groups...
+
Checked 1 contact groups.
+
Checking service escalations...
+
Checked 0 service escalations.
+
Checking service dependencies...
+
Checked 0 service dependencies.
+
Checking host escalations...
+
Checked 0 host escalations.
+
Checking host dependencies...
+
Checked 0 host dependencies.
+
Checking commands...
+
Checked 24 commands.
+
Checking time periods...
+
Checked 5 time periods.
+
Checking for circular paths between hosts...
+
Checking for circular host and service dependencies...
+
Checking global event handlers...
+
Checking obsessive compulsive processor commands...
+
Checking misc settings...
+
 
  Total Warnings: 0
 
  Total Warnings: 0
 
  Total Errors:  2
 
  Total Errors:  2
 
  ***> One or more problems was encountered while running the pre-flight check...
 
  ***> One or more problems was encountered while running the pre-flight check...
 
 
     Check your configuration file(s) to ensure that they contain valid
 
     Check your configuration file(s) to ensure that they contain valid
 
     directives and data defintions.  If you are upgrading from a previous
 
     directives and data defintions.  If you are upgrading from a previous
Linia 216: Linia 188:
 
*'''-c''' określa kiedy występuje critical
 
*'''-c''' określa kiedy występuje critical
 
zakres tych opcji zostanie ustalony na klientach (stacjach monitorowanych).
 
zakres tych opcji zostanie ustalony na klientach (stacjach monitorowanych).
 +
<br />
 +
Po wprowadzeniu tych zmian restartujemy nagiosa
 +
service nagios restart
 +
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]]
 +
<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