Nagios 3.5: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Gmaisla (talk | contribs)
Gmaisla (talk | contribs)
 
(68 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Piia Ploovits A32, Sandra Sirel A31, Kristian Kivimägi A32, Grete Maisla A31 <br/>
Kuupäev: 19.11.2013
==Sissejuhatus==
==Sissejuhatus==
See artikkel on koostatud Linuxi administreerimise õppeaine raames labor 2 kaitsmise jaoks. Nagios on serverite ja teiste võrguseadmete jälgimise tarkvara, mis saadab administraatoritele tõrgetest automaatteateid. Nagiosega saab jälgida teenuste olekut ja koormust (näiteks sisselogitud kasutajate arv, ketta kasutus, andmebaaside seisukord jne). Nagios kasutab pluginate süsteemi, mis võimaldab vajadusel funktsioone juurde programmeerida.  
See artikkel on koostatud Linuxi administreerimise õppeaine raames labor 2 kaitsmise jaoks, mille üldiseks eesmärgiks oli keskse logihalduse lahenduse loomine. Nagios on serverite ja teiste võrguseadmete jälgimise tarkvara, mis saadab administraatoritele tõrgetest automaatteateid. Nagiosega saab jälgida teenuste olekut ja koormust (näiteks sisselogitud kasutajate arv, ketta kasutus, andmebaaside seisukord jne). Nagios kasutab pluginate süsteemi, mis võimaldab vajadusel funktsioone juurde programmeerida.  
NRPE on Nagiose plugin. NRPE võimaldab jälgida teiste masinate ressursse, mis muidu on kättesaadavad vaid sellesse konkreetsesse masinasse sisse logides (näiteks CPU, mälu ja ketta kasutus).
Nagios Remote Plugin Executor (edaspidi NRPE) on Nagiose plugin. NRPE võimaldab jälgida teiste masinate ressursse, mis muidu on kättesaadavad vaid sellesse konkreetsesse masinasse sisse logides (näiteks CPU, mälu ja ketta kasutus). [https://wiki.itcollege.ee/index.php/Nagios]
 
==Labori püstitus==
Paigaldadame Ubuntu serverisse Nagios Core monitooringu serveri ja jälgime teist Ubuntu serverit kasutades NRPE-d.


==Põhimõisted ja lühendid:==  
==Põhimõisted ja lühendid==  
Nagios Core- <br/>
'''Nagios Core'''- Nagios Core on monitooringu süsteem, mis võimaldab kontrollida süsteemi erinevaid parameetreid ja seisukorda(ketta maht, CPU kasutus jne). Samuti teavitab ta automaatselt administraatorit kui mingi süsteemi parameeter on kriitline või seisukord ei vasta süsteemi normaaltingimustele.
Nagios Plugins - Erinevad pluginad mille abil saab monitooritavat seadet monitoorida.
[http://www.nagios.org/projects/nagioscore]<br/>
'''Nagios Plugins''' - Erinevad pluginad mille abil saab monitooritavat seadet monitoorida.
Osa pluginaid on kaasas Nagiosega.<br/>
Osa pluginaid on kaasas Nagiosega.<br/>
Lisaks võib neid alla laadida ka järgmistest asukohtadest:<br/>
Lisaks võib neid alla laadida ka järgmistest asukohtadest:<br/>
Line 12: Line 20:
NagiosExchange.org: http://www.nagiosexchange.org/ <br/>
NagiosExchange.org: http://www.nagiosexchange.org/ <br/>


Pluginate kasutuse kohta saab infot käsuga : ./plugina_nimi --help, mis tuleb käivitada käsurealt.<br/>
Pluginate kasutuse kohta saab infot käsuga: ./plugina_nimi --help, mis tuleb käivitada käsurealt.<br/>
Plugin tagastab Nagios daemonile ühe neljast signaalist: <br/>
Plugin tagastab Nagios daemonile ühe neljast signaalist: <br/>
0 – teenus on OK<br/>
0 – teenus on OK<br/>
Line 21: Line 29:
Pluginaid saab käsurealt käivitada.<br/>
Pluginaid saab käsurealt käivitada.<br/>


Nagios NRPE - Selle teenuse abil saab jälgida monitooritavaid seadmeid. <br/>
'''Nagios NRPE''' - Selle teenuse abil saab jälgida teisi seadmeid. <br/>
[http://www.adamson.cc/ettekanne/Nagios%20slaidid.pdf]


Laboritöö teostamise eeldused: <br/>
==Laboritöö teostamise eeldused==
Teadmisi Linux operatsiooni süsteemist<br/>
*Teadmisi Linux operatsiooni süsteemist
Oskus töötada käsurealt<br/>
*Oskus töötada käsurealt
Linux või Unix OS, millel on C kompilaatori tugi.<br/>
*Linux või Unix OS, millel on C kompilaatori tugi.
Veebiserver (soovituslik Apache)<br/>
*Veebiserver (soovituslik Apache)
Thomas Boutell’s gd library versioon 1.6.3 või uuem, mis on vajalik „statusmap” ja „trends CGI” liideste tööks.<br/>
*Thomas Boutell’s gd library versioon 1.6.3 või uuem, mis on vajalik „statusmap” ja „trends CGI” liideste tööks.<br/>
*Installeeritud postfix - Postfix-i on vaja selle jaoks, et nagios saadaks administraatorile häire korral emaili.


 
==Labori Keskkond==
Labori Keskkond:
1) Server - kuhu on installeeritud Nagios ja Nagiose pluginad <br/>
1) Server - kuhu on installeeritud Nagios ja Nagiose pluginad <br/>
2) Ubuntu Server - virtuaal server mida soovime monitoorida<br/>
2) Ubuntu Server - virtuaal server mida soovime monitoorida<br/>
3) Ubuntu Klient - Klient mida soovime monitoorida<br/>
 
PS!
Kuna tegemist on testkeskkonnaga siis hetkel me ei kasutanud Nagiost koos SSL-toega. Reaalses elus aga on rangelt soovitatav kasutada SSL-tuge, et tagada turvalisus!


