Monitoraggio di altri sistemi con Nagios attraverso NRPE
Se un sistema è raggiungibile direttamente (ip pubblico o portmap), si può monitorare in una istanza esterna di Nagios, tramite il plugin NRPE: Nagios Remote Plugin Executor.
Per windows è disponibile il servizio NSClient++ (Vedi Riferimenti)
Configurazione del client da monitorare
- Installare il server di esecuzione dei plugins ed i plugins
sudo apt-get install nagios-nrpe-server nagios-plugins
Il server ha un demone che ascolta sulla porta 5666: impostare firewal e portmapping di conseguenza.
- Verificare la raggiungibilità tramite un telnet dal server nagios che dovrà monitorare questo client
user@nagios-server$ telnet host.da.monitorare 5666 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. Connection closed by foreign host.
- Configurare il primo servizio da monitorare. In questo caso monitoriamo lo spazio libero della partizione /
sudoedit /etc/nagios/nrpe_local.cfg
Inserire
command[check_disk_md0]=/usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p /
Verificare che questo plugin funzioni in locale:
sudo -u nagios /usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p / DISK OK - free space: / 24915 MB (35% inode=90%);| /=44585MB;73200;73210;0;73220
Riavviare il demone nrpe:
sudo /etc/init.d/nagios-nrpe-server restart
Configurazione del Server Nagios
Il server Nagios contatterà il demone NRPE del client tramite il plugin check_nrpe, eseguendo uno dei comandi predecedentemente definti nella configurazione del client.
- Installazione del plugin nrpe
sudo apt-get install nagios-nrpe-plugin
- Testare il plugin con il comando già definito sul client da monitorare:
sudo -u nagios /usr/lib/nagios/plugins/check_nrpe -H fire.rvmgroup.it -c check_disk_md0 DISK OK - free space: / 24915 MB (35% inode=90%);| /=44585MB;73200;73210;0;73220
- Definire il comando da usare per il plugin check_nrpe:
sudoedit /etc/nagios/misccommands.cfg
inserire:
define command{
command_name check-nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
- Dopo aver definito l'host remoto, aggiungere il servizio remoto da monitorare. Se l'host remoto non è pingabile, inserire localhost come ip, oppure non monitorarne lo stato ed usare il plugin check_dummy.
sudoedit /etc/nagios/services.cfg
inserire (notare il -, non il _:
define service{
use generic-service
host_name fire.rvmgroup.it
service_description DISK
check_command check-nrpe!check_disk_md0
}
- Verificare la configurazione:
sudo nagios -v /etc/nagios/nagios.cfg
- Riavviare nagios