Nagios 4.0.8: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Pvarul (talk | contribs)
Pvarul (talk | contribs)
No edit summary
 
(21 intermediate revisions by the same user not shown)
Line 26: Line 26:
<pre>apt-get install build-essential php5-gd libgd2-xpm libgd2-xpm-dev libapache2-mod-php5 libperl-dev libssl-dev apache2-utils</pre>
<pre>apt-get install build-essential php5-gd libgd2-xpm libgd2-xpm-dev libapache2-mod-php5 libperl-dev libssl-dev apache2-utils</pre>


==PAIGALDUS==
==PAIGALDUS<ref>http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html</ref><ref>http://www.unixmen.com/install-configure-nagios-4-ubuntu-14-1014-04/</ref><ref>http://blog.jsquaredconsulting.com/</ref>==


1) Luua Nagiosele kasutaja ning grupp
===Luua Nagiosele kasutaja ning grupp===


<pre>
<pre>
Line 47: Line 47:
</pre>
</pre>


2) Nagiose ja pluginate allalaadimine
===Nagiose ja pluginate allalaadimine===


Selleks läheme kausta /tmp
Selleks läheme kausta /tmp
Line 58: Line 58:
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz</pre>
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz</pre>


3) Kompileerime ja paigaldame Nagiose
===Kompileerime ja paigaldame Nagiose===


<pre>
<pre>
Line 85: Line 85:
make install-commandmode</pre>
make install-commandmode</pre>


4) Muudame konfiguratsiooni
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:
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:


<pre
<pre>
nano /usr/local/nagios/etc/objects/contacts.cfg
nano /usr/local/nagios/etc/objects/contacts.cfg
email  minu@mail.ee
email  minu@mail.ee
</pre>
</pre>


5) Seadistame veebiliidese
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.
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.
Line 126: Line 126:
</pre>
</pre>


5) Kompileerime ja paigaldame Nagiose pluginad.
===Kompileerime ja paigaldame Nagiose pluginad.===


Läheme /tmp kausta tagasi kui me seal enam pole
Läheme /tmp kausta tagasi kui me seal enam pole
Line 145: Line 145:
make install</pre>
make install</pre>


6) Võimaldame apache moodulite ülekirjutamise
===Võimaldame apache moodulite ülekirjutamise===


<pre>
<pre>
Line 153: Line 153:
</pre>
</pre>


7) Käivitame Nagiose
===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.
Enne käivitust kontrollime kas nagios.cfg's esineb vigu ja seejärel lisame ta süsteemi käivitamisel käima panevate teenuste listi.
Line 166: Line 166:
service nagios start</pre>
service nagios start</pre>


8) Veebiliidesele pääsemine
===Veebiliidesele pääsemine===


http://IP-Address/nagios
http://IP-Address/nagios


* Ametlik lehekülg Nagiose algelise paigalduse ja konfiguratsiooni kohta http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html
==KLIENDI NAGIOSE KÜLGE ÜHENDAMINE<ref>http://www.tecmint.com/how-to-add-linux-host-to-nagios-monitoring-server/</ref>==
 
 
==KLIENDI NAGIOSE KÜLGE ÜHENDAMINE==


NB! Järgnevad tegevused viime kõik root kasutaja õigustega ja arvutis mida me soovime monitoorima hakata
NB! Järgnevad tegevused viime kõik root kasutaja õigustega ja arvutis mida me soovime monitoorima hakata


1) Pakid mida vajame
===Pakid mida vajame===


<pre>
<pre>
Line 183: Line 180:
</pre>
</pre>


2) Loome kasutaja
===Loome kasutaja===


<pre>
<pre>
Line 190: Line 187:
</pre>
</pre>


3) Paigaldame Nagiose pluginad
===Paigaldame Nagiose pluginad===


Selleks läheme kausta /tmp
Selleks läheme kausta /tmp
Line 200: Line 197:
tar -xzvf nagios-plugins-2.0.3.tar.gz</pre>
tar -xzvf nagios-plugins-2.0.3.tar.gz</pre>


4) Kompileerime ja paigaldame Nagiose pluginad
Kompileerime ja paigaldame Nagiose pluginad


<pre>
<pre>
Line 216: Line 213:
</pre>
</pre>


5) Paigaldame Xinetd
===Paigaldame Xinetd===


Enamus süsteemides on Xinetd vaikimisi olemas, aga kui ei siis:
Enamus süsteemides on Xinetd vaikimisi olemas, aga kui ei siis:
Line 222: Line 219:
<pre>apt-get install xinetd</pre>
<pre>apt-get install xinetd</pre>


6) Paigaldame NRPLE plugina
===Paigaldame NRPE plugina===


cd /tmp
cd /tmp
Line 241: Line 238:
</pre>
</pre>


7) Paigaldame NRPE plugin daemoni ja näite daemoni konfiguratsiooni
Paigaldame NRPE plugin daemoni ja näite daemoni konfiguratsiooni


<pre>
<pre>
Line 249: Line 246:
</pre>
</pre>