==Nagiose tööpõhimõte==
==Nagiose tööpõhimõte==
Nagiose serveri ülesandeks on kontrollida võrgus töötavate arvutite ja teenuste seisukorda. Arvutite ja teenuste seisukorda iseloomustavaid parameetreid võib jaotada lähtudes erinevatelt alustelt, näiteks selle järgi, kas parameetrit kontrollitakse üle võrgu või lokaalsest arvutist
Nagiose serveri ülesandeks on kontrollida võrgus töötavate arvutite ja teenuste seisukorda. Arvutite ja teenuste seisukorda iseloomustavaid parameetreid võib jaotada lähtudes erinevatelt alustelt, näiteks selle järgi, kas parameetrit kontrollitakse üle võrgu või lokaalsest arvutist
Kontrollitakse üle võrgu - veebileht, nimeserver.
*Kontrollitakse üle võrgu - veebileht, nimeserver.
Kontrollitakse lokaalselt - arvutis töötavate protsesside arv, arvuti koormus, failisüsteemi täituvus, raid lülituse korrasolek.
*Kontrollitakse lokaalselt - arvutis töötavate protsesside arv, arvuti koormus, failisüsteemi täituvus, raid lülituse korrasolek.
Lokaalse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, üle võrgu kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiivilist lisada.
Lokaalse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, üle võrgu kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiivilist lisada.
Teine võimalus on jaotus teha selle järgi, kes küsib või kes ütleb.
Teine võimalus on jaotus teha selle järgi, kes küsib või kes ütleb.
aktiivne kontroll - Nagiose server esitab teenustele kontrollpäringuid (nt veebileht, nimeserver)
*aktiivne kontroll - Nagiose server esitab teenustele kontrollpäringuid (nt veebileht, nimeserver)
passiivne kontroll - Nagiose server kuulab teenuste raporteerimisi (nt backupi õnnestumine)
*passiivne kontroll - Nagiose server kuulab teenuste raporteerimisi (nt backupi õnnestumine)
Jällegi, passiivse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, aktiivsel kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiivilist lisada.
Jällegi, passiivse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, aktiivsel kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiivilist lisada.
[http://kuutorvaja.eenet.ee/wiki/Nagios]
==Installeerimine==
Kaks varianti: Ise kompileerimine ja apt-get install nagios3.
Installeerimiseks vajaminevad käsud saime järgnevast kohast: [https://wiki.itcollege.ee/index.php/Nagios]


==Installeerimine:==
1) Logige sisse seadmesse kuhu soovite Nagiost installida ja minge üle root kasutajaks käsuga:  
Kaks varianti: Ise kompileerimine ja apt-get install nagios3.
sudo -i


1) Logige sisse seadmesse kuhu soovite Nagiost installida ja minge üle root kasutajaks käsuga: sudo -i
2) Seejärel peate installerima järgnevad pakid: apache2, build-essential, libapache2-mod-php5, libgd2-xpm-dev


2) Seejärel peate installerima järgnevad pakid: apache2, build-essential, libapache2-mod-php5, libgd2-xpm-dev.
<b>Kõige enne tuleks teha update.</b>
 
<source lang="bash">
Kõige enne tuleks teha update : apt-get update  
apt-get update  
apt-get -y install apache2
apt-get -y install apache2
apt-get -y install build-essential
apt-get -y install build-essential
Line 59: Line 74:
apt-get -y install libgd2-xpm-dev
apt-get -y install libgd2-xpm-dev


3) Järgmiseks peame looma nagiose teenuse jaoks tema enda oma kasutaja ja määrama talle parooli.
</source>


3) Järgmiseks peame looma nagiose teenuse jaoks tema enda oma kasutaja ja määrama talle parooli
<source lang="bash">
useradd -m -s /bin/bash nagios
useradd -m -s /bin/bash nagios


passwd nagios
passwd nagios
</source>
Parooliks määrasime: student
Parooliks määrasime: student


-m (Create a new home directory for the new user.)
-s ([-s shell])
4) Et ka veebiliidese kaudu käsklusi jagada, peame looma ka teenusele oma kasutajagrupi:


4) Et ka veebiliidese kaudu käsklusi jagada, peame looma ka teenusele oma kasutajagrupi
<source lang="bash">
groupadd nag
groupadd nag
usermod -a -G nag nagios
usermod -a -G nag nagios
usermod -a -G nag www-data
usermod -a -G nag www-data
 
</source>
-G (secondary-group[,group,...]
            Appends the user to the given groups in the /etc/group file.  -G)
            
            
5) Laeme alla nagiose ning pakime lahti
5) Laeme alla nagiose ning pakime lahti
 
<source lang="bash">
mkdir NagiosInstall
mkdir NagiosInstall
cd NagiosInstall
cd NagiosInstall
wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.5.1/nagios-3.5.1.tar.gz/download
wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.5.1/nagios-3.5.1.tar.gz/download
tar -xzf download
tar -xzf download
 
</source>
6) Käivitame paigaldusskripti
6) Käivitame paigaldusskripti
 
<source lang="bash">
cd nagios
cd nagios
./configure --with-command-group=nag
./configure --with-command-group=nag
Line 95: Line 108:
make install-config
make install-config
make install-commandmode
make install-commandmode
</source>


 
7) Seadistame veebiserveri nii, et saaksime ka ligi Nagiose veebiliidesele, selle jaoks teeme ka eraldi kasutaja.  
7) Seadistame veebiserveri nii, et saaksime ka ligi Nagiose veebiliidesele, selle jaoks teeme ka eraldi kasutaja. Samas kaustas kus eelmine punkt.
Samas kaustas kus eelmine punkt.
 
<source lang="bash">
make install-webconf
make install-webconf


Line 106: Line 120:


service apache2 reload
service apache2 reload
 
</source>


8) Seadistame contacts.cfg
8) Seadistame contacts.cfg
 
<source lang="bash">
nano /usr/local/nagios/etc/objects/contacts.cfg
nano /usr/local/nagios/etc/objects/contacts.cfg
 
</source>
<pre>
define contact{
define contact{
     contact_name                nagiosadmin        ; Short name of$
     contact_name                nagiosadmin       
     use                        generic-contact    ; Inherit defau$
     use                        generic-contact   
     alias                      Nagios Admin        ; Full name of $
     alias                      Nagios Admin       


     email                      student@localhost    ; <<***** CHANG$
     email                      student@localhost   
     }
     }
 
</pre>
Sinna sisestame e-maili kuhu soovime saada Nagiose poolt saadetavaid teateid.  
Sinna sisestame e-maili kuhu soovime saada Nagiose poolt saadetavaid teateid.  




Nagios Core on nüüdseks serveril installeeritud, Nüüd installime Nagios Pluginad.
<b>Nagios on nüüdseks serveril installeeritud. Nüüd installime Nagios Pluginad</b><br/>
1) Esmalt tõmbame pluginad
PS! Pluginate installeerimisel veenduge, et pluginad ja Nagios oleks installeeritud omavahel sobiva versiooniga
 
