Vous êtes sur la page 1sur 23

 

RAPPORT A R CH I T E CT U R E L O GI CI E L L E

SUPERVISION SYSTEME ET
APPLICATIVE (MONITORING) :
ETAT TECHNOLOGIQUE

Préparé par

Fadi ABDELMESSIH
Ali ABDELKAFI
Marvin CESCHEL
Thai Ha NGUYEN

Présenté à

M. Philippe Salvan
Le 8 novembre, 2013

1  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)


 

Résumé Exécutif  
La supervision est une technique industrielle de suivi et de pilotage informatique de procédés
de fabrication automatisés. La supervision concerne l'acquisition de données (mesures,
alarmes, retour d'état de fonctionnement) et des paramètres de commande des processus
généralement confiés à des automates programmables. [1]

Dans ce rapport, nous présentons tout d’abord ce qu'est un superviseur et ce qu'il supervise.
Par la suite, on explicite les protocoles de supervision existants et on se concentre sur le
 protocole SNMP. Enfin, on présente deux solutions de supervision existantes sur le marché :
MRTG et Nagios.

 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  2 
 

Table des matières


Résumé Exécutif ....................................................................................................................... 2  
Introduction .............................................................................................................................. 4  
1. Qu'est-ce qu'un superviseur ? ............................................................................................. 5  
1.1 Le superviseur ............................................................................................................................................................. 5  
1.2 Gestion de la collecte des données des systèmes supervisés ...................................................................5 
1.3 Catégorisation des éléments supervisés ........................................................................................................... 6 
1.3.1 Le système ...................................................................................................................................................................... 6  
1.3.2 Le réseaux ...................................................................................................................................................................... 7   
1.3.3 Les applications ........................................................................................................................................................... 7   
2. Protocoles de supervision ..................................................................................................... 9  
2.1 Supervision de bas niveau ...................................................................................................................................... 9 
2.2 SNMP................................................................................................................................................................................ 9
 2.2.1 Introduction .................................................................................................................................................................. 9  
 2.2.2 Histoire ............................................................................................................................................................................ 9  
 2.2.3 Versions .........................................................................................................................................................................10  
 2.2.4 Usage ..............................................................................................................................................................................10  
 2.2.5 Modèle............................................................................................................................................................................10  
 2.2.6 Message SNMP ...........................................................................................................................................................11  
 2.2.7 Avantages .....................................................................................................................................................................12  
 2.2.8 Limites ...........................................................................................................................................................................12  
2.3 Syslog ............................................................................................................................................................................ 13  
3. Outils de supervision .......................................................................................................... 14  
3.1 Les principaux outils de supervision réseaux.............................................................................................. 14 
3.2 MRTG (Multi Router Traffic Grapher) [9][10]............................................................................................. 15 
3.2.1 Fonctionnement ........................................................................................................................................................ 15   
3.2.2 Caractéristiques ........................................................................................................................................................ 16  
3.2.3 Avantages .....................................................................................................................................................................16  
3.2.3 Inconvénients .............................................................................................................................................................. 16  
3.3 Nagios ........................................................................................................................................................................... 17  
3.3.1 Général .......................................................................................................................................................................... 17   
3.3.2 Fonctionnalités .......................................................................................................................................................... 17 
3.3.4 Architecture ................................................................................................................................................................ 19  
3.3.5 Plugins........................................................................................................................................................................... 20  
4. Conclusion ........................................................................................................................... 22  
Bibliographie & Références ................................................................................................... 23  

3  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)


 

Introduction
Devant le problème récurrent de la gestion de nombreux serveurs et services associés, que ce
soit sur Internet ou non, on voudrait savoir ce qu'il se passe à tout instant afin de pouvoir
réagir rapidement en cas de problèmes. Ces problèmes peuvent en général être de trois types :

  système, c'est-à-dire, est-ce que la machine fonctionne normalement : mémoire


suffisante, processeur non surchargé, disque dur non rempli
  réseau, c'est-à-dire est-ce que mon serveur est accessible et avec quelle qualité :
disponibilité, débit, bande passante

  applicatifs, c'est-à-dire est-ce que les applications/services fonctionnent correctement


et avec une bonne qualité : serveur applicatif qui tourne, page web bien retournée

Afin de simplifier l'administration de tels systèmes, on utilise de plus en plus des moniteurs
qui sont chargés de cette supervision. Ces moniteurs disposent de différents outils qui
 permettront :

  d'avoir des informations précises sur les systèmes supervisés à chaque instant
(performance, disponibilité, cohérence) qui permettront de réaliser des graphes, utiles
 pour visualiser les performances et les tendances

  d'alerter l'administrateur dès l'apparition d'un problème

  d'automatiser la résolution des problèmes

Afin de récupérer des données à partir des machines supervisées, les moniteurs utilisent des
 protocoles réseaux. Nous verrons deux des principaux protocoles utilisés, à savoir SNMP et