8) Paigaldame NRPE daemoni xinetd all nagu teenuse
Paigaldame NRPE daemoni xinetd all nagu teenuse


<pre>
<pre>
Line 255: Line 252:
</pre>
</pre>


9) Avame /etc/xinetd.d/nrpe faili ja lisame monitooringu serveri IP
Avame /etc/xinetd.d/nrpe faili ja lisame monitooringu serveri IP


<pre>
<pre>
Line 261: Line 258:
</pre>
</pre>


10) Testime et NRPE Daemon lokaalselt töötab
===Testime et NRPE Daemon lokaalselt töötab===


<pre>
<pre>
Line 269: Line 266:
</pre>
</pre>


11) Kontrollime check_nrpe kas väljund tuleb õige
Kontrollime check_nrpe kas väljund tuleb õige


<pre>/usr/local/nagios/libexec/check_nrpe -H localhost</pre>
<pre>/usr/local/nagios/libexec/check_nrpe -H localhost</pre>


 
==SERVERIL NRPE plugina paigaldus<ref>https://kura.io/2010/03/21/configuring-nagios-to-monitor-remote-load-disk-using-nrpe/</ref>==
==SERVERIL NRPE plugina paigaldus==


<pre>cd /tmp
<pre>cd /tmp
wget http://garr.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz</pre>
wget http://garr.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz</pre>


1) Pakime lahti
Pakime lahti


<pre>tar xzf nrpe-2.15.tar.gz
<pre>tar xzf nrpe-2.15.tar.gz
cd nrpe-2.15</pre>
cd nrpe-2.15</pre>


2) Kompileerimine ja paigaldame NRPE addoni
===Kompileerimine ja paigaldame NRPE addoni===


<pre>
<pre>
Line 292: Line 288:
</pre>
</pre>


3) Testime kas check_nrpe töötab monitooritava arvuti peal
Testime kas check_nrpe töötab monitooritava arvuti peal


<pre>/usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address></pre>
<pre>/usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address></pre>
Line 300: Line 296:
<pre>NRPE v2.15</pre>
<pre>NRPE v2.15</pre>


4) Lisame monitooritava Desktop arvuti nagiose serverisse
===Lisame monitooritava Desktop arvuti nagiose serverisse===


<pre> cd /usr/local/nagios/etc/
<pre> cd /usr/local/nagios/etc/
Line 312: Line 308:
cfg_file=/usr/local/nagios/etc/services.cfg</pre>
cfg_file=/usr/local/nagios/etc/services.cfg</pre>


5) Avame hosts.cfg faili ja paneme sinna näite:
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
NB! Ole kindel et muudad host_name, alias ja aadressi muidu ei saa monitooritav masin külge
Line 342: Line 338:
</pre>
</pre>


6) Lisame ka mõned service'd mida jälgima hakkame, selleks avame services.cfg.
Lisame ka mõned service'd mida jälgima hakkame, selleks avame services.cfg.


<pre>
<pre>
Line 381: Line 377:
</pre>
</pre>


7) NRPE käskude definitsioonide loomine
===NRPE käskude definitsioonide loomine===


<pre>nano /usr/local/nagios/etc/objects/commands.cfg
<pre>nano /usr/local/nagios/etc/objects/commands.cfg
Line 396: Line 392:
</pre>
</pre>


8) Viimaks kontrollime nagios.cfg õigsust
Viimaks kontrollime nagios.cfg õigsust


<pre>/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</pre>
<pre>/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</pre>


9) Restardime Nagiose
===Restardime Nagiose===


<pre>service nagios restart</pre>
<pre>service nagios restart</pre>


<references />
<references />
==Kokkuvõte==
Nagios Core manuaalne paigaldus oli minule esmakordne ja kulus päris palju aega erinevate manualite analüüsimine ja kasutamine. Eduka paigalduse järgselt peaks kasutaja süsteemi loogikale pihta saama kus mis asub ja milleks, ning edaspidi ei tohiks paigaldusega pikalt minna. Väga võimalusterohke tarkvara. Julgen Nagiost soovitada ja lisaks alternatiivina nagiosele uurisin ka Icinga't https://www.icinga.org/icinga/. Töötab samuti Nagios Core peal, kuid kasutajakeskkond on teistsugune ja erinevate võimalustega.

Latest revision as of 12:23, 15 January 2015

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.[2]

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.

apt-get install build-essential php5-gd libgd2-xpm libgd2-xpm-dev libapache2-mod-php5 libperl-dev libssl-dev apache2-utils

PAIGALDUS[3][4][5]

Luua Nagiosele kasutaja ning grupp

# Uue kasutaja loomine #
useradd nagios

# Parooli panek #
passwd nagios

# Uue grupi loomine #
groupadd nagcmd

# Kasutaja gruppi panemine #
usermod -a -G nagcmd nagios

# Apache kasutaja nagiose gruppi lisamine #
usermod -a -G nagcmd www-data

Nagiose ja pluginate allalaadimine

Selleks läheme kausta /tmp

