====== Superviser un hôte sans IP dans Nagios ======
===== Introduction =====
Il n'est pas possible de superviser à travers un réseau un équipement informatique qui ne possède pas d'adresse IP, en tout cas pas avec les outils fournis en standard par Nagios. Cependant il peut être intéressant de configurer dans Nagios des hubs, des switchs de bas niveau et d'autres équipements qui ne possèdent pas d'adresse IP, pour obtenir au moins une représentation topographique correcte de son réseau (le fameux status map).
Nagios a besoin d'une adresse IP pour superviser un hôte (il procède par ping) mais également d'un service associé à cet hôte afin de l'afficher dans l'interface Web. L'article présente une des solutions à ce problème, testée et approuvée...
===== Conventions =====
Pour la suite du tutoriel, il est supposé que Nagios est installé dans le répertoire ''/usr/local/nagios'', sa configuration dans le sous-répertoire ''etc/'', ses scripts dans le sous-répertoire ''libexec/'' et ses binaires dans le sous-répertoire ''bin/''.
Le nom de la machine sera ''hub'', son groupe de machines sera ''reseau'' et le groupe de contact associé au groupe de machines sera ''admins-reseau''. Se reporter à la documentation de Nagios pour obtenir des informations sur ces paramètres.
===== Création du service null =====
Il s'agit en fait d'un script shell basique que renvoie le statut Ok à chaque exécution.
Créer le fichier :
# cd /usr/local/nagios
# vi libexec/check_null.sh
Remplir ce nouveau fichier avec les lignes suivantes :
#! /bin/sh
echo "Impossible de determiner le statut"
exit 0
Sauvegarder, fermer puis rendre le script exécutable :
# chmod 755 libexec/check_null.sh
Ajouter ce script aux commandes Nagios :
# vi etc/checkcommands.cfg
Insérer les lignes suivantes à la fin du fichier :
define command
command_name check_null
command_line $USER1$/check_null.sh
Sauvegarder puis fermer. La commande ''check_null'' est à présent disponible dans Nagios.
===== Déclaration d'un hôte sans IP =====
Comme Nagios a besoin d'une adresse IP pour enregistrer un hôte, il suffit de lui donner la valeur 127.0.0.1, qui correspond à l'interface locale, adresse qui répondra toujours au ping. Le reste de la configuration est classique :
# vi etc/hosts.cfg
Insérer les lignes suivantes à la fin du fichier :
define host
use generic-host
host_name hub
alias Hub salle de formation
address 127.0.0.1
check_command check-host-alive
max_check_attempts 10
notification_interval 120
notification_period 24x7
notification_options d,u,r
Sauvegarder puis fermer. La machine ''hub'' fait partie des machines supervisées dans Nagios, reste à l'insérer à un groupe :
# vi etc/hostgroups.cfg
Insérer les lignes suivantes à la fin du fichier ou ajouter la nouvelle machine à un groupe existant :
define hostgroup
hostgroup_name reseau
alias Elements du reseau
contact_groups admins-reseau
members routeur_adsl,hub
Sauvegarder et quitter. Il ne reste plus qu'à associer le service ''check_null'' à la nouvelle machine :
# vi etc/services.cfg
define service
use generic-service
host_name hub
service_description Null
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 3
retry_check_interval 1
contact_groups admins-reseau
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_null
Enregistrer et fermer le fichier.
Le service ''Null'' a été créé pour la machine ''hub''.
===== Redémarrage de Nagios =====
Avant de redémarrer Nagios, s'assurer que la configuration est valide :
# bin/nagios -v etc/nagios.cfg
Si aucune erreur n'est détectée, redémarrer le service Nagios :
# /etc/init.d/nagios restart
La machine sans IP apparaît à présent dans les écrans Nagios et surtout dans le Status Map.
Contributeurs : [[::info::authors::coudot]]