Installer l'outil de supervision distance NRPE sur Debian
Si vous utilisez Nagios pour superviser vos serveur, il est intéressant de mettre en place la supervision distante via NRPE pour vérifier la charge globale de chaque serveur. Ce guide vous propose une méthode rapide pour ce faire.
Ce guide a été testé sur :
- Debian 5.0 Lenny
- Debian 6.0 Squeeze
Installation du serveur NRPE
Renseignez l'adresse IP de votre serveur Nagios
NAGIOS_IP="xx.xx.xx.xx"
Installez les plugins Nagios et le serveur NRPE :
command apt-get install nagios-plugins-basic nagios-nrpe-server
Désactivez les vérifications par défaut :
command sed -i -e 's/^command\[/#&/' '/etc/nagios/nrpe.cfg'
Créez le dossier de configuration modulaire :
command mkdir --parent '/etc/nagios/nrpe.d/'
Autorisez votre serveur Nagios à interroger ce serveur NRPE :
echo "allowed_hosts=${NAGIOS_IP}" > '/etc/nagios/nrpe.d/allowed_hosts.cfg'
Configuration minimale
Ajoutez les configurations de vérifications basiques :
echo 'command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10' > '/etc/nagios/nrpe.d/check_users.cfg' echo 'command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20' > '/etc/nagios/nrpe.d/check_load.cfg' echo 'command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z' > '/etc/nagios/nrpe.d/check_zombie_procs.cfg' echo 'command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 250 -c 400 -s RSZDT' > '/etc/nagios/nrpe.d/check_total_procs.cfg' echo 'command[check_swap]=/usr/lib/nagios/plugins/check_swap -a -w 70% -c 50%' > '/etc/nagios/nrpe.d/check_swap.cfg' echo 'command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /' > '/etc/nagios/nrpe.d/check_root.cfg' echo 'command[check_apt]=/usr/lib/nagios/plugins/check_apt' > '/etc/nagios/nrpe.d/check_apt.cfg'
Récupérez la liste des partitions de votre système :
PARTITIONS="$(command mount \ | command grep '^/dev' \ | command grep -v 'swap' \ | command grep -v ' / ' \ | command cut --delimiter=' ' --field=3)"
Ajoutez les configurations de vérifications des partitions supplémentaires
for PART in ${PARTITIONS}; do PART_CODE="$(echo "${PART}" | command sed -e 's|^/||' -e 's|/$||' -e 's|/|_|g')" echo "command[check_${PART_CODE}]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p ${PART}" > "/etc/nagios/nrpe.d/check_${PART_CODE}.cfg" done
Redémarrez le démon NRPE :
/etc/init.d/nagios-nrpe-server restart
Configuration de Nagios
Si vous avez utilisé mon guide Installer Nagios sur Debian pour installer votre instance de Nagios, la section suivante vous aide à ajouter les checks NRPE à votre installation.
Renseignez le nom d'hôte Nagios du serveur où vous installez le serveur NRPE (c.a.d. le nom de ce serveur dans la configuration Nagios). Par défaut, il s'agit de la valeur "mailname".
NAGIOS_HOSTNAME="$(cat /etc/mailname)"
Récupérez les commandes à exécuter sur la machine hébergeant votre instance Nagios :
COMMANDS="command nagios-tools add-service '${NAGIOS_HOSTNAME}' 'users' 'nrpe' 'check_users' 'Current Users' command nagios-tools add-service '${NAGIOS_HOSTNAME}' 'loads' 'nrpe' 'check_load' 'Current Load' command nagios-tools add-service '${NAGIOS_HOSTNAME}' 'procs' 'nrpe' 'check_zombie_procs' 'Zombie Processes' command nagios-tools add-service '${NAGIOS_HOSTNAME}' 'procs' 'nrpe' 'check_total_procs' 'Total Processes' command nagios-tools add-service '${NAGIOS_HOSTNAME}' 'swaps' 'nrpe' 'check_swap' 'Swap usage' command nagios-tools add-service '${NAGIOS_HOSTNAME}' 'disks' 'nrpe' 'check_root' 'Root Partition' #command nagios-tools add-service '${NAGIOS_HOSTNAME}' 'upgrades' 'nrpe' 'check_apt' 'Apt upgrades'" for PART in ${PARTITIONS}; do PART_NAME="$(echo "${PART}" | command sed -e 's|^/||' -e 's|/$||')" PART_CODE="$(echo "${PART_NAME}" | command sed -e 's|/|_|g')" COMMANDS="${COMMANDS} command nagios-tools add-service '${NAGIOS_HOSTNAME}' 'disks' 'nrpe' 'check_${PART_CODE}' '${PART_NAME} Partition'" done echo "${COMMANDS}"
Pour aller plus loin
CHECK_NRPE: Error - Could not complete SSL handshake.
Si vous rencontrez cette erreur, vérifiez la valeur de "allowed_hosts" dans les fichiers de configuration de votre serveur NRPE.
Chaîner les serveurs NRPE
Si vous le souhaitez, vous pouvez chaîner serveurs NRPE. C'est utile par exemple dans le cas de DomU Xen. Le Dom0 contient les appels NRPE aux DomU qu'il héberge. Par exemple, pour vérifier l'espace disque de la partition racine du DomU "php5.domaine.xen", ajoutez cette ligne à la configuration du serveur NRPE présent sur le Dom0 :
command[php5.domaine.xen-check_root]=/usr/lib/nagios/plugins/check_nrpe -H php5.domaine.xen -c check_root
Vous pouvez ajuster cette exemple avec les commandes NRPE et les noms d'hôtes qui vous conviennent.
Attention : Si vous utilisez ce type de configuration, la valeur "allowed_hosts" sur le DomU "php5.domaine.xen" doit correspondre à l'adresse IP du serveur NRPE où est ajoutée la ligne ci-dessus.
Remerciements
- Merci à l'auteur de l'article Monitorer les hôtes Linux (Debian) distant avec le serveur NRPE de Nagios.