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`
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
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
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 | |
---|---|
Pour le répertoire SSL, remplacez "/usr/lib/i386-linux-gnu" par "/usr/lib/x86_64-linux-gnu" pour une architecture 64 bits. |
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
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
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.
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".
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 :
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 |
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 |
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 |
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 |
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 |
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.