====== 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]]