Partie VII. NRPE sur une Debian
Précédent ACCUEIL
Suivant

VII. NRPE SUR UN CLIENT DEBIAN

7.1 - Les paquetages

Les paquets suivants doivent être installés :

# apt-get install smbclient snmp libnet-snmp-perl libradius1 radiusclient1 \
  libmysqlclient-dev fping libradiusclient-ng2 qstat libssl-dev xinetd \
  build-essential linux-headers-`uname -r`

7.2 - Création du groupe et de l'utilisateur "icinga"

Créez l'utilisateur et le groupe "icinga".

# groupadd -g 6000 icinga
# useradd -u 6000 -g icinga -d /usr/local/icinga -c "Icinga User" icinga
# mkdir /usr/local/icinga
# chown -R icinga:icinga /usr/local/icinga
# chmod -R 755 /usr/local/icinga
# passwd icinga
  Changement de mot de passe pour l'utilisateur icinga.
  Nouveau mot de passe :     <= Tapez un mot de passe

7.3 - Installation des "plugins" Nagios

Les "plugins" sont des scripts qui permettent de collecter des données sur les composants supervisés.

Le site Internet des "plugins" se trouve à l'adresse : http://www.nagios.org/download/plugins.

Positionnez-vous dans le répertoire [/usr/local/src/] puis téléchargez l'archive "nagios-plugins-1.4.16.tar.gz".

# cd /usr/local/src
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/ \
  nagios-plugins-1.4.16.tar.gz
# tar xvzf nagios-plugins-1.4.16.tar.gz

Changez, sur le répertoire [nagios-plugins-1.4.16], le propriétaire et le groupe en "root:staff".

# chown -R root:staff nagios-plugins-1.4.16
# chmod -R 755 nagios-plugins-1.4.16

Positionnez-vous dans le répertoire [nagios-plugins-1.4.16] puis lancez la configuration de l'application.

# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/icinga \
              --enable-perl-modules \
              --with-nagios-user=icinga \
              --with-nagios-group=icinga \
              --with-cgiurl=/icinga/cgi-bin

Lancez la compilation.

# make all

Installez les "plugins".

# make install

7.4 - Téléchargement et compilation de "nrpe-2.13.tar.gz"

Site internet pour l'addon NRPE : http://prdownloads.sourceforge.net/sourceforge/nagios/.

Exécutez les commandes suivantes :

# cd /usr/local/src
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
# tar xvzf nrpe-2.13.tar.gz
# chown -R root:staff nrpe-2.13
# chmod -R 755 nrpe-2.13
# cd nrpe-2.13
# ./configure --prefix=/usr/local/icinga \
              --with-nrpe-user=icinga \
              --with-nrpe-group=icinga \
              --with-nagios-user=icinga \
              --with-nagios-group=icinga \
              --with-ssl-lib=/usr/lib/i386-linux-gnu
 
  *** Configuration summary for nrpe 2.13 11-11-2011 ***:
 
   General Options:
   ---------------------------
   NRPE port:    5666
   NRPE user:    icinga
   NRPE group:   icinga
   Nagios user:  icinga
   Nagios group: icinga
 
   Review the options above for accuracy. If they look okay,
   type 'make all' to compile the NRPE daemon and client.
 
# make all
# make install-plugin
# make install-daemon
# make install-daemon-config
# make install-xinetd
# cd /
note Note

Pour le répertoire SSL, remplacez "/usr/lib/i386-linux-gnu" par "/usr/lib/x86_64-linux-gnu" pour une architecture 64 bits.

7.5 - Configuration de NRPE

NRPE utilise le port 5666. Vérifiez sa présence dans le fichier "/etc/services" :

# cat /etc/services | grep 5666

Si le port n'est pas présent, éditez le fichier et rajouter la ligne suivante :

# nrpe		5666/tcp		# NRPE agent

Editez le fichier "/usr/local/icinga/etc/nrpe.cfg" et modifiez-le en tenant compte des lignes ci-dessous :

# vim /usr/local/icinga/etc/nrpe.cfg
  log_facility=daemon
  pid_file=/var/run/nrpe.pid
  # server_port=5666          <= Ajoutez le signe # pour désactiver
  # server_address=127.0.0.1  <= Ajoutez le signe # pour désactiver
  # nrpe_user=icinga          <= Ajoutez le signe # pour désactiver
  # nrpe_group=icinga         <= Ajoutez le signe # pour désactiver
  # allowed_hosts=127.0.0.1   <= Ajoutez le signe # pour désactiver
  ..............................

Editez le fichier "/etc/xinetd.d/nrpe" et modifiez-le en tenant compte des lignes ci-dessous :

# vim /etc/xinetd.d/nrpe
  # default: on
  # description: NRPE (Nagios Remote Plugin Executor)
  service nrpe
  {
        flags          = REUSE
        socket_type    = stream
        port           = 5666
        wait           = no
        user           = icinga
        group          = icinga
        server         = /usr/local/icinga/bin/nrpe
        server_args    = -c /usr/local/icinga/etc/nrpe.cfg --inetd
        log_on_failure += USERID
        disable        = no
        only_from      = 127.0.0.1 172.16.31.252  <= Ajoutez l'adresse IP du
                                                     serveur de supervision Icinga
  }

Redémarrez le service xinetd :

# /etc/init.d/xinetd restart

Vérifiez que le "daemon" nrpe est actif sur le serveur :

# netstat -taupe | grep nrpe
  tcp	0	0	*:nrpe	*:*	LISTEN	root	48773	20429/xinetd

Vérifiez le fonctionnement de NRPE en local :

