Installation et configuration de Nagios sur Linux


, Mis à jour le 2 mai, 2015

Installation et configuration de Nagios sur Linux

Nagios, l’un des plus puissants systèmes de surveillance de réseaux, est utilisé abondamment dans l’industrie. Il peut surveiller activement n’importe quel réseau et générer des alertes audio ou par email dès qu’il détecte un problème. Les types de vérifications de même que les alarmes des alertes peuvent être configurés.

Autre capacité incroyable de Nagios : il peut surveiller à la fois les hôtes et les services ; par exemple : il peut surveiller les adresses IP ainsi que les ports TCP/UDP. Pour comprendre un peu tout cela, supposons qu’il y ait un serveur web que nous voulions surveiller. Nagios peut vérifier si le service est en ligne en exécutant un Ping sur le nom/IP du serveur ou bien créer des alertes au cas où que le Round Trip Time (RTT) jusqu’au serveur augmente. De plus, Nagios peut également vérifier si le port TCP 80 (serveur web) est accessible, par exemple si le serveur est en ligne mais que Apache/IIS ne répond pas.

Il existe également des outils de surveillance tiers basés sur Nagios, tels que Centreon, FAN, op5 Monitor, qui complètent l’engin autonome qu’est Nagios en termes d’interface, d’automation, et de support technique.

Ce tutoriel explique comment installer et configurer Nagios sur Linux.

Installer Nagios sur Debian ou Ubuntu

En ce qui concerne le système Debian, l’installation en elle-même est un processus très simple grâce à apt-get.

root@mrtg:~# apt-get install nagios3

Le réglage du serveur mail peut être fait lors de l’installation de Nagios. Il peut également être configuré plus tard en cas de besoin.

Note : Une configuration SMTP valide est nécessaire pour que Nagios envoie des emails de notifications.

 installation nagio sur Debian étape1

Comme on peut le constater, Nagios supporte de multiples options d’envoi d’emails. Les options les plus communes sont Internet Site où le serveur envoie des emails directement au destinataire. Autre option largement utilisée, est l’utilisation d’un smarthost ou d’un serveur de relai, dans lequel le serveur envoie un email à un serveur de mails intermédiaire qui, en retour, envoie ce même email au destinataire.

Pour la suite, le nom de domaine du serveur doit être inclus dans la prochaine étape.

 installation nagio sur Debian étape2

Finalement, le mot de passe pour l’administrateur de Nagios (‘nagiosadmin’) est mis en place. Cette information peut elle aussi, être changée plus tard.

 installation nagio sur Debian étape3

Installer Nagios sur CentOS ou RHEL

On utilise yum pour l’installation. Après avoir mis en place le dépôt repoforge, actionnez yum de la manière suivante.

[root@mrtg ~]# yum install nagios nagios-plugins

Les critères de surveillance

Dans le présent tutoriel, nous souhaitons surveiller les éléments suivants :

  • Tout le serveur Linux sera contrôlé toutes les 3 minutes.
  • Tous les routeurs Cisco seront contrôlés toutes les 3 minutes.
  • Toutes les alertes mails doivent se rendre sur sentinel@example.tst.
  • Nagios vérifiera 3 fois avant d’envoyer quelque alerte que ce soit pour être sûr que le problème est réel.
  • Si le RTT vers quelque appareil que ce soit excède 100ms et/ou que la perte de paquets excède 20%, un mail d’alerte sera généré.                     

 

Le reste du tutoriel vous guidera pour configurer Nagios sur Linux.

Configuration de Nagios sur Ubuntu

Il est important de savoir où sont localisés les fichiers relatifs à la configuration de Nagios. Le tableau suivant montre la localisation desdits fichiers de configuration pour les systèmes basés sur Debian.  

/etc/nagios-plugins

Personnalisation des scripts utilisés pour la surveillance

/etc/nagios3

Configuration des fichiers  pour ajouter des hébergeurs, services, définir les vérifications et les timers

/usr/lib/nagios/plugins