1) Esmalt laeme alla pluginad
<source lang="bash">
cd NagiosInstall
cd NagiosInstall
wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
Line 133: Line 149:
make
make
make install
make install
 
</source>
2) Kontrollime confi faili, et seal ei leiduks erroreid.
2) Kontrollime confi faili, et seal ei leiduks erroreid
<source lang="bash">
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
 
</source>
3) Käivitame Nagiose
3) Käivitame Nagiose
 
<source lang="bash">
service nagios start
service nagios start
 
</source>
4) Paneme ta automaatselt käivitama, kui süsteem stardib
4) Paneme ta automaatselt käivitama, kui süsteem stardib
 
<source lang="bash">
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios


 
</source>
5) Nüüd saame ligi nagiose veebiliidesele.
5) Nüüd saame ligi nagiose veebiliidesele


http://serveri-ip/nagios/
http://serveri-ip/nagios/




 
<b>Seejärel peame installeerima jälgitavasse serverisse Nagiose pluginad ja NRPE</b>
Seejärel peame installeerima jälgitavasse serverisse Nagiose pluginad ja NRPE


Siseneme jälgitavasse seadmesse.
Siseneme jälgitavasse seadmesse.
Meie kasutame Ubuntu Serverit.
Meie kasutame Ubuntu Serverit.
Kõik käsud tuleb teha juurkasutajana:
Kõik käsud tuleb teha juurkasutajana:
 
<source lang="bash">
sudo -i
sudo -i
 
</source>
1) Loome nagiose jaoks kasutaja
1) Loome nagiose jaoks kasutaja
 
<source lang="bash">
useradd nagios
useradd nagios
passwd nagios
passwd nagios
</source>
Parool: student
Parool: student


2) Paigaldame kompileerimise jaoks vajamineva tarkvara
2) Paigaldame kompileerimise jaoks vajamineva tarkvara
 
<source lang="bash">
apt-get update
apt-get update
apt-get -y install build-essential
apt-get -y install build-essential
Line 173: Line 190:
apt-get -y install libgd2-xpm-dev
apt-get -y install libgd2-xpm-dev
apt-get -y install libssl-dev
apt-get -y install libssl-dev
 
</source>
3) Paigaldame Nagiose pluginad
3) Paigaldame Nagiose pluginad
 
<source lang="bash">
mkdir NagiosInstall
mkdir NagiosInstall
cd NagiosInstall
cd NagiosInstall
Line 184: Line 201:
make
make
make install
make install
 
</source>
4) Paneme paika õigused
4) Paneme paika õigused
 
<source lang="bash">
chown nagios:nagios /usr/local/nagios
chown nagios:nagios /usr/local/nagios
chown -R nagios:nagios /usr/local/nagios/libexec
chown -R nagios:nagios /usr/local/nagios/libexec
</source>
5) Paigaldame xinetd.


5) Paigaldame xinetd
<source lang="bash">
Xinetd listens for incoming requests over a network and launches the appropriate service for that request.
 
apt-get install xinetd
apt-get install xinetd
 
</source>
6) Paigaldame NRPE(ilma ssl toeta)
6) Paigaldame NRPE(ilma ssl toeta)
 
<source lang="bash">
cd NagiosInstall
cd NagiosInstall
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
Line 203: Line 220:
./configure -disable-ssl
./configure -disable-ssl
make
make
 
</source>
7) Paigaldame NRPE plugina (testimiseks), daemoni ja konfiguratsioonifailide näidised ja muudame ta xinetd teenuseks
7) Paigaldame NRPE plugina (testimiseks), daemoni ja konfiguratsioonifailide näidised ja muudame ta xinetd teenuseks
 
<source lang="bash">
make install-plugin
make install-plugin
make install-daemon
make install-daemon
make install-daemon-config
make install-daemon-config
make install-xinetd
make install-xinetd
 
</source>
8) Lisame monitooringuserveri ip aadressi lubatud ip-de nimekirja
8) Lisame monitooringuserveri ip aadressi lubatud ip-de nimekirja
 
<source lang="bash">
nano /etc/xinetd.d/nrpe
nano /etc/xinetd.d/nrpe
 
</source>
lisame reale:
lisame reale:
<pre>
only_from = 192.168.56.201 <minu_monitooringuserveri_ip_address>
only_from = 192.168.56.201 <minu_monitooringuserveri_ip_address>
 
</pre>
9) Lisame NRPE teenuse services faili:
9) Lisame NRPE teenuse services faili
<source lang="bash">
nano /etc/services
nano /etc/services
 
</source>
Sisestame rea:
Sisestame rea:
 
<pre>
nrpe 5666/tcp # NRPE
nrpe 5666/tcp # NRPE
 
</pre>
10) Restardime xinetd teenuse.
10) Restardime xinetd teenuse
 
<source lang="bash">
service xinetd stop
service xinetd stop
service xinetd start  
service xinetd start  
 
</source>




11) Kontrollime, kas daemon töötab xinetd all
11) Kontrollime, kas daemon töötab xinetd all
 
<source lang="bash">
netstat -at | grep nrpe
netstat -at | grep nrpe
 
</source>
Väljund peaks olema:
Väljund peaks olema:
 
<pre>
tcp 0 0 *:nrpe *:* LISTEN
tcp 0 0 *:nrpe *:* LISTEN
 
</pre>
12) Et NRPE pääseks masinale ligi peame iptablesse erandi kirjutama:
12) Et NRPE pääseks masinale ligi peame iptablesse erandi kirjutama  
 
<pre>
iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 5666 -j ACCEPT
iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 5666 -j ACCEPT
 
</pre>
Salvestame selle:
Salvestame selle:
<source lang="bash">
iptables-save
iptables-save
</source>
<b>Seejärel tuleb installeerida NRPE ka monitooringu serverisse</b>


Seejärel tuleb installeerida NRPE ka monitooringu serverisse.
ssh student@192.168.56.201<br/>
 
ssh student@192.168.56.201
1) Tõmbame NRPE ja paigaldame
1) Tõmbame NRPE ja paigaldame
 
<source lang="bash">
cd NagiosInstall
cd NagiosInstall
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
Line 259: Line 279:
make all
make all
make install-plugin
make install-plugin
 
</source>
2) Testime, kas saame jälgitava serveriga ühendust:
2) Testime, kas saame jälgitava serveriga ühendust
 
