Nagios et les greffons

Date: 8/10/2007 | Catégories: Open-source,Reseau | Tags: ,,,,,

Nagios est un outil libre de monitoring réseau souvent abordé dans ce blog. A mes yeux, la principale force de ce produit est sa grande modularité qui lui permet de s'adapter aux besoins des utilisateurs. Il est ainsi possible de surveiller un grands nombres de paramètres sur les machines de votre réseau. Nous allons dans ce billet évoquer les différentes méthodes que l'on peut utiliser pour récupérer ces informations.

Le protocole SNMP

C'est LE protocole pour la gestion de réseaux. Basée sur UDP (port 161), ce protocole de communication permet la remontée d'informations stockées dans la table MIB ("Management Information Base") des machines. SNMP se base sur une architecture client (Nagios) / serveur (la machine à surveiller). Il est donc nécessaire que vos machines soient compatibles SNMP. C'est le cas de la plupart des équipements réseaux de type routeurs, commutateurs Ethernet...

Sur les serveurs de type Linux, il suffit d'installer le daemon snmpd de la suite Open-SNMP. Sur Windows, il est également possible d'installer le daemon Net-SNMP. Enfin, Mac OS X inclue un daemon SNMP (UCD-SNMP), il suffit de suivre cette procédure pour l'activer.

Les plugins locaux

En standard, SNMP ne remonte que des informations systèmes basiques. Pour aller plus loin et surveiller des processus plus complexe, Nagios à mis en place un système de type plugins locaux. Un plugin local est un script localisé sur le serveur Nagios (/usr/lib/nagios/plugins sous Linux, c'est pour cela que l'on dit qu'il est local).

Ce script, lancé à la demande de Nagios, doit retourner un code dont la signification est la suivante:

  • Code 0: OK - Tout va bien
  • Code 1: WARNING - Alerte
  • Code 2: CRITICAL - Alerte critique
  • Code 3: UNKNOWN - Problème lors de l'exécution du plugin

En plus de ces codes, un plugins peut fournir d'autres informations (sous la forme d'une chaine de caractères) qui seront affichées à coté du statut de la machine.

Pour ceux que cela intéresse, j'ai écrit un petit tutoriel sur la création d'un plugin pour Nagios.

Les plugins actifs avec NRPE

A la différence des plugins locaux, le plugin NRPE permet l'exécution de plugins dit actifs directement sur les machines à surveiller.
L'architecture est la suivante (schéma trouvé sur le site officiel de Nagios):

Avec NRPE, la demande d'exécution d'un plugin actif est faite à l'initiative du serveur Nagios. La procédure interne est la suivante:

  • le serveur Nagios demande, via le client NRPE, l'exécution du plugin P sur la machine H
  • le daemon NRPE hébergé sur la machine H, reçoit la requête d'exécution du plugin P
  • le plugin P est exécuté sur la machine H
  • le daemon NRPE de la machine H envoie le résultat du plugin P au serveur Nagios
  • le serveur Nagios interprète les résultats retournés par le pugin P

Les plugins passifs avec NSCA

Comme l'on vient de le voir NRPE est déclenché à l'initiative du serveur Nagios. Ce mode de fonctionnement peut poser problème, par exemple dans le cas ou les machines à surveiller son derrières un réseau sécurisé par un Firewall ou si le processus à surveiller demande une fréquence d'exécution très courte. Le plugin NSCA répond à ce problème en proposant l'exécution de plugins passifs sur les machines à surveiller.

Ici, c'est donc le daemon NSCA qui va envoyer l'information au serveur Nagios. On peut comparer cette fonction à un TRAP SNMP.

et pour Windows ?

Les plugins NRPE et NSCA ne sont disponibles que pour Linux et Mac OS X. Si vous souhaitez surveiller des machines sous Windows (il vaut mieux les surveiller de prêt ces bêtes là...) , il va falloir utiliser le plugin NSClient.

Cliquez ici pour voir tous mes billets sur Nagios.

  • Fabien

    Salut nico, (et ouai encore moi 🙂 )
    A la fin de ton post tu dis nrpe et nsca compatibles seulement linux mais maintenant avec NSClient tu a le choix entre utiliser NSClient ou sinon NRPE et ca pour Windows!!
    Sinon rien à dire, toujours nikel tes posts!!!!

  • AL

    Bonjour,

    Je vois que vous êtes très bien documenté sur Nagios.
    Afin de compléter vos connaissances, voici une solution qui permet de recevoir les notifications Nagios en temps réel par sms, email et message vocal.

    Pour plus d’information,consultez le site: http://www.alarmtilt.com/?action=solutions&browse=nagios

  • Aaron5

    Bonjour Nicolargo,

    merci pour cet article encore très instructif.
    Je vais surement utiliser NRPE ou NSCA prochainement, car je voudrais monitorer un groupe de serveurs qui forme un réseau interne (avec des adresses en 10.0.0.x) avec Nagios et Centreon installés sur un serveur extérieur à ce réseau.Je voudrais pinguer chacun de mes serveurs sur leur IP publique et leur adresse privée. Qui de NRPE et NSCA serait le plus approprié pour cette tâche?

  • tanjoniavo

    merci

  • soundouss lotfi

    jai installé nagios en suivant les etapes que vous avez donnez mai quand ja clique a gauche de la page sur une option il me donne un erreur vous pouvez me aidezzz !!
    sé urgennnt

  • Pingback: NAGIOS - NSCLIENT - Reseaux easy and free()