Syslog.

On expose ensuite un éventail de solutions de monitoring, puis on se concentre sur deux de


 principaux logiciels de supervision : Nagios et MRTG.

 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  4 
 

1. Qu'est-ce qu'un superviseur ?


1.1 Le superviseur

Un superviseur est un logiciel qui permet la surveillance et la mesure d’une activité


informatique.

Il possède généralement différents outils permettant :

  La réalisation d’inventaire : c’est-à-dire l’obtention d’un descriptif complet du parc de


machines, des logiciels qui y sont installés, de leurs informations matérielles et
logicielles (BIOS, Système d’exploitation, disque dur) ainsi que de leur localisation

  La surveillance en temps réel : c’est-à-dire l’obtention d’informations précises sur les


systèmes supervisés à chaque instant au niveau système, réseaux et applicatif
(performance, disponibilité, intégrité, erreurs) qui permettront de réaliser des graphes,
utiles pour visualiser les performances et les tendances

  La gestion des alertes : c’est-à-dire la possibilité d’alerter l'administrateur dès


l'apparition d'un problème par exemple par mail ou SMS.

  La gestion des problèmes : c’est-à-dire de pouvoir automatiser la résolution de certains


 problèmes (ex : redémarrer les services interrompus, basculement vers un serveur
alternatif)

On distingue deux manières de réaliser de la supervision :

-  Via un logiciel dédié, ins tallé directement sur les machines qu’on souhaite surveiller
(solutions de type MRTG, voir partie 3.2 : « MRTG »)

-  Ou via une solution externe de type ASP (Application Service Provider, c’est-à-dire
un fournisseur d’applications en ligne) via Internet (on p eut citer par exemple
ServeurMonitor ou WebLiveAlert). En particulier, le monitoring de site internet est
très développé.

L’avantage de cette dernière solution est qu’il devient alors simple et peu cher de disposer
d’un outil de monitoring performant, et   ce sans devoir investir beaucoup d’argent, de
temps et de compétences. On évitera notamment la mise en place d’infrastructures
techniques, le recrutement de personnes compétentes, l’achat d’un logiciel spécialisé et le
temps de gestion de ces logiciels.

1.2 Gestion de la collecte des données des systèmes supervisés

Le superviseur doit d’abord pouvoir collecter et enregistrer des données à partir des machines
monitorées.

Cependant, le superviseur :

  ne doit pas empêcher le système supervisé de fonctionner, ni ne doit compromettre sa

5  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)


 

 performance
  doit être performant, c'est à dire qu'il doit être capable de superviser dans les temps.
Également, il doit permettre la mise à l'échelle, c'est-à-dire permettre de superviser
différentes machines dans les temps

Les données peuvent être obtenues via :

-  L’exécution de scripts (par exemple de test)  

-  La récupération des données des applications

-  La récupération des fichiers de logs

-  L’utilisation de protocoles réseaux de supervision. Un des principaux protocoles est


SNMP (Simple Network Management Protocol). Son avantage pour la supervision est
qu'il n'a pas besoin de beaucoup de bande passante, ainsi que le fait qu'il soit utilisé
universellement dans l'industrie. Une présentation des protocoles sera abordée dans la
 partie 2 : « Protocoles de supervision ».

Il existe deux manières principales pour gérer la collecte des données :

  Sondage par le superviseur (« Monitor poll ») : le superviseur récupère les données


des appareils supervisés (via SNMP, Telnet/SSH)
  Poussée par l'agent (« Agent push ») : le système supervisé envoie des données au
superviseur (de manière périodique, ou demandé par le superviseur)

1.3 Catégorisation des éléments supervisés


1.3.1 Le système

On supervise le système, c'est-à-dire, on surveille en temps réel si au niveau matériel les


machines supervisées fonctionnent correctement :

  mémoire suffisante

   processeur non surchargé

  disque dur non rempli

Pour réaliser cette supervision, SNMP est un des protocoles les plus utilisés (voir partie sur
SNMP).

 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  6 
 

1.3.2 Le réseaux

Le superviseur peut superviser un réseau informatique afin de savoir si une machine est
accessible et avec quelle qualité.

Usuellement, le superviseur envoie périodiquement des requêtes à un serveur pour voir s'il est
accessible. Si tel est le cas, on peut également connaître son temps de réponse. Si la requête
ne reçoit pas de réponse, le superviseur peut effectuer plusieurs actions :

   envoi d'un mail/SMS à l'administrateur


   activation d'un système de failover (basculement vers un serveur alternatif)
automatique afin de mettre hors service le serveur jusqu'à ce qu'il soit réparé

