NRPE signifie Nagios Remote Plugin Executor, il fonctionne via un programme agent avec lequel le core Nagios peut communiquer pour exécuter des tests sur les hôtes distants.
Coté serveur de supervision, on peut installer NRPE via le gestionnaire de paquets:
apt-get install nagios-nrpe-plugin
Coté hôte à superviser, on installe les plugins Nagios et l'agent NRPE via le gestionnaire de paquets:
apt-get install monitoring-plugins-basic nagios-nrpe-server # vérifier l'état du service après l'installation systemctl status nagios-nrpe-server.service
Éditer le fichier de configuration /etc/nagios/nrpe_local.cfg
# Interface d'écoute de l'agent
server_address=192.168.0.10
# IP autorisées à contacter l'agent
allowed_hosts=192.168.1.33
# Création d'une commande de test pour la partition racine
command[check_root_fs]=/usr/lib/nagios/plugins/check_disk -u GB -w 10% -c 3% -p /
Le fichier contient une section COMMAND DEFINITIONS qui déclare les commandes disponibles pour les superviseurs distants.
systemctl restart nagios-nrpe-server.service
Si l'hote à superviser a le pare-feu UFW actif, créer une règle autorisant le traffic entrant pour l'agent NRPE:
ufw --dry-run allow in on ethX proto tcp from ip-superviseur to ip-agent port 5666 comment 'Supervision Nagios NRPE'
Vérifier que l'agent NRPE s’exécute normalement:
systemctl status nagios-nrpe-server.service
Pour consulter les logs:
journalctl --unit nagios-nrpe-server.service
L'agent NRPE écoute par défaut sur le port TCP 5666
Depuis le serveur de supervision:
su - nagios cd /usr/lib/nagios/plugins/ ./check_nrpe -H ipAgentNRPE ./check_nrpe -H ipAgentNRPE -c check_root_fs
Sur le serveur de supervision, définir la commande check_nrpe via le fichier de configuration /usr/local/nagios/etc/objects/commands.cfg
##Commande check_nrpe
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
La commande pourra être utilisée pour tester différents services. Créer par exemple le test d
L'agent NRPE est bien démarré sur le client à superviser mais la vérification du service retourne des messages du type:
CHECK_NRPE STATE CRITICAL: Socket timeout after 10 seconds.
Nagios ne reçoit aucune réponse de l'agent alors que celui-ci est démarré. Vérifier si présence d'ufw ou les règles iptables. Sur le poste à superviser, si ufw est actif, consulter les logs:
journalctl --since today | grep "UFW BLOCK"
Voir section pour inclure une autorisation.