Les fichiers exécutables utilisés pour la surveillance

 

Les étapes suivantes sont inter – reliées. Nous y donnerons la définition des hôtes, groupes d’hôtes ainsi que celle des services supplémentaires concernant les groupes d’hôtes.

Modèle d’ajout d’hôte

Les modèles expliquant que faire avec un hôte type sont définis. Nous utilisons les fichiers fournis avec l’installation comme échantillons.

Premièrement, définissez un modèle d’hôte pour les appareils Linux.

root@mrtg:~# cd /etc/nagios3/conf.d
root@mrtg:/etc/nagios3/conf.d/# cp generic-host_nagios2.cfg linux-server.cfg

Editez le fichier linux-server.cfg de la manière suivante. Les parties en gras sont modifiées.

root@mrtg:/etc/nagios3/conf.d/# vim linux-server.cfg
define host{name                                                             linux-server   notifications_enabled          1   event_handler_enabled          1  flap_detection_enabled         1  failure_prediction_enabled     1  process_perf_data              1  retain_status_information      1  retain_nonstatus_information   1check_command           example-host-check  ; the script to be used while checkingcheck_interval                  3             ; the interval between consecutive checksmax_check_attempts              3             ; number of rechecking before generating email alertsnotification_interval           0notification_period             24x7           notification_options           d,u,rcontact_groups                                admins   ; the group where emails will be sentregister                        0        } 

Ensuite, définissez un modèle d’hôte pour les appareils Cisco.

root@mrtg:/etc/nagios3/conf.d/# cp linux-server.cfg cisco-device.cfg

Modifiez le fichier cisco-device.cfg de la manière suivante. Les parties en gras sont modifiées.

root@mrtg:/etc/nagios3/conf.d/# vim cisco-device.cfg
# The highlighted parts are modifieddefine host{name                                                         cisco-device    notifications_enabled          1   event_handler_enabled          1   flap_detection_enabled         1   failure_prediction_enabled     1   process_perf_data              1   retain_status_information      1   retain_nonstatus_information   1 check_command           example-host-check  ; the script to be used while checkingcheck_interval                                 3         ; the interval between consecutive checksmax_check_attempts                       3 ; number of rechecking before generating email alertsnotification_interval          0notification_period            24x7            notification_options           d,u,rcontact_groups                       admins   ; the group where emails will be sentregister                        0               }

 

Ajout d’hôte

A présent que le modèle d’hôte est défini, il faut ajouter l’hôte actuel à surveiller. Là encore, les fichiers fournis par défaut sont utilisés comme échantillon.

root@mrtg:/etc/nagios3/conf.d/# cp localhost_nagios2.cfg example.cfg
root@mrtg:/etc/nagios3/conf.d/# vim example.cfg
# Host 1define host{use                    linux-server    ; Name of host template to usehost_name               our-server    ; The hostname to be used by nagiosalias                   our-serveraddress                172.17.1.23    ; The IP address of the host        } # Host 2define host{use                    cisco-device           ; Name of host template to usehost_name              our-router             ; The hostname to be used by nagiosalias                  our-routeraddress                172.17.1.1     ; The IP address of the host        }

 

Définition de groupe d’hôte

Pour une gestion plus aisée lorsqu’il y a plusieurs hôtes, il est conseillé de faire en sorte que les hôtes de type similaire soient groupés ensemble.

root@mrtg:/etc/nagios3/conf.d/# vim hostgroups_nagios2.cfg
definehostgroup {hostgroup_name         linux-server     ; the name of the host groupalias                  Linux Serversmembers                our-server      ; comma separated list of members        } definehostgroup {hostgroup_name         cisco-device    ; the name of the host groupalias                  Cisco Devicesmembers                our-server      ; comma separated list of members        }

 

Définition du service

 Premièrement, la commande example-host-check est définie avec pour seuil d’alerte de 100ms de latence et de 20% de perte de paquets. La valeur critique de latence est de 5000ms et celle de perte de paquet est de 100%. Une requête ping IPv4 est transmise.

