2. Architecture de Nagios
Nagios est un programme modulaire de telle sorte que son
évolution puisse être facile, il se compose principalement de
trois parties :
2.1. L'ordonnanceur : c'est le moteur de
l'application qui s'occupe de l'ordonnancement des tâches de
supervision.
2.2. L'interface Web : qui permet d'avoir une
vue d'ensemble du système
d'information et des possibles anomalies, Nagios s'appuie sur
simple serveur
Web tel apache basé sur des CGI.
2.3. Les sondes : Les sondes de Nagios
(Plugins ou Greffons) sont de petits scripts ou programmes qui sont à la
base des vérifications. Ces minis programmes que l'on peut
compléter selon nos besoins pour superviser chaque tache Nagios peut
aussi gérer ses données dans des bases de données (MySQL
ou PostgreSQL) ou bien dans des fichiers textes.
La figure 4 montre cette architecture:
Figure 3.8 : Architecture de Nagios.
3. Principes de bases de Nagios
Les Common Gate Interface (CGI) : C'est une
technologie standard implémentée à tous serveurs Web. Elle
permet l'échange de données entre un programme et le contenu
d'une page Web visualisée par un internaute distant. Un tel programme
peut être écrit à l'aide de n'importe quel langage de
programmation : les plus utilisée sont le langage C, Perl ou encore
Python.
Les Plugins : A la différence de
beaucoup d'autres outils de supervision. Nagios ne dispose pas de
mécanisme interne pour vérifier l'état d'un service, d'un
hôte,etc.
Il utilise des programmes externes appelés Plugins, Les
Plugins sont des
programmes exécutables ou scripts (Perl, Shell, Etc.)
qui peuvent être lancés depuis une ligne de commande pour tester
un hôte ou un service. Nagios utilise le résultat de cette action
pour déterminer le statut des hôtes ou services sur le
réseau. Pour Nagios peu importe ce que fait un Plugin, seul le
résultat compte. Les Plugins permettent aux utilisateurs de
développer facilement leurs propres vérifications de services.
Ces plugins fonctionnent soit en local sur la machine supervisée, soit
exécutent des tests à distance (tels sur des protocoles
réseaux tels Http, Smtp ou exécution distante via Ssh ou
autres).
Ce concept est illustré dans la figure suivante :
Figure 3.9 : Fonctionnement d'un Plugin de
NAGIOS.
4. Mise en réseau de la supervision avec
Nagios
Les plugins locaux au serveur de supervision sont
exécutés directement par Nagios. La vérification d'un
service à distance (par l'exécution d'un Plugin situé sur
une autre machine ou par SNMP) se fait elle aussi par le biais de
l'exécution d'un Plugin local au serveur Nagios qui n'est en fait qu'un
ordonnanceur de tâches dédiées à la supervision.
Nagios n'a pas pour vocation d'intégrer des fonctionnalités de
vérification de bon fonctionnement quelconques autres que ses fonctions
internes.
Pour l'exécution de plugins à distance,
plusieurs possibilités existent:?
- Par le biais d'autres serveurs de supervision Nagios
distants : dans le cas de la
supervision distribuée qui concentre la
vérification sur un site distant, et ne
remonte que les problèmes.
- Les agents de transport ou d'exécution des tests,
tels :
4.1. NRPE (Nagios Remote Plugin Executor) qui
permet l'exécution à la demande de Plugins à distance,
à choisir parmi un certain nombre de services disponibles. C'est ce
qu'on appelle la supervision active.
4.2. NSCA (Nagios Service Chek Acceptor) qui
permet de son coté la remontée
d'information de façon passive vu du point de vue de
Nagios, c'est ce qu'on appelle la supervision
passive.
L'ordonnancement des vérifications est assuré de
façon locale à chaque machine et surtout permet d'inverser le
sens des connexions entre serveur supervisé et serveur superviseur qui
peut avoir un intérêt dans un réseau
sécurisé.
4.3. NSClient++ : qui est un greffon (plugin)
lourd pour la supervision des serveurs Windows NT/2K/XP.
4.4. Check_Snmp : pour la supervision
basée sur SNMP à travers le réseau.
|