Configuration de Nagios

Written by Sebastien Lambot on . Posted in Articles techniques, Réseaux

Nagios est installé, il ne reste plus qu’à le configurer. Voici comment monitorer une infra simple en créant quelques fichiers de configuration.

Pour vérifier votre configuration de Nagios, vous pouvez exécuter la commande

# /usr/local/bin/nagios -v /usr/local/etc/nagios/nagios.cfg

Et pour redémarrer Nagios afin qu’il prenne en compte les dernières versions des fichiers de config

# service nagios restart

Configuration de Nagios

Afin d’avoir une structure un peu hiérarchisée au niveau des machines à surveiller, on peut éditer le fichier nagios.cfg et y ajouter

cfg_dir=/usr/local/etc/nagios/objects

afin que tous les fichiers .cfg contenus dans /usr/local/etc/nagios/objects soient ajoutés.

Dans ce directory « objects », on doit retrouver pour l’instant les fichiers

commands.cfg
contacts.cfg
timeperiods.cfg

ainsi que les templates et le fichier de config du localhost

generic-host.cfg
generic-service.cfg
generic-contact.cfg
localhost.cfg
Afficher: generic-host.cfg
Afficher: generic-service.cfg
Afficher: generic-contact.cfg
Afficher: localhost.cfg

Création d’un host

Dans le directory objects, on crée le fichier de config gandalf.cfg qui définit notre premier host (en utilisant notre template generic-host et en remplaçant les « x » par l’adresse IP)

define host{
        use                     generic-host
        host_name               gandalf
        alias                   Gandalf
        address                 xx.xx.xx.xx
        }

Si vous préférez utiliser la résolution DNS plutôt que de spécifier une adresse IP, vous pouvez supprimer la ligne « address ».

Après un redémarrage, le nouveau host apparaît dans les hosts de Nagios.

hosts

Ajout de services pour notre nouveau host

Pour créer des services pour un host, on ajoute simplement la liste des services et leurs paramètres à son fichier de config

# Definition du service de Load Average
define service{
        use                             generic-service
        host_name                       gandalf
        service_description             Load Average
        check_command                   check_load!5.0,4.0,3.0!10.0,8.0,6.0
        }

# Definition du service de controle d'url Web
define service{
        use                             generic-service
        host_name                       gandalf
        service_description             Reponse interface Web
        check_command                   check_http!"http://gandalf"
        notifications_enabled           0
        }

La commande check_load n’étant pas connue (erreur lors de la vérification des fichiers), il faut la définir en l’ajoutant au fichier commands.cfg

# 'check_load' command definition
define command{
        command_name    check_load
        command_line    $USER1$/check_load -w $ARG1$ -c $ARG2$
        }

Après un redémarrage de Nagios, l’affichage des services devrait ressembler à ceci

services

Création d’un contact

On édite le fichier contacts.cfg et on y ajoute un contact et son groupe

define contact{
        contact_name                    jsmith
        use                             generic-contact
        alias                           John Smith
        email                           j.smith@company.be
        }
define contactgroup{
        contactgroup_name       support
        alias                   Support Technique
        members                 jsmith
        }

Pour que le groupe Support Technique soit alerté, il faut ajouter le paramètre suivant dans le fichier de config du host (ou dans le template correspondant), soit dans la définition de l’host lui-même, soit dans la définition du service concerné (il faut que le paramètre notifications_enabled soit à 1).

contact_groups           support

Si la notification par email est correctement configurée, un mail sera envoyé au déclenchement d’une alerte.

Tags:

Trackback from your site.

Leave a comment

You must be logged in to post a comment.