Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Supervision / Installer l'outil de supervision distante NRPE sur Debian

Installer l'outil de supervision distante NRPE sur Debian

Par Pierre-Yves Landuré Dernière modification 16/01/2014 17:01

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 a été testé sur :

  • Debian 5.0 Lenny
  • Debian 6.0 Squeeze
  • Debian 7.0 Wheezy

Prérequis

Ce guide nécessite:

Paramètres

Renseignez l'adresse IP du serveur Nagios

NAGIOS_IP="xx.xx.xx.xx"

Installation

Préparation de l'environnement

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 le 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 du serveur Nagios

Renseignez le nom de l'hôte local (tel qu'il doit apparaître dans l'interface Nagios):

NAGIOS_HOSTNAME="$(command hostname --fqdn)"

Générez les commandes à exécuter sur l'hôte du serveur Nagios :

COMMANDS="command nagios-tools add-host '${NAGIOS_HOSTNAME}'
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}"

Connectez-vous en SSH à l'hôte Nagios et lancez les commandes affichées par le code ci-dessus.

Remarque: Ces commandes utilisent l'outil nagios-tools mis en place par Installer Nagios sur Debian.

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

Il est possible de chaîner les serveurs NRPE, dans le cas où certains des hôtes surveillés sont inaccessibles directement par le serveur Nagios.

Par exemple dans le cas de DomU Xen: le Dom0 effectue les appels NRPE aux DomU qu'il héberge. Ainsi, pour vérifier l'espace disque de la partition racine du DomU "php5.domain.xen", ajoutez cette ligne à la configuration du serveur NRPE présent sur le Dom0:

command[php5.domain.xen-check_root]=/usr/lib/nagios/plugins/check_nrpe -H php5.domain.xen -c check_root

Ajustez cet 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.domain.xen" doit correspondre à l'adresse IP du serveur NRPE où est ajoutée la ligne ci-dessus (c.a.d., celle du Dom0).

Remerciements