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.
- Nagios partie 1 : Installation de base
- Nagios partie 2 : Configuration de base
- Nagios partie 3 : Surveiller un hôte linux distant
- Nagios partie 4 : Surveillance VMware ESXi et vSphere