# /usr/local/icinga/libexec/chech_nrpe -H localhost
  NRPE v2.13

7.6 - Configuration des commandes à distance

Il est nécessaire de modifier le fichier "/usr/local/icinga/etc/nrpe" et d'y ajouter, éventuellement, les commandes que l'on souhaite utiliser à distance via l'addon "chech_nrpe". Exemple :

# vim /usr/local/icinga/etc/nrpe.cfg
  ..............................
  command[check_users]=/usr/local/icinga/libexec/check_users -w 5 -c 10
  command[check_load]=/usr/local/icinga/libexec/check_load -w 15,10,5 -c 30,25,20
  command[check_sda3]=/usr/local/icinga/libexec/check_disk -w 20% -c 10% -p
  /dev/sda3
  command[check_zombie_procs]=/usr/local/icinga/libexec/check_procs -w 5 -c 10 -s Z
  command[check_total_procs]=/usr/local/icinga/libexec/check_procs -w 200 -c 250
  command[check_apt]=/usr/local/icinga/libexec/check_apt
  command[check_ssh]=/usr/local/icinga/libexec/check_ssh localhost
  ..............................

Redémarrez le "daemon" xinetd :

# /etc/init.d/xinetd restart

7.7 - Tests de fonctionnement du plugin NRPE

Nous allons tester par la ligne de commande, le fonctionnement de l'addon "check_nrpe" entre le serveur de supervision Icinga et le client Debian.

Sur le serveur de supervision Icinga, tapez les commandes suivantes :

# /usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_users
  UTILISATEURS OK - 2 utilisateurs actuellement connectés sur...
# /usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_load
  OK - Charge moyenne: 0.00, 0.00, 0.00|load1=0.000;15.000;30.000;0. load5=...
# /usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_sda3
  DISK OK - free space: / 42279 MB (92% inode=95%);| /=3577MB;38648;43479;0;48310
# /usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_zombie_procs
  PROCS OK: 0 processus avec ETAT = Z
# /usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_total_procs
  PROCS OK: 128 processus
# /usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_apt
  APT OK: 0 packages available for upgrade (0 critical updates).
# /usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_ssh
  SSH OK - OpenSSH_5.5p1 Debian-6+squeeze2 (protocol 2.0) | time=0,017325s;;;0,...

L'option "-H" pour "host" est l'adresse IP de l'hôte distant. L'option "-c" pour "commande" est le nom du plugin qui doit être appelé sur l'hôte distant.

7.8 - Création des services liés à NRPE dans NagiosQL

L'utilisation des plugins distants via NRPE nécessite la création de services spécifiques. Ces plugins doivent être présents sur l'hôte distant.

Menu "Supervision" => "Services".

Cliquez sur le bouton "Ajouter".

Tableau 1 - Ajouter le service "check_nrpe_users"

Rubriques Valeur
Nom de configuration check_nrpe_users
Hôtes (*) clideb
Description du service * NRPE Current Users
Enregistré A cocher
Actif A cocher
Commande de test * check_nrpe
$ARG1$ check_users
Nom du modèle generic-service

Tenez compte du tableau ci-dessus puis cliquez sur le bouton "Sauvegarder".

Réalisez les mêmes manipulations pour les services suivants :

Tableau 2 - Ajouter le service "check_nrpe_load"

Rubriques Valeur
Nom de configuration check_nrpe_load
Hôtes (*) clideb
Description du service * NRPE CPU Load
Enregistré A cocher
Actif A cocher
Commande de test * check_nrpe
$ARG1$ check_load
Nom du modèle generic-service

Tableau 3 - Ajouter le service "check_nrpe_sda3"

Rubriques Valeur
Nom de configuration check_nrpe_sda3
Hôtes (*) clideb
Description du service * NRPE sda3 partition
Enregistré A cocher
Actif A cocher
Commande de test * check_nrpe
$ARG1$ check_sda3
Nom du modèle generic-service

Tableau 4 - Ajouter le service "check_nrpe_zombie_procs"

Rubriques Valeur
Nom de configuration check_nrpe_zombie_procs
Hôtes (*) clideb
Description du service * NRPE Zombie Procs
Enregistré A cocher
Actif A cocher
Commande de test * check_nrpe
$ARG1$ check_zombie_procs
Nom du modèle generic-service

Tableau 5 - Ajouter le service "check_nrpe_total_procs"

Rubriques Valeur
Nom de configuration check_nrpe_total_procs
Hôtes (*) clideb
Description du service * NRPE Total Procs
Enregistré A cocher
Actif A cocher
Commande de test * check_nrpe
$ARG1$ check_total_procs
Nom du modèle generic-service

Tableau 6 - Ajouter le service "check_nrpe_apt"

Rubriques Valeur
Nom de configuration check_nrpe_apt
Hôtes (*) clideb
Description du service * NRPE APT Updates
Enregistré A cocher
Actif A cocher
Commande de test * check_nrpe
$ARG1$ check_apt
Nom du modèle generic-service

Tableau 7 - Ajouter le service "check_nrpe_ssh"

Rubriques Valeur
Nom de configuration check_nrpe_ssh
Hôtes (*) clideb
Description du service * NRPE SSH
Enregistré A cocher
Actif A cocher
Commande de test * check_nrpe
$ARG1$ check_ssh
Nom du modèle generic-service

Menu "Outis" => "Contrôle de Nagios"

Cliquez sur les quatre boutons puis vérifiez le résultat dans Icinga.

Figure 35 - Icinga - Status Details For Host 'clideb'

Icinga - Status Details For Host


Auteurs : Eddy et Stéphane Maas / 2013-2023
Précédent ACCUEIL Suivant