Dans le cas d'un serveur web par exemple, on peut superviser via différents protocoles (ex :
HTTP, HTTPS, SNMP, FTP, SMTP, POP3, IMAP, DNS, SSH, TELNET, SSL, TCP, ICMP,
SIP, UDP). Cette supervision peut être interne ou externe. La supervision effectuée de
manière externe est plus fiable car elle continue à fonctionner même quand le serveur tombe
en panne, ou est éteint. Également, celle-ci permet de réaliser des tâches automatiques quand
certains seuils sont franchis (allouer plus de mémoire, réaliser une sauvegarde).

1.3.3 Les applications

On cherche d'abord à voir si nos applications fonctionnent comme il faut. Pour ce faire, on
utilise des tests qui permettront de vérifier leur bon fonctionnement, et cela sans générer une
charge trop importante ou modifier les données applicatives. On peut également regarder les
fichiers de logs.

En second lieu, on cherche à voir si nos applications logicielles sont performantes. Pour ce
faire, la gestion de la performance des applications, dite APM (« Application performance
management »), permet de surveiller et de gérer leur performance et leur disponibilité. On
cherche à détecter et à diagnostiquer les problèmes de performance des applications afin de
maintenir un certain niveau de service.

On cherche à surveiller principalement deux types de métriques :

   la charge du système et le temps de réponse associé


   les ressources utilisées par l'application pour répondre à la charge imposée

Ces métriques permettent de pouvoir évaluer la performance d'une application donnée dans le
temps, et ainsi permet de prévenir différents problèmes qui pourraient surgir. Ainsi, si au bout
d'un moment, l'application est de plus en plus utilisée, on peut détecter si oui ou non notre
système gère correctement la montée en charge. Si ce n'est pas le cas, ces métriques nous
 permettront de prévenir le problème, plutôt que de le guérir. En effet, corriger un problème
quand il s'est déjà produit peut s'avérer très coûteux (en termes de temps, d'argent et de
ressource humaine), par rapport à sa prévention.

On observe qu'il peut être difficile de surveiller la performance d'une application car celles-ci
7  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)
 

deviennent de plus en plus complexes (ex : à couches multiples).

Également, l'environnement dans lequel les applications actuelles s'exécutent est de plus en
 plus complexe et ceci pose un frein au monitoring de leur performance. En effet, la
virtualisation des applications, les applications distribuées ou utilisant le Cloud, les services
web, ou les architectures orientées services peuvent avoir des composants éparpillés sur
différentes machines.

C'est ainsi que cinq dimensions de APM ont été ressorties :

   monitoring de l'expérience de l'utilisateur final


o  monitoring actif : simulation des actions effectuées par un utilisateur d'un site
internet réalisée par des scripts. Ces simulations sont effectuées régulièrement
afin de mesurer la disponibilité, le temps de réponse et la fonctionnalité du site
supervisé

o  monitoring passif : analyse de trafic du réseau, qui permet résoudre des


 problèmes de performance réseau

   Modélisation et découverte de l'architecture à l'exécution de l'application

On cherche à découvrir, modéliser et afficher tous les composants qui contribuent à la


 performance de l'application et ce en temps réel.

   Monitoring des transactions

On cherche à améliorer la qualité de service des utilisateurs qui réalisent des


transactions, mais aussi d'augmenter l'efficacité des applications et de l'infrastructure
sur lesquelles ces transactions s'exécutent.

Par exemple, on peut réaliser cela en identifiant précisément où dans l'infrastructure


les transactions sont retardées afin de corriger le problème.

   Monitoring en profondeur des composants de l'application

On cherche à superviser chaque composant de l'application par des outils spécifiques,


afin de pouvoir par la suite identifier les problèmes spécifiques à ce composant.

   Analyse des données et remontée d'informations de l'application

On veut présenter les données récupérées de chaque application de manière homogène


et concise.

 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  8 
 

2. Protocoles de supervision
Il existe beaucoup de protocoles permettant de collecter des informations des systèmes qu’on
veut superviser. On peut exploiter ces protocoles via des programmes   ou des scripts Shell
 pour superviser. Egalement, on peut utiliser les produits du marché comme Nagios qui est
l’un des plus populaires (voir la partie 3 : Outils de supervision).