root@mrtg:~# vim /etc/nagios-plugins/config/ping.cfg
define command{        command_name    example-host-check        command_line    /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 100,20% -c 5000,100% -p 1 -4        }

 

La commande est ensuite associée aux groupes d’hôtes.

root@mrtg:/etc/nagios3/conf.d/# vim services_nagios2.cfg
define service {hostgroup_name                                    linux-serverservice_description           Linux Serverscheck_command                 example-host-checkuse                           generic-servicenotification_interval 0 ; set > 0 if you want to be renotified} define service {hostgroup_name                                    cisco-deviceservice_description          Cisco Devicescheck_command                 example-host-checkuse                           generic-servicenotification_interval 0 ; set > 0 if you want to be renotified}

 

Définition de contact

L’adresse requise pour envoyer des ajouts d’emails vers Nagios.

root@mrtg:/etc/nagios3/conf.d/# vim contacts_nagios2.cfg
define contact{        contact_name                    root        alias                           Root        service_notification_period     24x7        host_notification_period        24x7        service_notification_options    w,u,c,r        host_notification_options       d,r        service_notification_commands   notify-service-by-email        host_notification_commands      notify-host-by-email        email                    root@localhost, sentinel@example.tst        }

Enfin, une opération d’essai est mise en place pour vérifier si il existe des erreurs de configuration. S’il n’y a pas d’erreurs, Nagios peut être (re)lancé sans problème.

root@mrtg:~#nagios –v /etc/nagios3/nagios.cfg
root@mrtg:~# service nagios3 restart

Configuration de Nagios sur CentOS/RHEL

Ci-dessous les localisations des fichiers de configuration de Nagios pour les systèmes basés sur Redhat.

/etc/nagios/objects

Configuration des fichiers pour ajouter des hôtes, services, définir de vérifications et de timers

/usr/lib/nagios/plugins

Les fichiers exécutables utilisés pour la surveillance

 

Ajout de modèle d’hôte

Un modèle est créé pour définir ce qui doit être fait pour un type spécifique d’hôte. Les fichiers fournis avec l’installation sont modifiés.

root@mrtg objects]# cd /etc/nagios/objects/
[root@mrtg objects]# vim templates.cfg
define host{   name                        linux-server       use                         generic-host       check_period                24x7         check_interval                          3   retry_interval              1   max_check_attempts                                   3   check_command                       example-host-check   notification_period                           24x7   notification_interval       0   notification_options                d,u,r   contact_groups              admins   register                    0        } define host{   name                        cisco-router       use                         generic-host       check_period                24x7         check_interval                          3   retry_interval              1   max_check_attempts                                   3   check_command                       example-host-check   notification_period                           24x7   notification_interval       0   notification_options                d,u,r   contact_groups              admins   register                    0        }

 

Ajout d’hôtes et de groupes d’hôtes

Le fichier de configuration fourni par défaut est utilisé comme échantillon. Les hôtes et groupes d’hôtes sont ajoutés dans le même fichier.

[root@mrtg objects]# cp localhost.cfg example.cfg
[root@mrtg objects]# vim example.cfg
#Adding Linux serverdefine host{use            linux-serverhost_name      our-serveralias          our-serveraddress        172.17.1.23        } #Adding Cisco Routerdefine host{use            cisco-routerhost_name      our-routeralias          our-routeraddress        172.17.1.1        } # HOST GROUP DEFINITIONdefine hostgroup{hostgroup_name  linux-serversalias           Linux Serversmembers         our-server        } define hostgroup{hostgroup_name  cisco-routeralias           cisco-routermembers         our-router        }

 

Définition du service

Un service appelé example-host-check est défini avec comme seuil d’alerte 100ms de latence et 20% de perte de paquets. La valeur critique de latence est de 5000ms et de 100% pour la perte de paquets. Une seule requête ping IPv4 sera transmise.

[root@mrtg objects]# vim commands.cfg
define command{        command_name    example-host-check        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 100.0,20% -c 5000.0,100% -p 1 -4        }

 