<source lang="bash">
/usr/local/nagios/libexec/check_nrpe -H 192.168.56.202 ←--IP asenda oma monitooritava seadme IP-ga
/usr/local/nagios/libexec/check_nrpe -H 192.168.56.202 ←--IP asenda oma monitooritava seadme IP-ga
 
</source>
Vastus peaks olema järgnev:
Vastus peaks olema järgnev:
<pre>
NRPE v2.13
NRPE v2.13
 
</pre>
3) NRPE plugina aktiveerimiseks muudame commands.cfg faili
3) NRPE plugina aktiveerimiseks muudame commands.cfg faili
 
<source lang="bash">
nano /usr/local/nagios/etc/objects/commands.cfg
nano /usr/local/nagios/etc/objects/commands.cfg
 
</source>
Lisame read:
Lisame read:
 
<pre>
define command{
define command{
     command_name    check_nrpe
     command_name    check_nrpe
Line 278: Line 299:
       }
       }


 
</pre>
4) Kui NRPE plugin on aktiveeritud, tuleb monitooringu serveris defineerida jälgitav host.
4) Kui NRPE plugin on aktiveeritud, tuleb monitooringu serveris defineerida jälgitav host.
Defineerime hosti ja teenused, mida jälgima hakkame.
Defineerime hosti ja teenused, mida jälgima hakkame.


Loome hosti jaoks uue konfiguratsioonifaili:
Loome hosti jaoks uue konfiguratsioonifaili:
<source lang="bash">
touch /usr/local/nagios/etc/objects/Ubuntu_server.cfg
touch /usr/local/nagios/etc/objects/Ubuntu_server.cfg
 
</source>
Paneme paika õigused:
Paneme paika õigused:
<source lang="bash">
chown nagios:nag /usr/local/nagios/etc/objects/Ubuntu_server.cfg
chown nagios:nag /usr/local/nagios/etc/objects/Ubuntu_server.cfg
 
</source>
Nüüd võtame faili lahti:
Nüüd võtame faili lahti:
<source lang="bash">
nano /usr/local/nagios/etc/objects/Ubuntu_server.cfg
nano /usr/local/nagios/etc/objects/Ubuntu_server.cfg
 
</source>
Lisame hosti defineerivad read:
Lisame hosti defineerivad read:
 
<pre>
define host{
define host{
use linux-server ; Kasutame vaikimisi paigaldatud template-i
use linux-server ;
host_name ubuntu-server ; The name we're giving to this server
host_name ubuntu-server ;  
alias ubuntu server; A longer name for the server
alias ubuntu server;  
address 192.168.56.202 ; IP address of the server
address 192.168.56.202 ;  
}
}


 
</pre>
5) Kui me tahame lisada hosti juba olemasolevasse gruppi, näiteks linux-server, siis me peame avama konf faili, kus antud grupp defineeritud on (linux-server on meil localhost.cfg failis) ja lisame members reale oma hosti:
5) Kui me tahame lisada hosti juba olemasolevasse gruppi, näiteks linux-server, siis me peame avama konf faili, kus antud grupp defineeritud on (linux-server on meil localhost.cfg failis) ja lisame members reale oma hosti:
<pre>
members localhost,ubuntu-server
members localhost,ubuntu-server
 
</pre>
6) Lisame teenuseid defineerivad read(tuleb lisada Ubuntu-server.cfg faili):
6) Lisame teenuseid defineerivad read(tuleb lisada Ubuntu-server.cfg faili):
 
<pre>
define service{
define service{
use generic-service
use generic-service
Line 333: Line 358:
check_command check_nrpe!check_zombie_procs
check_command check_nrpe!check_zombie_procs
}
}
 
</pre>
7) Nüüd peame lisama nagios.cfg faili rea, et nagios loeks käivitades selle konfiguratsiooni faili sisse
7) Nüüd peame lisama nagios.cfg faili rea, et nagios loeks käivitades selle konfiguratsiooni faili sisse
 
<source lang="bash">
nano /usr/local/nagios/etc/nagios.cfg
nano /usr/local/nagios/etc/nagios.cfg
 
</source>
Lisame rea:
Lisame rea:
<pre>
cfg_file=/usr/local/nagios/etc/objects/Ubuntu_server.cfg
cfg_file=/usr/local/nagios/etc/objects/Ubuntu_server.cfg
 
</pre>
8) Kontrollime, kas konfiguratsioonifail sisaldab vigu. Kui vigu ei ilmnenud, siis loeme konfifailid uuesti sisse.
8) Kontrollime, kas konfiguratsioonifail sisaldab vigu. Kui vigu ei ilmnenud, siis loeme konfifailid uuesti sisse
 
<source lang="bash">
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


service nagios reload
service nagios reload
</source>


Need on vaid mõned näited, mida saame seda kasutades jälgida. Järgnevalt lühidalt kuidas saab kasutada ka teisi meetoteid.<br/>


Need on vaid mõned näited, mida saame seda kasutades jälgida. Järgnevalt lühidalt kuidas saab kasutada ka teisi meetoteid.
 
NRPE pluginate häälestamine
<b>NRPE pluginate häälestamine</b>


Uue teenuse jälgimiseks tuleb NRPE abil tuleb teha kahte asja:
Uue teenuse jälgimiseks tuleb NRPE abil tuleb teha kahte asja:
Lisa jälgitava masina nrpe.cfg faili uus command definition
 
Lisa monitooringu serveri Nagiose konfiguratsioonifaili uus service definition
1) Lisa jälgitava masina nrpe.cfg faili uus command definition.
Näiteks swapi kasutuse jälgimiseks tuleb teha järgmised sammud.
 
Monitooritava masina seadistamine
2) Lisa monitooringu serveri Nagiose konfiguratsioonifaili uus service definition.
 
'''Näiteks swapi kasutuse jälgimiseks tuleb teha järgmised sammud:'''
 
1) Monitooritava masina seadistamine.
 
Seadista swap plugin.
Seadista swap plugin.


Lisame command-i nrpe.cfg faili.
Lisame command-i nrpe.cfg faili.
<source lang="bash">
nano /usr/local/nagios/etc/nrpe.cfg
nano /usr/local/nagios/etc/nrpe.cfg
 
</source>
Lisa faili rida:
Lisa faili rida:
<pre>
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
</pre>
Kui NRPE töötab inetd/xinetd all, siis on jälgitav masin valmis.


