Nagios 4.0.8
Priit Varul A31 Kuupäev 12.01.2015
Sissejuhatus
Järgnevas kirjutises paigaldame Nagiose Core Ubuntu Serverisse ja lisame ka ühe kliendi mida monitoorida.
Nagios on üks enim populaarne monitooringu vabatarkvara mida kasutatakse arvutisüsteemide jälgimiseks, võrgu monitoorimiseks, IT infrastruktuuri tarkvara monitoorimiseks mis ennetab kriitilisi probleeme infrastruktuuris. Ta jälgib tervet infrat milleks on serverid, tööjaamad switchid, ruuterid, aplikatsioonid, võrguliiklus jne. Kui süsteemis on probleemid teavitab ta probleemist kas siis näiteks e-mail teel.
==Mida uut on Core 4.0.8's ==[1]
- JSON API väljund on viidud paremasse vastavusse standardviiisil ja väljundi suuruste limiite on tõstetud.
- Kontrollide planeerimine on muudetud hoidmaks ära hunnikut kontrolle ühe korraga.
- Automaatne kontrollide planeerimine on sisse tagasi toodud. Seda saab käima panna seadetest.
- Terve Nagios 4.0.8 muutuste nimekiri
Labori keskkond
Tööd viisin läbi Hyer-V keskkonnas.
Ubuntu Server - kuhu peale on paigaldatud Nagios Core ja Nagiose pluginad
Ubuntu Desktop - Klient kuhu peale NRPE paigaldatud mille abil suheldakse serveriga.
NB! Kogu tegevus toimub SUDO õigustes!
Eeldused Nagiose paigalduseks
Allolevaid pakke on vaja et süsteemi Nagios't paigaldada.
root@nagios [~]# apt-get install build-essential php5-gd libgd2-xpm libgd2-xpm-dev libapache2-mod-php5 libperl-dev libssl-dev apache2-utils
PAIGALDUS
1) Luua Nagiosele kasutaja ning grupp
# Uue kasutaja loomine # root@nagios [~]# useradd nagios # Parooli panek # root@nagios [~]# passwd nagios # Uue grupi loomine # root@nagios [~]# groupadd nagcmd # Kasutaja gruppi panemine # root@nagios [~]# usermod -a -G nagcmd nagios # Apache kasutaja nagiose gruppi lisamine # root@nagios [~]# usermod -a -G nagcmd www-data
2) Nagiose ja pluginate allalaadimine
Selleks läheme kausta /tmp
# Nagios allalaadimine # <pre>root@nagios [~]# wget http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.8/nagios-4.0.8.tar.gz # Pluginate allalaadimine # root@nagios [~]# wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
3) Kompileerime ja paigaldame Nagiose
# Pakime lahti arhiivi # root@nagios [~]# tar -xzvf nagios-4.0.8.tar.gz # Lähme kausta # root@nagios [~]# cd nagios-4.0.8 # Käivitame Nagiose seadistamise skripti, andes ette grupi mille me ennem Nagiose jaoks lõime: # root@nagios [~]# ./configure --with-command-group=nagcmd # Kompileerimine Nagiose lähtekoodi# root@nagios [~]# make all # Paigaldame Nagiose binaarid # root@nagios [~]# make install # Paigaldame Install init skripti # root@nagios [~]# make install-init # Paigaldame näidis konfiguratsioonifaili # root@nagios [~]# make install-config # Seame õigused käskude kaustale # root@nagios [~]# make install-commandmode
4) Muudame konfiguratsiooni
Näidiskonfiguratsioon on kaustas /usr/local/nagios/etc ja see töötab nagu peab, kuid me peame ka lisama oma emaili et teavitusi saada kui Nagios midagi süsteemist avastab. Selleks peab /usr/local/nagios/etc/objects/contacts.cfg faili muutma:
5) Seadistame veebiliidese Kasutame allolevaid käskusi et paigaldada Nagiose veebiliiides. Konfiguratsioonifail läheb apache conf.d kausta, kus paigalduse käigus luuakse nagiose veebikasutaja "nagiosadmin" millele tuleb ka parool panna, et veebiliidesele ligi saada. <pre> root@nagios [~]# make install-webconf #Võimalik et saame järgmise errori:# /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf /usr/bin/install: cannot create regular file ‘/etc/httpd/conf.d/nagios.conf’: No such file or directory make: *** [install-webconf] Error 1
Ubuntu distributsioon kasutab apache2 kausta httpd asemel ja seepärast ka error. Et sellest errorist mööda pääseda peame me nagios.conf faili asukohta muutma pannes ta kausta /etc/apache2/sites-enabled/
root@nagios [~]# /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-enabled/nagios.conf root@nagios [~]# cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ # Anname õigused # root@nagios [~]# chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers # Anname kasutajale nagiosadmin parooli # root@nagios [~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin # Taaskäivitame Apache # root@nagios [~]# service apache2 restart
5) Kompileerime ja paigaldame Nagiose pluginad.
Läheme /tmp kausta tagasi kui me seal enam pole
# Pakime lahti pluginate arhiivi # root@nagios [~]# tar -xzvf nagios-plugins-2.0.3.tar.gz # Lähme kausta sisse # root@nagios [~]# cd nagios-plugins-2.0.3 # Käivitame Plugina konfiguratsiooniskripti, andes ette kasutaja mille varem lõime. # root@nagios [~]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios # Komplieerime Nagiose plugina lähtekoodi # root@nagios [~]# make # Paigaldame plugina binaarid # root@nagios [~]# make install
6) Võimaldame apache moodulite ülekirjutamise
root@nagios [~]# a2enmod rewrite root@nagios [~]# a2enmod cgi
7) Käivitame Nagiose
Enne käivitust kontrollime kas nagios.cfg's esineb vigu ja seejärel lisame ta süsteemi käivitamisel käima panevate teenuste listi.
# Kontrollime nagios.cfg # root@nagios [~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg # Lisame algkäivitusse # root@nagios [~]# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios # Käivitame Nagiose # root@nagios [~]# service nagios start
8) Veebiliidesele pääsemine
- Ametlik lehekülg Nagiose algelise paigalduse ja konfiguratsiooni kohta http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html
KLIENDI NAGIOSE KÜLGE ÜHENDAMINE
NB! Järgnevad tegevused viime kõik root kasutaja õigustega ja arvutis mida me soovime monitoorima hakata
1) Pakid mida vajame
root@nagios [~]# apt-get install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel
2) Loome kasutaja
root@desktop [~]# useradd nagios root@desktop [~]# passwd nagios
3) Paigaldame Nagiose pluginad
Selleks läheme kausta /tmp
# Pluginate allalaadimine # root@desktop [~]# wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz # Pakime lahti pluginate arhiivi # root@desktop [~]# tar -xzvf nagios-plugins-2.0.3.tar.gz
4) Kompileerime ja paigaldame Nagiose pluginad
root@desktop [~]# cd nagios-plugins-1.5 root@desktop [~]# ./configure root@desktop [~]# make root@desktop [~]# make install
Õiguse määramine plugina kaustale.
root@desktop [~]# chown nagios.nagios /usr/local/nagios root@desktop [~]# chown -R nagios.nagios /usr/local/nagios/libexec
5) Paigaldame Xinetd
Enamus süsteemides on Xinetd vaikimisi olemas, aga kui ei siis:
root@desktop [~]# apt-get install xinetd
6) Paigaldame NRPLE plugina
cd /tmp
root@desktop [~]# cd /tmp root@desktop [~]# wget http://garr.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
Pakime lahti
root@desktop [~]# tar xzf nrpe-2.15.tar.gz root@desktop [~]# cd nrpe-2.15
Kompileerimine ja paigaldame NRPE addoni
root@desktop [~]# ./configure root@desktop [~]# make all
7) Paigaldame NRPE plugin daemoni ja näite daemoni konfiguratsiooni
root@desktop [~]# make install-plugin root@desktop [~]# make install-daemon root@desktop [~]# make install-daemon-config
8) Paigaldame NRPE daemoni xinetd all nagu teenuse
root@desktop [~]# make install-xinetd
9) Avame /etc/xinetd.d/nrpe faili ja lisame monitooringu serveri IP
only_from = 127.0.0.1 localhost <nagios_ip_address>
10) Testime et NRPE Daemon lokaalselt töötab
root@desktop [~]# netstat -at | grep nrpe tcp 0 0 *:nrpe *:* LISTEN
11) Kontrollime check_nrpe kas väljund tuleb õige
root@desktop [~]# /usr/local/nagios/libexec/check_nrpe -H localhost
SERVERIL NRPE plugina paigaldus
root@desktop [~]# cd /tmp root@desktop [~]# wget http://garr.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
1) Pakime lahti
root@desktop [~]# tar xzf nrpe-2.15.tar.gz root@desktop [~]# cd nrpe-2.15
2) Kompileerimine ja paigaldame NRPE addoni
root@nagios [~]# ./configure root@nagios [~]# make all root@nagios [~]# make all-daemon
3) Testime kas check_nrpe töötab monitooritava arvuti peal
root@nagios [~]# /usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>
kui väljund on alljärgnev siis on kõik töötav:
NRPE v2.15
4) Lisame monitooritava Desktop arvuti nagiose serverisse
root@nagios [~]# cd /usr/local/nagios/etc/ root@nagios [~]# touch hosts.cfg root@nagios [~]# touch services.cfg
Lisame mõlemad loodud cfg failid põhikonfiguratsiooni:
cfg_file=/usr/local/nagios/etc/hosts.cfg cfg_file=/usr/local/nagios/etc/services.cfg
5) Avame hosts.cfg faili ja paneme sinna näite:
NB! Ole kindel et muudad host_name, alias ja aadressi muidu ei saa monitooritav masin külge
## Default Linux Host Template ## define host{ name linux-box ; Name of this template use generic-host ; Inherit default values check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 10 check_command check-host-alive notification_period 24x7 notification_interval 30 notification_options d,r contact_groups admins register 0 ; DONT REGISTER THIS - ITS A TEMPLATE } ## Default define host{ use linux-box ; Inherit default values from a template host_name Desktop ; The name we're giving to this server alias Ubuntu Desktop ; A longer name for the server address 10.0.0.1 ; IP address of Remote Linux host }
6) Lisame ka mõned service'd mida jälgima hakkame, selleks avame services.cfg.
define service{ use generic-service host_name Desktop service_description CPU Load check_command check_nrpe!check_load } define service{ use generic-service host_name Desktop service_description Total Processes check_command check_nrpe!check_total_procs } define service{ use generic-service host_name Desktop service_description Current Users check_command check_nrpe!check_users } define service{ use generic-service host_name Desktop service_description SSH Monitoring check_command check_nrpe!check_ssh } define service{ use generic-service host_name Desktop service_description FTP Monitoring check_command check_nrpe!check_ftp }
7) NRPE käskude definitsioonide loomine
root@nagios [~]# nano /usr/local/nagios/etc/objects/commands.cfg ############################################################################### # NRPE CHECK COMMAND # # Command to use NRPE to check remote host systems ############################################################################### define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
8) Viimaks kontrollime nagios.cfg õigsust
root@nagios [~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
9) Restardime Nagiose
root@nagios [~]# service nagios restart