
Come visto nei precedenti post, Nagios è un ottimo sistema per il monitoraggio della rete. Se abbiamo delle macchine in Linux e vogliamo tenere sotto controllo lo stato globale del sistema, dobbiamo installare nei computer nagios-nrpe, un agent di Nagios che permette al sistema di effettuare controlli remoti.
Vediamo i vari passi da effettuare per configurare le nostre macchine remote utilizzando Linux CentOS.
1. INSTALLAZIONE PLUG-IN SULLA MACCHINA REMOTA
Per effettuare l’installazione tramite yum è necessario aver installato il repository RPMforge.
# yum install nagios-nrpe
# chkconfig nrpe on
I plug-in vengono installati nella directory /usr/lib/nagios/plugins/.
Per monitorare le eventuali partizioni presenti nei sistemi Linux della rete, dobbiamo conoscere quante sono le partizioni presenti nelle varie macchine. Tramite il comando df è possibile visualizzare le partizioni di un sistema.
# df –h

In questo caso abbiamo cinque partizioni. Questa informazione ci serve per aggiungere i parametri mancanti nel file di configurazione di NRPE.
2. CONFIGURAZIONE DEL PLUG-IN
Per poter monitorare i nostri sistemi (partizioni, swap, processi, etc.), bisogna editare il file di configurazione nrpe.conf. Va specificato l’IP del server Nagios per permettere la corretta comunicazione tra i sistemi e definire i comandi addizionali richiesti non presenti per default nel file di configurazione.
# vi /etc/nagios/nrpe.conf
log_facility=daemon
pid_file=/var/run/nrpe.pid
server_port=5666
#server_address=127.0.0.1nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=127.0.0.1,IP_Nagiosdont_blame_nrpe=0
# command_prefix=/usr/bin/sudo
debug=0
command_timeout=60
connection_timeout=300
#allow_weak_random_seed=1#include=<somefile.cfg>
#include_dir=<somedirectory>
#include_dir=<someotherdirectory># The following examples use hardcoded command arguments…
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1# Aggiungere i comandi in base alle partizioni da monitorare
command[check_hdax]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hdax
command[check_sdax]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sdax
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
command[check_swap]=/usr/lib/nagios/plugins/check_swap -w 20% -c 10%
Avviamo quindi il servizio:
# service nrpe start
Se tra la macchina remota e il server Nagios c’è un firewall, bisogna aprire la porta TCP 5666 necessaria a Nagios per comunicare con la macchina da monitorare.
3. TESTARE LA COMUNICAZIONE
Per verificare che Nagios riesca a comunicare con il daemon NRPE nella macchina remota, da Nagios lanciamo il comando:
# /usr/lib/nagios/plugins/check_nrpe -H IP_MacchinaRemota
![]()
Per verificare manualmente che il sistema funzioni, proviamo a controllare lo stato della partizione di ROOT della macchina remota:
# /usr/lib/nagios/plugins/check_nrpe -H IP_MacchinaRemota -c check_hda3
![]()
Verificato che il plug-in funziona correttamente, andiamo a definire il comando in Nagios.
4. CONFIGURARE NAGIOS
Una volta configurati i parametri nel file di configurazione di NRPE, non ci resta che editare il file /etc/nagios/commands.cfg per definire il comando per l’utilizzo del plug-in da parte di Nagios:
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Impostando ad esempio il comando per la verifica dello stato della partizione di ROOT della macchina remota, Nagios è adesso in grado di visualizzare lo stato corrente ed eventualmente generare un alert al presentarsi di un problema.
![]()
Adesso siamo in grado di monitorare i parametri che più ci interessano delle macchine remote Linux presenti nella rete.




Mi chiamo Paolo e sono un sistemista informatico. In questo blog si parla di informatica applicata in ambito aziendale. 





Articolo ben scritto compliemnti
se lancio il comando, dalla macchina dove è installato nagios:
/usr/lib/nagios/plugins/check_nrpe -H IP_MacchinaRemota
mi restituisce:
CHECK_NRPE: Socket timeout after 10 seconds.
(la porta 5666 è aperta).
Non riesco a capire cosa c’è che non va…
Ho capito, ho installato il tutto su un server virtuale che sta dietro un firewall che non permette l’utilizzo sia in entrata sia in uscita di altre porte oltre quelle usate per plesk e per i servizi di default.