Kui NRPE töötab inetd/xinetd all, siis on jälgitav masin valmis.
2) Monitooringu serveri seadistamine<br/>
Monitooringu serveri seadistamine
<b>Seadistame swapi jälgimiseks uue teenuse.</b><br/>
Seadistame swapi jälgimiseks uue teenuse.
1) Sisesta object configuration faili järgmised read:
1) Sisesta object configuration faili järgmised read:
 
<source lang="bash">
nano /usr/local/nagios/etc/objects/Ubuntu_server.cfg
nano /usr/local/nagios/etc/objects/Ubuntu_server.cfg


Line 377: Line 413:
check_command check_nrpe!check_swap
check_command check_nrpe!check_swap
}
}
 
</source>
Kontrollime, ega konfiguratsioonis vigu pole.
Kontrollime, ega konfiguratsioonis vigu pole.
 
<source lang="bash">
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
</source>
laeme konfiguratsioonifailid
<source lang="bash">
service nagios reload
</source>


laeme konfiguratsioonifailid
'''PS!'''
Esmalt logides veebiliidessesse tundub, et meie kasutajal pole õigusi, et näha hoste ja teenuseid. Seda sellepärast, et eelnevalt tegime me kasutaja nagiose liidese jaoks admin.Default username konfiguratsiooni failis on aga kasutaja nagiosadmin, seega ei lubata meie kasutajat ligi. Seda saab parandada hõlpsalt, kui minna /usr/local/nagios/etc ning sealt võtta lahti fail cgi.cfg
Seal tuleb muuta ära username nagiosadmin, admini vastu.
==Nagios kliendi instaleerimine puppeti abil==
[https://forge.puppetlabs.com/thias/nagios]
Nagios kliendi paigaldamisel on mõistlik kasutada puppeti abi, et saaks paigaldada klienti kõikidesse masinatesse ühekorraga. Selleks tuleb teha klass, kus kirjeldatakse parameetrid (klassiks sobib näiteks site.pp).
<pre>


service nagios reload
class { 'nagios::client':
  nrpe_allowed_hosts => '127.0.0.1,192.168.1.1',
}
</pre>
Määrame hosti aadressi väärtuseks ipaddress_eth2 kõikide klientide konfiguratioonis.
<pre>
nagios::client::config { 'host_address': value => $ipaddress_eth2 }
</pre>




Nagios kliendi konfiguratsiooni näide, kus määratakse ram mälu jälgimist ja protsessori jälgimist iga 20 sekundi järel. :
<pre>
nagios::client::config { 'check_ram_ensure': value => 'absent' }
nagios::client::config { 'check_cpu_args': value => '-w 50 -c 20' }
</pre>
Konfigureerime vaikimisi jälgimist (default check)
<pre>
Nagios::Check::Swap { ensure => absent }
if $::domain == 'example.com' {
  Nagios::Check::Cpu { notification_period => 'workhours' }
}
</pre>


==PS!==
==Põhi konfiguratsiooni failid==
Esmalt logides veebiliidessesse tundub, et meie kasutajal pole õigusi, et näha hoste ja teenuseid. Seda sellepärast, et eelnevalt tegime me kasutaja nagiose liidese jaoks admin.Default username konfiguratsiooni failis on aga kasutaja nagiosadmin, seega ei lubata meie kasutajat ligi. Seda saab parandada hõlpsalt, kui minna /usr/local/nagios/etc ning sealt võtta lahti fail cgi.cfg
Seal tuleb muuta ära username nagiosadmin, admini vastu.
Konfiguratsiooni failide asukohad


==Põhi konfiguratsiooni fail:==
Põhi konfiguratsiooni fail: [https://wiki.itcollege.ee/index.php/Nagios_3.2]
/usr/local/nagios/etc/nagios.cfg
/usr/local/nagios/etc/nagios.cfg


Süsteemsete seadete konfiguratsiooni fail:
Süsteemsete seadete konfiguratsiooni fail:
/usr/local/nagios/etc/cgi.cfg
/usr/local/nagios/etc/cgi.cfg


Teenuste ja hostide konfiguratsiooni failid asuvad kataloogis:
Teenuste ja hostide konfiguratsiooni failid asuvad kataloogis:
/usr/local/nagios/etc/objects/
/usr/local/nagios/etc/objects/


Defineeritud käskude konfiguratsiooni failid:
Defineeritud käskude konfiguratsiooni failid:
/usr/local/nagios/etc/objects/commands.cfg
/usr/local/nagios/etc/objects/commands.cfg


Defineeritud kontaktid, kellega ühendust võetakse:
Defineeritud kontaktid, kellega ühendust võetakse:
/usr/local/nagios/etc/objects/contacts.cfg
/usr/local/nagios/etc/objects/contacts.cfg


Vaikimisi installimisel defineeritud host:
Vaikimisi installimisel defineeritud host:
/usr/local/nagios/etc/objects/localhost.cfg
/usr/local/nagios/etc/objects/localhost.cfg


Erinevate host-ide ja service-ite mallid asuvad:
Erinevate host-ide ja service-ite mallid asuvad:
/usr/local/nagios/etc/objects/templates.cfg
/usr/local/nagios/etc/objects/templates.cfg


Defineeritud ajaperioodid:
Defineeritud ajaperioodid:
/usr/local/nagios/etc/objects/timeperiods.cfg
/usr/local/nagios/etc/objects/timeperiods.cfg
 
==Kokkuvõte==
===Piia===
Nagiose paigaldus oli mulle esmakordne ja aeganõudev tegevus. Algajale tundub see esmapilgul üpris keeruline. Algajatele soovitan kindlasti uurida seda Nagiose wikit, sest seda tehes panustasime palju täpsuse peale, et oleks teistel kergem. Julgen Nagiost soovitada kui head monitooringu vahendit.


===Kristian===
Nagios on väga hea süsteem, mille abil monitoorida firmale väga kriitlisi seadmeid ning teenuseid. Esmapilgul võib nagiose installeerimine tunduda päris raske ning ajamahukas, kuid kui veidike vaeva näha siis saab endale tulemusena väga võimsa monitooringu seadme. Kindlasti tuleks seda enda vajadustele vastavalt veel veidi edasi konfigureerida, kuna praegu näitasime ette vaid mõned teenused ja võimalused mida sellega monitoorida on võimalik


===Grete===
Tegemist on minu jaoks mahuka ja aeganõudva tööga, kuna pole varem Nagiost kasutanud. Grupitöö käigus sain juurde uusi teadmisi nii ise materjale lugedes kui ka grupikaaslaste õpetuste abil. Lõpptulemuseks saime töötava motitooringu lahenduse, mida saab veel edasi arendada.


==Kasutatud materjalid:==
===Sandra===
Kuna keskse logihalduse loomine üldiselt on minu jaoks võõras tegevus, siis esmalt võttis aega Nagiosest arusaamine. Pärast ühekordset läbitegemist aga enam see nii keeruline ei tundunud. Inimestele, kes esmakordselt Nagiost kasutada tahavad, soovitaksin ma enne installeerimise alustamist tutvuda Nagiose põhimõttetega. See tagab probleemivabama ja kiirema Nagiose paigalduse.
 
==Kasutatud materjalid==
http://www.adamson.cc/ettekanne/Nagios%20slaidid.pdf
http://www.adamson.cc/ettekanne/Nagios%20slaidid.pdf


Line 427: Line 501:


http://kuutorvaja.eenet.ee/wiki/Nagios
http://kuutorvaja.eenet.ee/wiki/Nagios
http://www.nagios.org/projects/nagioscore

Latest revision as of 15:03, 2 January 2014

Piia Ploovits A32, Sandra Sirel A31, Kristian Kivimägi A32, Grete Maisla A31
Kuupäev: 19.11.2013


Sissejuhatus

See artikkel on koostatud Linuxi administreerimise õppeaine raames labor 2 kaitsmise jaoks, mille üldiseks eesmärgiks oli keskse logihalduse lahenduse loomine. Nagios on serverite ja teiste võrguseadmete jälgimise tarkvara, mis saadab administraatoritele tõrgetest automaatteateid. Nagiosega saab jälgida teenuste olekut ja koormust (näiteks sisselogitud kasutajate arv, ketta kasutus, andmebaaside seisukord jne). Nagios kasutab pluginate süsteemi, mis võimaldab vajadusel funktsioone juurde programmeerida. Nagios Remote Plugin Executor (edaspidi NRPE) on Nagiose plugin. NRPE võimaldab jälgida teiste masinate ressursse, mis muidu on kättesaadavad vaid sellesse konkreetsesse masinasse sisse logides (näiteks CPU, mälu ja ketta kasutus). [1]

Labori püstitus

Paigaldadame Ubuntu serverisse Nagios Core monitooringu serveri ja jälgime teist Ubuntu serverit kasutades NRPE-d.

Põhimõisted ja lühendid

Nagios Core- Nagios Core on monitooringu süsteem, mis võimaldab kontrollida süsteemi erinevaid parameetreid ja seisukorda(ketta maht, CPU kasutus jne). Samuti teavitab ta automaatselt administraatorit kui mingi süsteemi parameeter on kriitline või seisukord ei vasta süsteemi normaaltingimustele. [2]
Nagios Plugins - Erinevad pluginad mille abil saab monitooritavat seadet monitoorida. Osa pluginaid on kaasas Nagiosega.
Lisaks võib neid alla laadida ka järgmistest asukohtadest:
Nagios Plugins Project: http://nagiosplug.sourceforge.net/
Nagios Downloads Page: http://www.nagios.org/download/
NagiosExchange.org: http://www.nagiosexchange.org/

Pluginate kasutuse kohta saab infot käsuga: ./plugina_nimi --help, mis tuleb käivitada käsurealt.
Plugin tagastab Nagios daemonile ühe neljast signaalist:
0 – teenus on OK
1 – teenus on HOIATUS tasemel
2 – teenus on KRIITILINE
3 – teenuse seisund TEADMATA
Pluginaid pole täiesti eraldiseisvad programmid, nad on pigem nagu alammeetodid.
Pluginaid saab käsurealt käivitada.

Nagios NRPE - Selle teenuse abil saab jälgida teisi seadmeid.
[3]

Laboritöö teostamise eeldused

  • Teadmisi Linux operatsiooni süsteemist
  • Oskus töötada käsurealt
  • Linux või Unix OS, millel on C kompilaatori tugi.
  • Veebiserver (soovituslik Apache)
  • Thomas Boutell’s gd library versioon 1.6.3 või uuem, mis on vajalik „statusmap” ja „trends CGI” liideste tööks.
  • Installeeritud postfix - Postfix-i on vaja selle jaoks, et nagios saadaks administraatorile häire korral emaili.

Labori Keskkond

1) Server - kuhu on installeeritud Nagios ja Nagiose pluginad
2) Ubuntu Server - virtuaal server mida soovime monitoorida