SNMP est l’un des protocoles de supervision les plus importants. Pour cette raison, nous nous
y concentrerons ici. D'autres protocoles peuvent également être utilisés dans la supervision.
On peut citer JMX (protocole spécifique à Java pour le monitoring et l'administration) et des
 protocoles propriétaires TCP/IP ou UDP.

2.1 Supervision de bas niveau

Dans le domaine de supervision, on peut utiliser des commandes pour superviser les systèmes,
 parmi lesquelles on cite :

1.  Tester la charge d’un serveur  : uptime.


2.  Tester la mémoire d’un serveur  : free
3.  Tester le disque : df  – m /usr/local
4.  Tester l’état d’une connexion ethernet : ethtool
5.  Récupérer les statistiques d’une connexion ethernet : netstat
6.  Tester qu’une machine est connectée au réseau : ping, nmap
7.  Tester qu’un service répond : telnet [domaine] [Numéro du port]
8.  Connaitre le nombre de paquets concernés par les règles d’iptables :
iptables  – nvL
OUTPUT
9.  Mesurer la bande passante réseau : iperf
Ce type de supervision reste compliqué et peu efficace pour une supervision des systèmes
évolués.

2.2 SNMP
2.2.1 Introduction

SNMP (Simple Network Management Protocol) est un protocole de la couche application. Le


 but de sa création était de gérer l'augmentation d'éléments informatique dans un réseau. Le
SNMP permet la gestion et la supervision des équipements réseaux. Ce protocole est le plus
utilisé dans le domaine de la supervisons des réseaux.

2.2.2 Histoire

SNMP est une spécification de gestion de réseau créé en 1988 qui est devenue le standard
d'échange d'informations sur le réseau. Avant SNMP et les logiciels de supervisions, les
administrateurs étaient attachés aux périphériques réseaux afin d’accéder à la configuration et
afin de recevoir les données de dépannage. Le SNMP a été conçu pour faciliter le processus
de gestion des réseaux. 

9  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)


 

2.2.3 Versions

Il y a trois versions de l’SNMP qui sont :

   SNMP version 1 (SNMPv1) 


   SNMP version 2 (SNMPv2) 
   SNMP version 3 (SNMPv3) 

SNMPv1 a été facile à implémenter, mais cette version contient des problèmes de sécurité. Dans
SNMPv2, la sécurité est meilleure que la version 1 mais il reste toujours un problème
d’authentification et de cryptage du point de vue sécurité. La version SNMPv3 a été conçue pour
résoudre les problèmes des deux premières versions et elle est reste compatible avec les anciennes
versions.

2.2.4 Usage

En utilisant SNMP, on peut récupérer des informations sur les équipements réseaux tels que
les routeurs, les imprimantes, les concentrateurs et également on peut récupérer des
informations sur les ordinateurs normaux. Les informations qui peuvent être récupérées en
utilisant SNMP sont nombreux. Avec SNMP on peut  obtenir par exemple le System up time
(qui est le temps durant lequel la machine était disponible et fonctionnelle), le taux d’usage
des CPU et le taux d’usage des disques durs. 

2.2.5 Modèle

Un système réseau qui utilise le protocole SNMP est constitué de trois éléments
fondamentaux qui sont :
a.  Le MIB « Management Information Base » qui est une collection d'informations
structuré sur une entité réseau, par exemple un routeur, un commutateur ou un serveur.

 b.  Le gestionnaire SNMP « SNMP


Manager » qui est un logiciel qui
s'exécute sur la machine
administrative du réseau et son rôle
est de centraliser les informations en
 provenance des équipements du
réseau par l’intermédiaire d’agents. 

c.  L’agent SNMP (SNMP Agent) qui


est un logiciel qui se trouve au niveau
de chaque nœud.  Ce nœud peut être 
switchs, hubs, routeurs et serveurs. Il
sert à exécuter les MIB et son rôle est
de fournir les informations des MIB Figure 1 : Modèle SNMP  
au gestionnaire.

Ainsi, on peut constater que le gestionnaire SNMP agit comme une interface entre le
gestionnaire humain du réseau et entre le nœud de réseau géré. De même, l'agent SNMP agit
comme une interface entre le gestionnaire SNMP et entre le nœud de réseau supervisé. 
 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  10 
 

Le protocole de réseau utilisé entre le gestionnai re SNMP et l’agent SNMP est sans doute
SNMP, mais il doit y avoir un autre protocole pour comprendre et composer les informations
demandées. Ces dernières peuvent être n’importe quoi comme l’usage des disques durs d’un
nœud du réseau où s'exécute un agent.  

Donc, le point crucial est qu'il devrait y avoir une structure standard dans laquelle la requête
doit être formée par le gestionnaire SNMP et la requête doit être compris par l'agent SNMP.
Pour comprendre cette structure, on a besoin de comprendre l’élément de base du SNMP qui
est un objet. Toutes les informations qui peuvent être interrogées en utilisant SNMP sont vues
en termes d'un objet. Par exemple, « le System up time » est identifié par un objet qui
s’appelle ‘sysUpTime’. Chaque objet a un identifiant unique, le OID « Object Identifier ». Le
groupe d’OID forme le MIB qui est la base de la gestion des informations.  

On peut remarquer dans la figure 2 que toutes les informations du protocole SNMP sont
structurées sous forme d’arbre. On peut remarquer que l’information associée à chaque nœud
individuel a un OID spécifique.

2.2.6 Message SNMP

Figure 2 : MIB Arbre (Tree)  

11  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)


 

SNMP assure la communication entre le gestionnaire et l’agent via les messages suivants :-

   SNMP GET
   SNMP GET-NEXT
   SNMP GET-RESPONSE
   SNMP SET
   SNMP TRAP 