# Nagios allalaadimine #
wget http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.8/nagios-4.0.8.tar.gz

# Pluginate allalaadimine #
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz

Kompileerime ja paigaldame Nagiose

# Pakime lahti arhiivi #
tar -xzvf nagios-4.0.8.tar.gz

# Lähme kausta #
cd nagios-4.0.8

# Käivitame Nagiose seadistamise skripti, andes ette grupi mille me ennem Nagiose jaoks lõime: #
./configure --with-command-group=nagcmd

# Kompileerimine Nagiose lähtekoodi#
make all

# Paigaldame Nagiose binaarid #
make install

# Paigaldame Install init skripti #
make install-init

# Paigaldame näidis konfiguratsioonifaili #
make install-config

# Seame õigused käskude kaustale #
make install-commandmode

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:

nano /usr/local/nagios/etc/objects/contacts.cfg
email  minu@mail.ee

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.

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/


/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-enabled/nagios.conf


cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/

# Anname õigused #
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

# Anname kasutajale nagiosadmin parooli #
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

# Taaskäivitame Apache #
service apache2 restart

Kompileerime ja paigaldame Nagiose pluginad.

Läheme /tmp kausta tagasi kui me seal enam pole

# Pakime lahti pluginate arhiivi #
tar -xzvf nagios-plugins-2.0.3.tar.gz

# Lähme kausta sisse #
cd nagios-plugins-2.0.3

# Käivitame Plugina konfiguratsiooniskripti, andes ette kasutaja mille varem lõime. #
./configure --with-nagios-user=nagios --with-nagios-group=nagios

# Komplieerime Nagiose plugina lähtekoodi #
make

# Paigaldame plugina binaarid #
make install

Võimaldame apache moodulite ülekirjutamise

a2enmod rewrite

a2enmod cgi

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  #
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

# Lisame algkäivitusse #
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

# Käivitame Nagiose #
service nagios start

Veebiliidesele pääsemine

http://IP-Address/nagios

KLIENDI NAGIOSE KÜLGE ÜHENDAMINE[6]

NB! Järgnevad tegevused viime kõik root kasutaja õigustega ja arvutis mida me soovime monitoorima hakata

Pakid mida vajame

apt-get install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel

Loome kasutaja

useradd nagios
passwd nagios

Paigaldame Nagiose pluginad

Selleks läheme kausta /tmp

# Pluginate allalaadimine #
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz

# Pakime lahti pluginate arhiivi #
tar -xzvf nagios-plugins-2.0.3.tar.gz

Kompileerime ja paigaldame Nagiose pluginad

cd nagios-plugins-1.5
./configure 
make
make install

Õiguse määramine plugina kaustale.

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

Paigaldame Xinetd

Enamus süsteemides on Xinetd vaikimisi olemas, aga kui ei siis:

apt-get install xinetd

Paigaldame NRPE plugina

cd /tmp

cd /tmp
wget http://garr.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Pakime lahti

tar xzf nrpe-2.15.tar.gz
cd nrpe-2.15

Kompileerimine ja paigaldame NRPE addoni

./configure
make all

Paigaldame NRPE plugin daemoni ja näite daemoni konfiguratsiooni

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

Paigaldame NRPE daemoni xinetd all nagu teenuse

make install-xinetd

Avame /etc/xinetd.d/nrpe faili ja lisame monitooringu serveri IP

only_from = 127.0.0.1 localhost <nagios_ip_address>

Testime et NRPE Daemon lokaalselt töötab

netstat -at | grep nrpe

tcp        0      0 *:nrpe                      *:*                         LISTEN

Kontrollime check_nrpe kas väljund tuleb õige

/usr/local/nagios/libexec/check_nrpe -H localhost

SERVERIL NRPE plugina paigaldus[7]

cd /tmp
wget http://garr.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Pakime lahti

tar xzf nrpe-2.15.tar.gz
cd nrpe-2.15

Kompileerimine ja paigaldame NRPE addoni

./configure
make all
make all-daemon

Testime kas check_nrpe töötab monitooritava arvuti peal

/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

Lisame monitooritava Desktop arvuti nagiose serverisse

 cd /usr/local/nagios/etc/
touch hosts.cfg
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

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
}

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
        }

NRPE käskude definitsioonide loomine

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$
        }

Viimaks kontrollime nagios.cfg õigsust

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

Restardime Nagiose

service nagios restart

Kokkuvõte

Nagios Core manuaalne paigaldus oli minule esmakordne ja kulus päris palju aega erinevate manualite analüüsimine ja kasutamine. Eduka paigalduse järgselt peaks kasutaja süsteemi loogikale pihta saama kus mis asub ja milleks, ning edaspidi ei tohiks paigaldusega pikalt minna. Väga võimalusterohke tarkvara. Julgen Nagiost soovitada ja lisaks alternatiivina nagiosele uurisin ka Icinga't https://www.icinga.org/icinga/. Töötab samuti Nagios Core peal, kuid kasutajakeskkond on teistsugune ja erinevate võimalustega.