PS! Kuna tegemist on testkeskkonnaga siis hetkel me ei kasutanud Nagiost koos SSL-toega. Reaalses elus aga on rangelt soovitatav kasutada SSL-tuge, et tagada turvalisus!

Nagiose tööpõhimõte

Nagiose serveri ülesandeks on kontrollida võrgus töötavate arvutite ja teenuste seisukorda. Arvutite ja teenuste seisukorda iseloomustavaid parameetreid võib jaotada lähtudes erinevatelt alustelt, näiteks selle järgi, kas parameetrit kontrollitakse üle võrgu või lokaalsest arvutist

  • Kontrollitakse üle võrgu - veebileht, nimeserver.
  • Kontrollitakse lokaalselt - arvutis töötavate protsesside arv, arvuti koormus, failisüsteemi täituvus, raid lülituse korrasolek.

Lokaalse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, üle võrgu kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiivilist lisada. Teine võimalus on jaotus teha selle järgi, kes küsib või kes ütleb.

  • aktiivne kontroll - Nagiose server esitab teenustele kontrollpäringuid (nt veebileht, nimeserver)
  • passiivne kontroll - Nagiose server kuulab teenuste raporteerimisi (nt backupi õnnestumine)

Jällegi, passiivse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, aktiivsel kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiivilist lisada. [4]

Installeerimine

Kaks varianti: Ise kompileerimine ja apt-get install nagios3. Installeerimiseks vajaminevad käsud saime järgnevast kohast: [5]

1) Logige sisse seadmesse kuhu soovite Nagiost installida ja minge üle root kasutajaks käsuga:

sudo -i

2) Seejärel peate installerima järgnevad pakid: apache2, build-essential, libapache2-mod-php5, libgd2-xpm-dev

Kõige enne tuleks teha update.

apt-get update 
apt-get -y install apache2
apt-get -y install build-essential
apt-get -y install libapache2-mod-php5
apt-get -y install libgd2-xpm-dev

3) Järgmiseks peame looma nagiose teenuse jaoks tema enda oma kasutaja ja määrama talle parooli

useradd -m -s /bin/bash nagios

passwd nagios

Parooliks määrasime: student


4) Et ka veebiliidese kaudu käsklusi jagada, peame looma ka teenusele oma kasutajagrupi

