Nagios : surveiller un hôte linux distant

La surveillance d’une machine distante avec Nagios se fait avec le plugin NRPE qui a été présenté dans le premier billet sur l’installation de Nagios. Le principe est simple, un agent NRPE est installé sur la machine distante et le greffon NRPE sur le serveur de Nagios l’interroge.

Machine distante

Sur la machine distante, il faut installer les paquets suivant :

# yum install nrpe nagios-nrpe nagios-plugins-nrpe nagios-plugins-all

Ensuite, la configuration se fait dans le fichier /etc/nagios/nrpe.cfg, sous CentOS voici ce qui peut etre fait pour surveiller les ressources classiques (CPU, disques, processus, etc) :

allowed_hosts=127.0.0.1,192.168.1.20
(...)
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_sda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1
command[check_sda3]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda3
command[check_sda4]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda4
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

Il faut ajouter le nouveau service NRPE avec son port 5666 en fin du fichier /etc/services :

nrpe            5666/tcp                        # Nagios NRPE

Serveur Nagios

On suppose que le plugin nagios-plugins-nrpe a été installé comme indiqué dans la première partie.

Sur le serveur où Nagios tourne, il va falloir lui indiquer la commande de base NRPE. Ajoutez ce qui suit dans le fichier /etc/nagios/objects/commands.cfg :

# ajouter la partie NRPE
define command{
	command_name check_nrpe
	command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
	}

Ensuite dans le fichier de configuration dédié à cette machine distante (certainement à créer), ajoutez les services à surveiller dans /etc/nagios/hosts/monserver.cfg :

# ajouter les check NRPE
define service{
	use 				generic-service
	host_name 			monserver
	service_description Current Users
	check_command 		check_nrpe!check_users
	}
	
define service{
	use 				generic-service
	host_name 			monserver
	service_description Current Load
	check_command 		check_nrpe!check_load
	}
	
define service{
	use 				generic-service
	host_name 			monserver
	service_description Boot Partition
	check_command 		check_nrpe!check_sda1
	}
	
define service{
	use 				generic-service
	host_name 			monserver
	service_description Root Partition
	check_command 		check_nrpe!check_sda3
	}
	
define service{
	use 				generic-service
	host_name 			monserver
	service_description Home Partition
	check_command 		check_nrpe!check_sda4
	}
	
define service{
	use generic-service
	host_name monserver
	service_description Total Processes
	check_command check_nrpe!check_procs
	}

Il ne reste plus au’à redémarrer le service Nagios :

# service nagios restart

La documentation [PDF] sur NRPE est disponible ici.


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *