Indice
Una volta installato Nagios, risulta molto semplice fare il check dei servizi. Una delle domande più diffuse è se esiste un modo per monitorare, su server Remoti, i processi, lo spazio dei dischi, utenti ecc.. E bene si!!! Esiste un modo utilizzando un plugin di nagios, check_nrpe, che ci permette di monitorare tutto ciò!! Vediamo come installarlo e configurarlo sul Server Nagios e su un server guest!!!
Lato Server
Scarichiamo e installiamo il plugin NRPE sul server Nagios
$ wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
$ tar xvfz nrpe-2.12.tar.gz && cd nrpe-2.12
$ ./configure
$ make all
$ make install-plugin
Completata l’installazione del plugin creiamo il comando personalizzato nel file di configurazione command.cfg, aggiungendo alla fine del file
# command check_nrpe
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Salviamo il file di configurazione e testiamo la configurazione con il comando
$ nagios -v /etc/nagios/nagios.cfg
Lato Client
Installiamo le dipendenze del plugin
$ yum install gcc glibc glibc-common openssl-devel
Creiamo l’utente nagios e relativa password
$ adduser nagios
$ passwd nagios
Scarichiamo e installiamo i plugins di nagios e il plugin NRPE per creare il demone
$ wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
$ tar xvzf nagios-plugins-1.4.11.tar.gz
$ cd nagios-plugins-1.4.11
$ export LDFLAGS=-ldl
$ ./configure –with-nagios-user=nagios –with-nagios-group=nagios –enable-redhat-pthread-workaround
$ make
$ make install
$ chown nagios.nagios /usr/local/nagios
$ chown -R nagios.nagios /usr/local/nagios/libexec/
$ cd ..
$ wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
$ tar xvfz nrpe-2.12.tar.gz
$ cd nrpe-2.12
$ ./configure
$ make all
$ make install-daemon
$ make install-daemon-config
$ make install-xinetd
$ make install-plugin
A questo punto tutto è pronto per essere configurato. Possiamo scegliere se utilizzarare xinted per avviare il demone nrpe opuure lanciarlo manualmente da riga di comando.
Avvio manuale a riga di comando
Aggiungere al file /etc/rc.local la riga:
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
per avviarlo
$ /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
Usare Xinetd
lanciare
$ echo “nrpe 5666/tcp” >> /etc/services
editate il file /etc/xinetd.d/nrpe con l’editor preferito e aggiungere alla riga
only_from = 127.0.0.1
l’ip del server Nagios, (ad esempio 10.30.0.45) in questo modo:
only_from = 127.0.0.1 10.30.0.45
salvate e avviate xinetd.
Configurare il client
Il File di configurazione della macchina da monitorare è
/usr/local/nagios/etc/nrpe.cfg
La configurazione è molto semplice e commentata. Facciamo un esempio
Se vogliamo controllare una partizione la riga da aggiungere sotto a quelle di default è
command[check_opt]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /opt
In questo caso verrà generato un messaggio di Warning se lo spazio rimanente sul disco è del 20% e un Critical se lo spazio rimanente è del 10%.
Come potrete notate il nome del comando personalizzato è “check_opt” che dovrà essere utilizzato, come vedremo a breve, sul server Nagios.
Per i server remoti che non fanno parte della propria Lan dobbiamo modificare anche la direttiva
allowed_hosts=
aggiungendo l’ip del server Nagios (IP pubblico), questo eviterà l’errore
CHECK_NRPE: Error – Could not complete SSL handshake.
Configurare Server
Aggiungiamo il comando check_nrpe al template dei comandi editando il file di configurazione
/usr/local/nagios/etc/objects/commands.cfg
e aggiungendo le righe
# check_nrpe
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
a questo punto non ci rimane che aggiungere al template dove abbiamo definito il server da controllare il servizio. Ad esempio se vogliamo controllare la partizione “/opt” come nell’esempio fatto sopra, dobbiamo aggiungere
define service{
use local-service
host_name server1
service_description /opt Partition
check_command check_nrpe!check_opt
}
come noterete nella stringa
check_command check_nrpe!check_opt
è definito il comando che abbiamo personalizzato sul server da monitorare.