groupadd nag
usermod -a -G nag nagios
usermod -a -G nag www-data

5) Laeme alla nagiose ning pakime lahti

mkdir NagiosInstall
cd NagiosInstall
wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.5.1/nagios-3.5.1.tar.gz/download
tar -xzf download

6) Käivitame paigaldusskripti

cd nagios
./configure --with-command-group=nag
make all
make install
make install-init
make install-config
make install-commandmode

7) Seadistame veebiserveri nii, et saaksime ka ligi Nagiose veebiliidesele, selle jaoks teeme ka eraldi kasutaja. Samas kaustas kus eelmine punkt.

make install-webconf

htpasswd -c /usr/local/nagios/etc/htpasswd.users admin

Parooliks ebaturvaline: student

service apache2 reload

8) Seadistame contacts.cfg

nano /usr/local/nagios/etc/objects/contacts.cfg
define contact{
    	contact_name                	nagiosadmin         	
    	use                         	generic-contact     	
    	alias                       	Nagios Admin        	

    	email                       	student@localhost    	
    	}

Sinna sisestame e-maili kuhu soovime saada Nagiose poolt saadetavaid teateid.


Nagios on nüüdseks serveril installeeritud. Nüüd installime Nagios Pluginad
PS! Pluginate installeerimisel veenduge, et pluginad ja Nagios oleks installeeritud omavahel sobiva versiooniga 1) Esmalt laeme alla pluginad

cd NagiosInstall
wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
tar -xzf nagios-plugins-1.5.tar.gz
cd nagios-plugins-1.5
./configure --with-nagios-user=nagios --with-nagios-group=nag
make
make install

2) Kontrollime confi faili, et seal ei leiduks erroreid

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

3) Käivitame Nagiose

service nagios start

4) Paneme ta automaatselt käivitama, kui süsteem stardib

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

5) Nüüd saame ligi nagiose veebiliidesele

http://serveri-ip/nagios/


Seejärel peame installeerima jälgitavasse serverisse Nagiose pluginad ja NRPE

Siseneme jälgitavasse seadmesse. Meie kasutame Ubuntu Serverit. Kõik käsud tuleb teha juurkasutajana:

sudo -i

1) Loome nagiose jaoks kasutaja

useradd nagios
passwd nagios

Parool: student

2) Paigaldame kompileerimise jaoks vajamineva tarkvara

apt-get update
apt-get -y install build-essential
apt-get -y install libapache2-mod-php5
apt-get -y install libgd2-xpm-dev
apt-get -y install libssl-dev

3) Paigaldame Nagiose pluginad

mkdir NagiosInstall
cd NagiosInstall
wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
tar -xzf nagios-plugins-1.5.tar.gz
cd nagios-plugins-1.5
./configure
make
make install

4) Paneme paika õigused

chown nagios:nagios /usr/local/nagios
chown -R nagios:nagios /usr/local/nagios/libexec

5) Paigaldame xinetd.

apt-get install xinetd

6) Paigaldame NRPE(ilma ssl toeta)

cd NagiosInstall
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
tar xzf nrpe-2.13.tar.gz
cd nrpe-2.13/
./configure -disable-ssl
make

7) Paigaldame NRPE plugina (testimiseks), daemoni ja konfiguratsioonifailide näidised ja muudame ta xinetd teenuseks

make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd

8) Lisame monitooringuserveri ip aadressi lubatud ip-de nimekirja

nano /etc/xinetd.d/nrpe

lisame reale:

only_from = 192.168.56.201 <minu_monitooringuserveri_ip_address>

9) Lisame NRPE teenuse services faili

nano /etc/services

Sisestame rea:

nrpe 5666/tcp # NRPE

10) Restardime xinetd teenuse

service xinetd stop
service xinetd start


11) Kontrollime, kas daemon töötab xinetd all

netstat -at | grep nrpe

Väljund peaks olema:

tcp 0 0 *:nrpe *:* LISTEN

12) Et NRPE pääseks masinale ligi peame iptablesse erandi kirjutama

iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 5666 -j ACCEPT

Salvestame selle:

iptables-save

Seejärel tuleb installeerida NRPE ka monitooringu serverisse

ssh student@192.168.56.201
1) Tõmbame NRPE ja paigaldame

cd NagiosInstall
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
tar xzf nrpe-2.13.tar.gz
cd nrpe-2.13/
./configure -disable-ssl
make all
make install-plugin

2) Testime, kas saame jälgitava serveriga ühendust

/usr/local/nagios/libexec/check_nrpe -H 192.168.56.202 ←--IP asenda oma monitooritava seadme IP-ga

Vastus peaks olema järgnev:

NRPE v2.13

3) NRPE plugina aktiveerimiseks muudame commands.cfg faili

nano /usr/local/nagios/etc/objects/commands.cfg

Lisame read:

define command{
     	command_name    check_nrpe
    	command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
       	}

4) Kui NRPE plugin on aktiveeritud, tuleb monitooringu serveris defineerida jälgitav host. Defineerime hosti ja teenused, mida jälgima hakkame.

Loome hosti jaoks uue konfiguratsioonifaili:

touch /usr/local/nagios/etc/objects/Ubuntu_server.cfg

Paneme paika õigused:

chown nagios:nag /usr/local/nagios/etc/objects/Ubuntu_server.cfg

Nüüd võtame faili lahti:

nano /usr/local/nagios/etc/objects/Ubuntu_server.cfg

Lisame hosti defineerivad read:

define host{
	use linux-server ;
	host_name ubuntu-server ; 
	alias ubuntu server; 
	address 192.168.56.202 ; 
	}

5) Kui me tahame lisada hosti juba olemasolevasse gruppi, näiteks linux-server, siis me peame avama konf faili, kus antud grupp defineeritud on (linux-server on meil localhost.cfg failis) ja lisame members reale oma hosti:

members 	localhost,ubuntu-server

6) Lisame teenuseid defineerivad read(tuleb lisada Ubuntu-server.cfg faili):

define service{
	use generic-service
	host_name ubuntu-server
	service_description CPU Load
	check_command check_nrpe!check_load
	}

define service{
	use generic-service
	host_name ubuntu-server
	service_description Current Users
	check_command check_nrpe!check_users
	}

define service{
	use generic-service
	host_name ubuntu-server
	service_description Total Processes
	check_command check_nrpe!check_total_procs
	}

define service{
	use generic-service
	host_name ubuntu-server
	service_description Zombie Processes
	check_command check_nrpe!check_zombie_procs
	}