Les messages GET et GET-NEXT sont


utilisés pour récupérer les valeurs des
objets MIB.

Le message GET-RESPONSE est utilisé


à un
 par l’agent pour envoyer une réponse
message GET or GET-NEXT.

Le message SET est utilisé par le


gestionnaire pour affecter une valeur à un
objet MIB particulière à l’agent.  Figure 3 : MP Messages 

Le message TRAP est utilisé par l’agent pour envoyer une information à propos de certaines
valeurs alarmantes d’un objet de MIB au gestionnaire.

2.2.7 Avantages

L’implémentation de SNMP dans les réseaux a des avantages significatifs. Il permet à


l'administrateur du réseau de pouvoir gérer et contrôler facilement les périphériques réseaux.
Ceci permet entre autre l’obtention d’un système fiable et performant. Le protocole utilisé
 pour le transport des messages SNMP (couche transport) est UDP. UDP est meilleur que TCP
dans les réseaux « lossy » (à pertes) où l'encombrement est généralement très élevé. En outre,
la mise en œuvre du protocole SNMP reste simple .

2.2.8 Limites

Le SNMP s’appuie sur le protocole UDP pour l’échange d’information , la communication


avec l’UDP est non fiable d’où le risque de perte de données . L ’autre problème du protocole
était la sécurité dans les deux premières versions de SNMP.

 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  12 
 

2.3 Syslog

Syslog est un protocole définissant un service de journaux d'événements d'un système


informatique. C'est aussi le nom du format qui permet ces échanges. [16]

Le protocole Syslog est composé de deux parties, une partie client qui émet les informations
sur le réseau en utilisant UDP et une partie serveur qui collecte les informations et crée les
 journaux.

Le journal Syslog contient les informations suivantes :

1.  La date à laquelle a été émis le log,

2.  Le nom de l'équipement ayant généré le log (hostname).

3.  Une information sur le processus qui a déclenché cette émission.

4.  le niveau de gravité :

  Le journal Syslog a 8 niveaux de gravité (security levels) représenté par un chiffre
Allant de 0 (Emergency) jusqu’à 7 (Debug).  

5.  Un identifiant du processus ayant généré le log et enfin un corps de message.


Certaines de ces informations sont optionnelles.

Par exemple :
Sep 14 14:09:09 machine_de_test dhcp service[warning] 110 corps du message

13  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)


 

3. Outils de supervision
Actuellement, pour la surveillance réseau, système et application, on peut trouver plusieurs
logiciels de monitoring et de supervision dans le marché. Ces logiciels sont classés en deux
catégories :
  Des logiciels payants : NAGIOS XI, Hp OpenView, IBM Tivoli Monitoring, etc.

   Des logiciels libres : NAGIOS Core, MRTG, CACTI, ZENOSS, etc.

3.1 Les principaux outils de supervision réseaux

On présente ci-après un tableau montrant les spécificités des principaux outils de supervision
des réseaux [8] :
Auto Supervision
Tendance Alerte SNMP Syslog IPv6 Licence 
découverte distribué
AccelOps  X X X X X X X Commercial 
Licence
Argus  X X X X X X
Artistique 
Avaya
X X X X X X X Commercial 
VPFM 
CA
X X X X X X X Commercial 
Spectrum 
Cacti  X X X X X X X GPL  
HP
X X X X X X X Commercial 
OpenView  
IBM
Tivoli
X X X X X X X Commercial 
Network
Manager 
IPHost
Network X X X X X X Commercial 
monitor 
Monitorix  X X X X X GPL 
Nagios  X X X X X X X GPL  
OpenNMS  X X X X X X X GPLv3  
Opsview  X X X X X X X Commercial 
Gratuit mais
op5
X X X X X X X limité,
Monitor 
Commercial 
PRTG
Freeware et
Network X X X X X X X
Commercial 
Monitor 
Zabbix  X X X X X X X GPL  
Zenoss X X X X X X X GPL  

   Tendance : Fournit des tendances du trafic réseau au fil du temps.  


   Auto découverte : Le logiciel détecte automatiquement les nouveaux hôtes ou
équipements réseaux connectés.  

 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  14 
 

   SNMP : exploitation du protocole SNMP.  


   Syslog : exploitation du protocole Syslog.  
   Alerte : Capable de détecter les dépassements des seuils (paramétrables) et d'alerter
l'administrateur. 
   Supervision distribué : possibilité de déployer la solution de supervision suivant une
architecture distribuée.  
   IPv6 : Prise en charge de la communication en utilisant IPv6.

Les deux parties qui suivent présentent en détail deux des principaux logiciels de supervision :
MRTG et Nagios.

3.2 MRTG (Multi Router Traffic Grapher) [9][10]

Le Multi Router Traffic Grapher, ou tout simplement MRTG, est un logiciel libre pour la
supervision de trafic réseau. Il permet à l'utilisateur de voir le trafic réseau en temps réel sous
forme graphique.

