Nagios 4.0.8

From ICO wiki
Jump to navigationJump to search

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

http://IP-Address/nagios


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