7) Nüüd peame lisama nagios.cfg faili rea, et nagios loeks käivitades selle konfiguratsiooni faili sisse

nano /usr/local/nagios/etc/nagios.cfg

Lisame rea:

cfg_file=/usr/local/nagios/etc/objects/Ubuntu_server.cfg

8) Kontrollime, kas konfiguratsioonifail sisaldab vigu. Kui vigu ei ilmnenud, siis loeme konfifailid uuesti sisse

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

service nagios reload

Need on vaid mõned näited, mida saame seda kasutades jälgida. Järgnevalt lühidalt kuidas saab kasutada ka teisi meetoteid.


NRPE pluginate häälestamine

Uue teenuse jälgimiseks tuleb NRPE abil tuleb teha kahte asja:

1) Lisa jälgitava masina nrpe.cfg faili uus command definition.

2) Lisa monitooringu serveri Nagiose konfiguratsioonifaili uus service definition.

Näiteks swapi kasutuse jälgimiseks tuleb teha järgmised sammud:

1) Monitooritava masina seadistamine.

Seadista swap plugin.

Lisame command-i nrpe.cfg faili.

nano /usr/local/nagios/etc/nrpe.cfg

Lisa faili rida:

command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%

Kui NRPE töötab inetd/xinetd all, siis on jälgitav masin valmis.

2) Monitooringu serveri seadistamine
Seadistame swapi jälgimiseks uue teenuse.
1) Sisesta object configuration faili järgmised read:

nano /usr/local/nagios/etc/objects/Ubuntu_server.cfg

define service{
	use generic-service
	host_name ubuntu-server
	service_description Swap Usage
	check_command check_nrpe!check_swap
	}

Kontrollime, ega konfiguratsioonis vigu pole.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

laeme konfiguratsioonifailid

service nagios reload

PS! Esmalt logides veebiliidessesse tundub, et meie kasutajal pole õigusi, et näha hoste ja teenuseid. Seda sellepärast, et eelnevalt tegime me kasutaja nagiose liidese jaoks admin.Default username konfiguratsiooni failis on aga kasutaja nagiosadmin, seega ei lubata meie kasutajat ligi. Seda saab parandada hõlpsalt, kui minna /usr/local/nagios/etc ning sealt võtta lahti fail cgi.cfg Seal tuleb muuta ära username nagiosadmin, admini vastu.

Nagios kliendi instaleerimine puppeti abil

[6] Nagios kliendi paigaldamisel on mõistlik kasutada puppeti abi, et saaks paigaldada klienti kõikidesse masinatesse ühekorraga. Selleks tuleb teha klass, kus kirjeldatakse parameetrid (klassiks sobib näiteks site.pp).


class { 'nagios::client':
  nrpe_allowed_hosts => '127.0.0.1,192.168.1.1',
}

Määrame hosti aadressi väärtuseks ipaddress_eth2 kõikide klientide konfiguratioonis.

nagios::client::config { 'host_address': value => $ipaddress_eth2 }


Nagios kliendi konfiguratsiooni näide, kus määratakse ram mälu jälgimist ja protsessori jälgimist iga 20 sekundi järel. :

nagios::client::config { 'check_ram_ensure': value => 'absent' }
nagios::client::config { 'check_cpu_args': value => '-w 50 -c 20' }

Konfigureerime vaikimisi jälgimist (default check)

Nagios::Check::Swap { ensure => absent }
if $::domain == 'example.com' {
  Nagios::Check::Cpu { notification_period => 'workhours' }
}

Põhi konfiguratsiooni failid

Põhi konfiguratsiooni fail: [7]

/usr/local/nagios/etc/nagios.cfg

Süsteemsete seadete konfiguratsiooni fail:

/usr/local/nagios/etc/cgi.cfg

Teenuste ja hostide konfiguratsiooni failid asuvad kataloogis:

/usr/local/nagios/etc/objects/

Defineeritud käskude konfiguratsiooni failid:

/usr/local/nagios/etc/objects/commands.cfg

Defineeritud kontaktid, kellega ühendust võetakse:

/usr/local/nagios/etc/objects/contacts.cfg

Vaikimisi installimisel defineeritud host:

/usr/local/nagios/etc/objects/localhost.cfg

Erinevate host-ide ja service-ite mallid asuvad:

/usr/local/nagios/etc/objects/templates.cfg

Defineeritud ajaperioodid:

/usr/local/nagios/etc/objects/timeperiods.cfg

Kokkuvõte

Piia

Nagiose paigaldus oli mulle esmakordne ja aeganõudev tegevus. Algajale tundub see esmapilgul üpris keeruline. Algajatele soovitan kindlasti uurida seda Nagiose wikit, sest seda tehes panustasime palju täpsuse peale, et oleks teistel kergem. Julgen Nagiost soovitada kui head monitooringu vahendit.

Kristian

Nagios on väga hea süsteem, mille abil monitoorida firmale väga kriitlisi seadmeid ning teenuseid. Esmapilgul võib nagiose installeerimine tunduda päris raske ning ajamahukas, kuid kui veidike vaeva näha siis saab endale tulemusena väga võimsa monitooringu seadme. Kindlasti tuleks seda enda vajadustele vastavalt veel veidi edasi konfigureerida, kuna praegu näitasime ette vaid mõned teenused ja võimalused mida sellega monitoorida on võimalik

Grete

Tegemist on minu jaoks mahuka ja aeganõudva tööga, kuna pole varem Nagiost kasutanud. Grupitöö käigus sain juurde uusi teadmisi nii ise materjale lugedes kui ka grupikaaslaste õpetuste abil. Lõpptulemuseks saime töötava motitooringu lahenduse, mida saab veel edasi arendada.

Sandra

Kuna keskse logihalduse loomine üldiselt on minu jaoks võõras tegevus, siis esmalt võttis aega Nagiosest arusaamine. Pärast ühekordset läbitegemist aga enam see nii keeruline ei tundunud. Inimestele, kes esmakordselt Nagiost kasutada tahavad, soovitaksin ma enne installeerimise alustamist tutvuda Nagiose põhimõttetega. See tagab probleemivabama ja kiirema Nagiose paigalduse.

Kasutatud materjalid

http://www.adamson.cc/ettekanne/Nagios%20slaidid.pdf

https://wiki.itcollege.ee/index.php/Nagios

https://wiki.itcollege.ee/index.php/Nagios_3.2

http://kuutorvaja.eenet.ee/wiki/Nagios

http://www.nagios.org/projects/nagioscore