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 icingaChangement 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: 5666NRPE user: icingaNRPE group: icingaNagios user: icingaNagios group: icingaReview 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.cfglog_facility=daemonpid_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 = REUSEsocket_type = streamport = 5666wait = nouser = icingagroup = icingaserver = /usr/local/icinga/bin/nrpeserver_args = -c /usr/local/icinga/etc/nrpe.cfg --inetdlog_on_failure += USERIDdisable = noonly_from = 127.0.0.1 172.16.31.252<= Ajoutez l'adresse IP duserveur 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 nrpetcp 0 0 *:nrpe *:* LISTEN root 48773 20429/xinetd
Vérifiez le fonctionnement de NRPE en local :
#/usr/local/icinga/libexec/chech_nrpe -H localhostNRPE 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 10command[check_load]=/usr/local/icinga/libexec/check_load -w 15,10,5 -c 30,25,20command[check_sda3]=/usr/local/icinga/libexec/check_disk -w 20% -c 10% -p/dev/sda3command[check_zombie_procs]=/usr/local/icinga/libexec/check_procs -w 5 -c 10 -s Zcommand[check_total_procs]=/usr/local/icinga/libexec/check_procs -w 200 -c 250command[check_apt]=/usr/local/icinga/libexec/check_aptcommand[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_usersUTILISATEURS OK - 2 utilisateurs actuellement connectés sur...#/usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_loadOK - 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_sda3DISK 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_procsPROCS OK: 0 processus avec ETAT = Z#/usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_total_procsPROCS OK: 128 processus#/usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_aptAPT OK: 0 packages available for upgrade (0 critical updates).#/usr/local/icinga/libexec/check_nrpe -H 172.16.16.22 -c check_sshSSH 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.