Nagios – to system który zapewni nam ciągły monitoring naszych urządzeń sieciowych oraz usług. System ten, dobrze skonfigurowany, potrafi skutecznie odciążyć administratora od mozolnego sprawdzania, czy wszystkie usługi działają jak powinny. Każda awaria, odstępstwo od normy (które same możemy zdefiniować) jest zgłaszana przez system. Logując się do nagiosa, mamy też szybki podgląd wszystkich usług. Jednak jego największa zaleta to szeroko rozwinięta sieć wtyczek oraz dodatków. Bardzo łatwo można też pisać własne skrypty, przez co mamy możliwość dostosowania monitoringu do naszych potrzeb. Nagios dostępny za darmo, a do działania wymaga serwera www oraz php.
W poniższym wpisie opiszemy proces instalacji oraz podstawowej konfiguracji apache’a, niezbędnej do działąnia nagiosa. Jako systemu bazowego użyjemy OpenBSD 5.1. Wszystkie niezbędne paczki dostępne są w repozytorium, więc instalacja jest banalnie prosta.
Świeżo zainstalowany system wymaga ustawienia zmiennej PKG_PATH. Od razu dodamy do systemu kilka przydatnych paczek:
# export PKG_PATH=http://ftp.icm.edu.pl/pub/OpenBSD/5.1/packages/i386/ # pkg_add -i bash screen mc wget zip unzip
Instalacja nagiosa
W systemie OpenBDS daemon httpd działa domyślnie w środowisku chroot, dlatego przy instalacji nagiosa, wybierzemy paczkę przygotowaną własnie pod taką konfigurację (nagios-chroot).
root@obsd51:~>pkg_add -i nagios nagios-web nagios-plugins nagios-plugins-snmp Ambiguous: choose package for nagios a 0: <None> 1: nagios-3.3.1p2 2: nagios-3.3.1p2-chroot Your choice: 2 nagios-3.3.1p2-chroot:nagios-plugins-1.4.15p1: ok nagios-3.3.1p2-chroot:femail-0.98: ok nagios-3.3.1p2-chroot:femail-chroot-0.98: ok nagios-3.3.1p2-chroot:libxml-2.7.8p4: ok nagios-3.3.1p2-chroot:php-5.3.10: ok nagios-3.3.1p2-chroot:libltdl-2.4.2: ok useradd: Warning: home directory `/var/www/nagios' doesn't exist, and -m was not specified nagios-3.3.1p2-chroot: ok Ambiguous: choose package for nagios-web a 0: <None> 1: nagios-web-3.3.1p2 2: nagios-web-3.3.1p2-chroot Your choice: 2 nagios-web-3.3.1p2-chroot: ok nagios-plugins-snmp-1.4.15p0:p5-Crypt-DES-2.05p3: ok nagios-plugins-snmp-1.4.15p0:p5-Digest-SHA1-2.13p1: ok nagios-plugins-snmp-1.4.15p0:p5-Digest-HMAC-1.02p0: ok nagios-plugins-snmp-1.4.15p0:p5-Net-SNMP-6.0.1p0: ok nagios-plugins-snmp-1.4.15p0:net-snmp-5.7.1p0: ok nagios-plugins-snmp-1.4.15p0: ok
Warto jeszcze dodać, że instalator utworzył użytkownika _nagios
:
root@obsd51:~>getent passwd _nagios _nagios:*************:550:550:Nagios user:/var/www/nagios:/sbin/nologin
Konfiguracja apache
Tak jak pisaliśmy wyżej, interfejs www został napisany w języku php, więc musimy aktywować ten moduł w apache:
root@obsd51:~>cd /var/www/conf/modules root@obsd51:/var/www/conf/modules>ln -s ../modules.sample/php-5.3.conf php.conf root@obsd51:/var/www/conf/modules>ls -l total 0 lrwxr-xr-x 1 root daemon 30 Jul 12 11:35 php.conf -> ../modules.sample/php-5.3.conf
Stworzymy oddzielnego vhost’a dla nagiosa, a jego całą konfigurcję zapiszemy w pliku nagios.tech.itcore.pl
. Będzie to też domena przez która dostaniemy się do nagiosa, adres IP naszego serwera to 192.168.1.250. Zawartośc pliku poniżej:
root@obsd51:/var/www/conf>cat /var/www/conf/nagios.tech-itcore.pl.conf <VirtualHost 192.168.1.250:80> ServerName nagios.tech-itcore.pl DocumentRoot "/nagios" ErrorLog logs/nagios.tech-itcore.pl-error_log CustomLog logs/nagios.tech-itcore.pl-access_log combined HostnameLookups Off UseCanonicalName Off ServerSignature Off ScriptAlias /cgi-bin/nagios "/var/www/cgi-bin/nagios" <Directory "/var/www/cgi-bin/nagios"> Options ExecCGI Order allow,deny Allow from all AuthName "nagios Access" AuthType Basic AuthUserFile /users/nagios.passwd Require valid-user </Directory> Alias /nagios "/var/www/nagios <Directory "/var/www/nagios"> AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /users/nagios.passwd Require valid-user </Directory> </VirtualHost>
Na końcu pliku /var/www/conf/httpd.conf
dopisujemy:
NameVirtualHost 192.168.1.250:80 Include "/var/www/conf/nagios.tech-itcore.pl.conf"
Dostęp do nagiosa wymaga autoryzacji, a baza użytkowników zapisana jest w pliku nagios.passwd
. W domyślniej konfiguracji wymagany jest użytownik nagiosadmin:
root@obsd51:/var/www/conf>cd /var/www/users/ root@obsd51:/var/www/users>htpasswd -c nagios.passwd nagiosadmin New password: Re-type new password: Adding password for user nagiosadmin root@obsd51:/var/www/users>cat nagios.passwd nagiosadmin:$2a$06$8bsdlm2wK1hfIUAf.......
Do pliku /etc/rc.conf.local
dodajemy deamona httpd:
root@obsd51:/etc> cat /etc/rc.conf.local httpd_flags=""
I uruchamiamy go:
root@obsd51:/etc>/etc/rc.d/httpd start httpd(ok)
Pierwsze uruchomienie i kilka zrzutów ekranu
Wirtualny host już działa, możemy przetestować go w przeglądarce:
Po wpisaniu poprawnego hasła pokazuje nam się interfejs nagiosa. Musimy tylko uruchomić daemona nagios
i dopiero wtedy nasz cały system będzie gotowy.
root@obsd51:/etc>/etc/rc.d/nagios start nagios(ok)
Domyślna konfiguracja automatycznie sprawdza kilka usług, takich jak ping, daemon ssh, obciążenie systemu czy zużycie miejsca na dysku. Dzięki temu od razu, można zobaczyć jak prezentuje się nagios. W menu po lewej stronie klikamy w sekcje Hosts lub Services, gdzie możemy wyświetlić monitorowane hosty lub usługi:
1 Komentarze.