MRTG est écrit en Perl et peut fonctionner sur Windows, Linux, Unix, Mac OS et NetWare.

Figure 4 : Exemple de graphe

MRTG est utilisé par OVH (hébergeur français de site web) pour offrir à ses clients de
serveurs dédiés la possibilité de suivre l’évolution du trafic généré par les sites hébergés sur
leurs serveurs dédiés [11].

3.2.1 Fonctionnement

MRTG utilise le Simple Network Management Protocol (SNMP) pour interroger des
équipements réseaux tels que des routeurs, commutateurs, ou serveurs disposant d'une MIB
(Management Information Base, base d'information pour la gestion du réseau).

MRTG enregistre toutes les réponses des équipements dans des fichiers logs.
À partir des fichiers logs, MRTG génère des fichiers HTML contenant des graphiques
décrivant le trafic pour chaque équipement réseaux.
15  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)
 

MRTG peut être configuré pour exécuter des scripts ou des commandes, et analyser leurs
réponses. Le site MRTG contient une grande bibliothèque de scripts externes afin de
 permettre le suivi des statistiques de base de données SQL, les règles de pare-feu, température
du CPU… 

3.2.2 Caractéristiques
   Mesure le trafic entrant et le trafic sortant.
   Les résultats sont obtenus par l'intermédiaire d'un agent SNMP, ou par le résultat d'une
ligne de commande.
   Recueille généralement les données toutes les cinq minutes (il peut être configuré pour
collecter des données moins fréquemment).
   Les résultats sont tracés en fonction du temps jour, semaine, mois et année.
   Ajustement automatique des échelles des graphes pour un meilleur affichage.
   Calcule la valeur moyenne et la valeur maximale.
   Peut-être configuré pour envoyer des emails d'avertissement si certaines valeurs
dépassent un certain seuil.

3.2.3 Avantages

Parmi les avantages de MRTG on cite :

   MRTG est un logiciel gratuit.


   MRTG est multi plateforme (Windows, Linux, Unix, Mac OS …) 
   Mise en œuvre très simple.

3.2.3 Inconvénients

Les inconvénients du MTRG sont :  

   Passe trop de temps à créer des pages HTML


   Pas plus de deux données sur un même graphe.
   Pas de centralisation des données et graphes.

 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  16 
 

3.3 Nagios
3.3.1 Général

Dans le monde professionnel, NAGIOS est connu comme un logiciel de supervision


 permettant la surveillance des composants d'infrastructures critiques - y compris les
applications, les services, systèmes d'exploitation, les protocoles réseau, les paramètres du
système et l'infrastructure de réseau. Nagios possède des moyens d’alerter les administrateurs
en cas d’événements. Il est fiable et efficace même pour de très gros réseaux d’entreprise avec
 plusieurs milliers de machines (jusqu’à environ 3000 serveurs).

Anciennement appelé NetSaint, Nagios est actuellement un ensemble de produits classés dans
deux catégories : payant et open source.

   Du côté payant, on trouve Nagios XI, le système de supervision dédié entreprise basé
sur Nagios Core, ainsi que plusieurs autres produits ou services comme Nagios
Fusion, Nagios Network Analyzer.
   Du côté open source, on trouve Nagios Core (le noyau), Nagios Plugins (des plugins),
 Nagios Frontends (l’interface web, Windows, Linux, des applications mobile) et
 Nagios Configuration Tools (Outils et interfaces graphiques pour simplifier la
configuration de Nagios Core).

 Nagios est écrit en C et utilise un serveur Web Apache. Il fonctionne sous Linux et Unix, mais
il y a également une version Windows nommé Nagwin.

Dans le marché des logiciels de supervision, il existe plusieurs logiciels basés sur Nagios
comme par exemple : Icinga, Centreon, Overmon, Shinken, Vigilo, Eyesofnetwork, etc.
D'ailleurs, Nagios propose plusieurs d'outils pour faciliter la configuration, par exemple :
Lilac, NagiosQl, NConf, OneCMDB, Ignomagus, etc.
3.3.2 Fonctionnalités

 Nagios offre les fonctionnalités majeures suivantes :

   Surveillance des services réseaux : SMTP, POP3, HTTP, NNTP, PING, etc.
   Surveillance des ressources des hôtes : charge du processeur, occupation des disques
durs, utilisation de la mémoire, etc.
   Des plugins permettent de personnaliser facilement des vérifications de services.
   La vérification des services peut être exécutée en parallèle.
   Possibilité de définir la hiérarchie du réseau en utilisant des hôtes « parents », ce qui
 permet la détection des hôtes qui sont à l’arrêt ou injoignables. Quand ces problèmes
sont résolus, des services et des personnes en contacts sont notifiés.
    Nagios définie des gestionnaires d’événements pour une résolution proactive des
 problèmes.
   Il y a une rotation automatique des fichiers log, support pour l’implémentation de la
