Groupe Linagora - OBM Online - Planète - Blogs
Logo Linagora.org
Piste: » Guide d'installation d'OpenLDAP » Administration de PostgreSQL » Délégation SASL entre OpenLDAP et Active Directory » Samba 3 » Sécurité » À propos de ce site » Embarqué » Migration d’un PDC windows NT4 vers une solution Samba 3 » Administration Tomcat » Superviser un hôte sans IP dans Nagios

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 : Clément OUDOT