Monitorare macchine Linux remote con nagios-nrpe

nagios-nrpe1

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.

 

Installazione plugin 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

nagios-nrpe2

In questo caso abbiamo cinque partizioni. Questa informazione ci serve per aggiungere i parametri mancanti nel file di configurazione di NRPE.

 

Configurazione plugin

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.1

nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=127.0.0.1,IP_Nagios

dont_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.

 

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

nagios-nrpe3

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

nagios-nrpe4

Verificato che il plug-in funziona correttamente, andiamo a definire il comando in Nagios.

 

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.

nagios-nrpe5

Adesso siamo in grado di monitorare i parametri che più ci interessano delle macchine remote Linux presenti nella rete.

linux nagios nrpe 1

3 Comments

  1. tired 27/02/2010
  2. marco 23/10/2010
  3. Marco 24/10/2010