surveillance redondante des hôtes
   Une interface web (optionnelle) offre une vision pour consulter différents événements
du réseau et du système, et permet de faciliter l’intégration de plugins 

17  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)


 

   En cas de problème, des notifications sont envoyées par email ou par d'autres
méthodes personnalisées.
   Des données sont collectées et archivées automatiquement.
   Possibilité de planifier la période d’activité, des intervalles de vérification des objets
dans Nagios.
3.3.3 Supervision active et supervision passive 

 Nagios propose deux manières de supervision des hôtes et des services :  


Supervision active

Généralement, Nagios utilise la supervision active. Les principales caractéristiques de la


supervision active sont:

 Les contrôles actifs sont initiés par le processus Nagios


   Les contrôles actifs sont gérés sur une base régulière

Le processus est illustré par la Figure 5 suivante :  

Figure 5

Les contrôles actifs sont initiés par le démon Nagios. Quand Nagios a besoin de vérifier le
statut d'un hôte ou un service, il exécute un plugin et transmet des informations sur ce qui doit
être vérifié. Le plugin va alors vérifier l'état de fonctionnement de l'hôte ou du service et
renvoie ses résultats au démon Nagios. Nagios traite les résultats de vérification de l'hôte ou
du service et prend les mesures appropriées si nécessaire.  
Supervision passive

Les principales caractéristiques de la supervision passive sont:

   Les contrôles passifs sont initiées et réalisées par les applications / processus externes
 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  18 
 

   Les résultats des contrôles passifs sont soumis à Nagios pour le traitement

Les contrôles passifs sont utiles pour superviser des services qui sont:

   Asynchrones et ne peuvent pas être monitorés efficacement par des activités planifiés
régulièrement
   Situés derrière un pare-feu et ne peuvent pas être contrôlés depuis l'hôte de
surveillance

Le processus est illustré par la Figure 6 suivante :

Figure 6

   Une application externe vérifie l'état d'un hôte ou d'un service.


   L'application externe écrit les résultats de la vérification au fichier de commande
externe.
    Nagios lit le fichier de commande externe, il mettra les résultats de tous les contrôles
 passifs dans une file d'attente pour un traitement ultérieur. La même file d'attente est
utilisée pour stocker les résultats de contrôles actifs.
    Nagios vérifie régulièrement les événements et la file d'attente des résultats de la
vérification. Chaque résultat de service qui se trouve dans la file d'attente est traité de
la même manière.

3.3.4 Architecture 

 Nagios est un programme modulaire qui s'adapte facilement aux besoins grâce à l’utilisation
de plugins. Nagios contient les parties principales suivantes :

   Le noyau  –  Nagios Core : Un moteur léger qui offre les fonctionnalités essentielles de
supervision, avec une portée limitée mais possédant plusieurs API pour les étendre.
Ces fonctionnalités sont l'ordonnancement des contrôles, la vérification de l'exécution,
la vérification des traitements, la gestion des événements et des alertes. Effectuer des
vérifications, l'envoi de notifications, le traitement des données de performance, et de

19  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)


 

nombreuses autres tâches sont généralement hors de portée pour Nagios Core et sont
manipulés essentiellement par des Plugins.
   L'interface d’utilisateur –   Nagios Frontends : À la base Nagios Core propose une
interface défaut de CGI. D'ailleurs, son interface d'utilisateur a été enrichie par
l’interface web, des thèmes, l’interface Windows et Linux et des applications mobiles.
Elle donne une vue d’ensemble du système d’information et des possibles anomalies.
   Les plugins  –   Nagios Plugins: ce sont des extensions autonomes qui fournissent
énormément de fonctionnalités au noyau. Ils sont sous forme de scripts ou de
 programmes exécutables que l’on peut compléter en fonction des besoins de chacun.
On connaît environ 3000 plugins de Nagios dont environ 50 sont officiels. Ces plugins
fonctionnent soit en local sur la machine supervisée, soit s'exécutent à distance en
utilisant des protocoles réseaux tels que HTTP, SMTP, SSH ou autres.

Figure 7 

3.3.5 Plugins 

La force principale de Nagios est sa grande modularité qui lui permet de s'adapter facilement
aux besoins des utilisateurs grâce aux plugins. Ils fonctionnent comme des applications
autonomes, mais sont généralement conçus pour être exécutés par Nagios base.

Des plugins sont des codes binaires (écrits et compilés en C, C++, etc.) ou des scripts shell
 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  20 
 

exécutable (shell, Php, Perl, etc.). En personnalisant des plugins, il faut respecter des codes
retour qui sont dans la norme suivante :
  0 OK (tout va bien)  
  1 WARNING (Alerte) 
  2 CRITICAL (Alerte critique) 
  3 UNKNOWN (impossible de connaître l'état du service)  

En plus, un plugin peut fournir d'autres informations (sous la forme d'une chaîne de
caractères) qui seront affichées à côté du statut de la machine.