Définition de contact

L’adresse email où seront envoyées les alertes est ajoutée dans Nagios.

[root@objects objects]# vim contacts.cfg
define contact{contact_name   nagiosadmin       use                    generic-contactalias                  Nagios Adminemail                                                 nagios@localhost, sentinel@example.tst        }

 

Enfin, nous sommes prêts à lancer le service Nagios. Une opération d’essai est recommandée pour déterminer s’il y a des erreurs de configuration.

[root@mrtg ~]# nagios –v /etc/nagios/nagios.cfg
[root@mrtg ~]# service nagios restart
[root@mrtg ~]# chkconfig nagios on

Accéder à Nagios après la configuration

Vous êtes à présent prêt à utiliser Nagios. Vous pouvez accéder à ce dernier en ouvrant l’URL http://IP/nagios3 pour Ubuntu/Debian ou http://IP/nagios pour CentOS/RHEL; par exemple : http://172.17.1.23/nagios3. L’utilisateur « nagiosadmin » doit être identifié pour accéder à la page.

 accéder à nagio aprés configuration

Lorsque Nagios ne fonctionne pas comme il le devrait, la première chose à faire et d’initier une opération d’essai.

Sur Debian ou Ubuntu :

# nagios3 -v /etc/nagios3/nagios.cfg

Sur CentOS ou RHEL :

# nagios -v /etc/nagios/nagios.cfg

Le journal (ou historique des évènements) peut également faire état d’éléments importants. Il est localisé à /var/log/nagios/nagios.log.

En espérant que tout cela vous soit utile.

Article originale de: Sarmed Rahman    


comments powered by Disqus

Avis sur e-monsite

Avis sur e-monsite

E-monsite est un logiciel de création de site en ligne hébergé et gratuit, permettant à tout un chacun de créer un site sans connaissance technique. Pour créer un site sur e-monsite, vous n'avez pas à vous soucier de l'hébergement. E-monsite est facile à prendre en main et ne nécessite aucune instal … Continuer

Publié le 19 mai, 2014

1 Commentaires



Les avis des clients

Avis des utilisateurs


Faites entendre votre voix. Passez en revue votre fournisseur d'hébergement Web - bon ou mauvais.


Je possède plusieurs hébergements chez Infomaniak et je suis ravi des services proposés par cet hébergeur dont la réputation est largement méritée. Les produits évoluent rapidement, le support est réactif et facilement accessible et leur console d'administration est un pure bonheur par rapport à Ple …

Thierry à propos Infomaniak Suisse

Montrer une autre revue
Lire les avis Infomaniak Suisse



Plans d'hébergement




Les plans d'hébergement de 59 sociétés d'hébergement partout dans le monde


Meilleur hébergeurs web

# hébergeur web prix action

1

Ikoula

1.95 EURO

Ajouter un Avis
Visiter

2

Siteground

6.95 USD

Ajouter un Avis
Visiter

3

Ex2hosting

3.99 EURO

Ajouter un Avis
Visiter

4

Inmotion

5.95 USD

Ajouter un Avis
Visiter

5

Webhostinghub

4.95 USD

Ajouter un Avis
Visiter

6

Bluehost

6.95 USD

Ajouter un Avis
Visiter






Hébergeurs par avis de clients

Ex2hosting
78 avis des clients
Nuxit France
70 avis des clients
Hostpapa France
67 avis des clients
1and1 France
62 avis des clients
Rapidenet
50 avis des clients
Ajouter un avis Tous les profils


Hébergeurs par fidélité de clients

Ex2hosting
73 / 78 recommandé
Nuxit France
68 / 70 recommandé
Rapidenet
49 / 50 recommandé
Infomaniak France
48 / 48 recommandé
Hostpapa France
39 / 67 recommandé
Évaluer hébergeur Tous les profils


Question de la Semaine


Le plus important critère de votre hébergeur



Contacter l'éditeur

Posez votre question