L'avantage des plugins est que l'utilisateur peut les créer lui-même en fonction des besoins
 pour étendre des fonctionnalités du noyau. Ces plugins permettent de contrôler à peu près tout
ce qu'on peut penser. Si on peut automatiser le processus de vérification de quelque chose, on
 peut le contrôler avec Nagios. Il y a déjà beaucoup de plugins qui ont été créés afin de
surveiller les ressources de base tels que la charge du processeur, l'utilisation du disque, le
taux de ping, etc.

L'inconvénient des plugins est le fait que Nagios n'a absolument aucune idée de ce qui est
monitoré. Ce sont peut-être des statistiques du réseau de circulation, les taux d'erreurs de
données, tempérées ambiante, la tension du CPU, la vitesse du ventilateur, la charge du
 processeur, espace disque, etc. Nagios ne comprend pas les détails de ce qui est surveillé - il
suit juste les changements dans l'état de ces ressources. Seuls les plugins eux-mêmes savent
exactement ce qu'ils monitorent et comment effectuer des vérifications.

Exemple de plugins :  
   Les plugins actifs comme NRPE (Nagios Remote Plugin Executor) :  On peut
choisir parmi un certain nombre de services disponibles pour répondre à la demande
de Plugins à distance. C'est ce qu'on appelle la  supervision active . Des services sont :
monitorer l’utilisation de disque dur, le load average, la vérification des services http,
ftp. 
   Les plugins passifs comme NSCA (Nagios Service Check Acceptor), NRDP
(Nagios Remote Data Processor) : ces plugins sont utiles pour monitorer des services
et des hôtes qui sont derrière des firewall. Des informations sont remontées de façon
 passive vue du point de vue de Nagios.  
   NSClient++ :  qui est un plugin lourd pour la supervision des serveurs Windows
 NT/2K/XP. 
   Check_SNMP : pour la supervision basée sur SNMP à travers le réseau.

21  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)


 

4. Conclusion
Dans le cadre de la gestion de nombreux serveurs et services associés, les outils de monitoring
apportent une très grande plus-value

En effet, en permettant de vérifier ce qu'il se passe à tout instant au niveau du système, du


réseau et des applications, ils nous autorisent à réagir rapidement en cas de problèmes. Ils
offrent également des outils d'alerte et de résolution automatique d'erreurs.

On a pu observer que les logiciels de monitoring pouvaient également être supportés de


manière externe via les SAP. Ceci permet d'apporter rapidement et à un moindre coût un outil
de monitoring performant.

Ainsi, les outils de supervision sont actuellement devenus très accessibles, et permettent ainsi
au plus grand nombre de personnes de profiter de ses avantages pour gérer ses serveurs et ses
applications.

 
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)  22 
 

Bibliographie & Références


[1] “Article de Wikipédia sur la Supervision”, http://fr.wikipedia.org/wiki/Supervision

[2] Gartner, “Articles sur les 5 Dimensions de APM”,


http://apmdigest.com/another-look-at-gartners-5-dimensions-of-apm

[3] Don Jones, “The Five Essential Elements of Application Performance Monitoring”,
http://www.realtimepublishers.com/feeapm.php

[4] “Application performance management”,


http://en.wikipedia.org/wiki/Application_performance_management

[5] Himanshu Arora, “SNMP Introduction Tutorial”,


http://www.thegeekstuff.com/2012/09/snmp-introduction/

[6] Stéphane Aicardi, “Protocoles et outils de base liés à la supervision”,


http://www.mathrice.fr/IMG/pdf_mathrice_2009_Protocoles.pdf

[7] Asante, “Simple Network Management Protocol ”,


http://www.asante.com/downloads/productdocuments/snmp.pdf

[8] “Comparaison outils de supervision”,


http://en.wikipedia.org/wiki/Comparison_of_network_monitoring_systems

[9] “MRTG”, http://en.wikipedia.org/wiki/Multi_Router_Traffic_Grapher

[10] “MRTG”, http://oss.oetiker.ch/mrtg/

[11] “OVH et MRTG”, http://www.ovh.com/fr/serveurs_dedies/mrtg.xml

[12] “Nagios”, http://nagios.sourceforge.net

[13] “E book nicolargo nagios”,  http://blog.nicolargo.com/wp-content/uploads/2011/03/ebook-


nicolargo-nagios-v1.0.pdf

[14] “Supervision”, http://www.memoireonline.com

[15] “Nagios”, http://www.nagios.com

[16] “Article de Wikipédia sur Syslog”, http://en.wikipedia.org/wiki/Syslog

[17] “Article de Wikipédia sur Java Management Extensions” 


http://en.wikipedia.org/wiki/Java_Management_Extensions#Architecture

23  SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

Vous aimerez peut-être aussi