Rapport Groupe4 Reseau

Embed Size (px)

DESCRIPTION

Rapport Groupe4 Reseau

Citation preview

  • 1 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    Prpar par

    Fadi ABDELMESSIH

    Ali ABDELKAFI

    Marvin CESCHEL

    Thai Ha NGUYEN

    Prsent

    M. Philippe Salvan

    Le 8 novembre, 2013

    SUPERVISION SYSTEME ET

    APPLICATIVE (MONITORING) :

    ETAT TECHNOLOGIQUE

    R A P P O R T - A R C H I T E C T U R E L O G I C I E L L E

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 2

    Rsum Excutif

    La supervision est une technique industrielle de suivi et de pilotage informatique de procds

    de fabrication automatiss. La supervision concerne l'acquisition de donnes (mesures,

    alarmes, retour d'tat de fonctionnement) et des paramtres de commande des processus

    gnralement confis des automates programmables. [1]

    Dans ce rapport, nous prsentons tout dabord 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 prsente deux solutions de supervision existantes sur le march :

    MRTG et Nagios.

  • 3 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    Table des matires

    Rsum Excutif ....................................................................................................................... 2

    Introduction .............................................................................................................................. 4

    1. Qu'est-ce qu'un superviseur ? ............................................................................................. 5 1.1 Le superviseur ............................................................................................................................................................. 5 1.2 Gestion de la collecte des donnes des systmes superviss ................................................................... 5 1.3 Catgorisation des lments superviss ........................................................................................................... 6

    1.3.1 Le systme ...................................................................................................................................................................... 6 1.3.2 Le rseaux ...................................................................................................................................................................... 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 Modle ............................................................................................................................................................................ 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 rseaux .............................................................................................. 14 3.2 MRTG (Multi Router Traffic Grapher) [9][10] ............................................................................................. 15

    3.2.1 Fonctionnement ........................................................................................................................................................ 15 3.2.2 Caractristiques ........................................................................................................................................................ 16 3.2.3 Avantages ..................................................................................................................................................................... 16 3.2.3 Inconvnients .............................................................................................................................................................. 16

    3.3 Nagios ........................................................................................................................................................................... 17 3.3.1 Gnral .......................................................................................................................................................................... 17 3.3.2 Fonctionnalits .......................................................................................................................................................... 17 3.3.4 Architecture ................................................................................................................................................................ 19 3.3.5 Plugins........................................................................................................................................................................... 20

    4. Conclusion ........................................................................................................................... 22

    Bibliographie & Rfrences ................................................................................................... 23

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 4

    Introduction

    Devant le problme rcurrent de la gestion de nombreux serveurs et services associs, que ce

    soit sur Internet ou non, on voudrait savoir ce qu'il se passe tout instant afin de pouvoir

    ragir rapidement en cas de problmes. Ces problmes peuvent en gnral tre de trois types :

    systme, c'est--dire, est-ce que la machine fonctionne normalement : mmoire suffisante, processeur non surcharg, disque dur non rempli

    rseau, c'est--dire est-ce que mon serveur est accessible et avec quelle qualit : disponibilit, dbit, 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 retourne

    Afin de simplifier l'administration de tels systmes, on utilise de plus en plus des moniteurs

    qui sont chargs de cette supervision. Ces moniteurs disposent de diffrents outils qui

    permettront :

    d'avoir des informations prcises sur les systmes superviss chaque instant (performance, disponibilit, cohrence) qui permettront de raliser des graphes, utiles

    pour visualiser les performances et les tendances

    d'alerter l'administrateur ds l'apparition d'un problme

    d'automatiser la rsolution des problmes

    Afin de rcuprer des donnes partir des machines supervises, les moniteurs utilisent des

    protocoles rseaux. Nous verrons deux des principaux protocoles utiliss, 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.

  • 5 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

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

    1.1 Le superviseur

    Un superviseur est un logiciel qui permet la surveillance et la mesure dune activit informatique.

    Il possde gnralement diffrents outils permettant :

    La ralisation dinventaire : cest--dire lobtention dun descriptif complet du parc de machines, des logiciels qui y sont installs, de leurs informations matrielles et

    logicielles (BIOS, Systme dexploitation, disque dur) ainsi que de leur localisation

    La surveillance en temps rel : cest--dire lobtention dinformations prcises sur les systmes superviss chaque instant au niveau systme, rseaux et applicatif

    (performance, disponibilit, intgrit, erreurs) qui permettront de raliser des graphes,

    utiles pour visualiser les performances et les tendances

    La gestion des alertes : cest--dire la possibilit dalerter l'administrateur ds l'apparition d'un problme par exemple par mail ou SMS.

    La gestion des problmes : cest--dire de pouvoir automatiser la rsolution de certains problmes (ex : redmarrer les services interrompus, basculement vers un serveur

    alternatif)

    On distingue deux manires de raliser de la supervision :

    - Via un logiciel ddi, install directement sur les machines quon souhaite surveiller (solutions de type MRTG, voir partie 3.2 : MRTG )

    - Ou via une solution externe de type ASP (Application Service Provider, cest--dire un fournisseur dapplications en ligne) via Internet (on peut citer par exemple ServeurMonitor ou WebLiveAlert). En particulier, le monitoring de site internet est

    trs dvelopp.

    Lavantage de cette dernire solution est quil devient alors simple et peu cher de disposer dun outil de monitoring performant, et ce sans devoir investir beaucoup dargent, de temps et de comptences. On vitera notamment la mise en place dinfrastructures techniques, le recrutement de personnes comptentes, lachat dun logiciel spcialis et le temps de gestion de ces logiciels.

    1.2 Gestion de la collecte des donnes des systmes superviss

    Le superviseur doit dabord pouvoir collecter et enregistrer des donnes partir des machines monitores.

    Cependant, le superviseur :

    ne doit pas empcher le systme supervis de fonctionner, ni ne doit compromettre sa

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 6

    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

    diffrentes machines dans les temps

    Les donnes peuvent tre obtenues via :

    - Lexcution de scripts (par exemple de test)

    - La rcupration des donnes des applications

    - La rcupration des fichiers de logs

    - Lutilisation de protocoles rseaux 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 prsentation des protocoles sera aborde dans la

    partie 2 : Protocoles de supervision .

    Il existe deux manires principales pour grer la collecte des donnes :

    Sondage par le superviseur ( Monitor poll ) : le superviseur rcupre les donnes des appareils superviss (via SNMP, Telnet/SSH)

    Pousse par l'agent ( Agent push ) : le systme supervis envoie des donnes au superviseur (de manire priodique, ou demand par le superviseur)

    1.3 Catgorisation des lments superviss

    1.3.1 Le systme

    On supervise le systme, c'est--dire, on surveille en temps rel si au niveau matriel les

    machines supervises fonctionnent correctement :

    mmoire suffisante

    processeur non surcharg

    disque dur non rempli

    Pour raliser cette supervision, SNMP est un des protocoles les plus utiliss (voir partie sur

    SNMP).

  • 7 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    1.3.2 Le rseaux

    Le superviseur peut superviser un rseau informatique afin de savoir si une machine est

    accessible et avec quelle qualit.

    Usuellement, le superviseur envoie priodiquement des requtes un serveur pour voir s'il est

    accessible. Si tel est le cas, on peut galement connatre son temps de rponse. Si la requte

    ne reoit pas de rponse, le superviseur peut effectuer plusieurs actions :

    envoi d'un mail/SMS l'administrateur

    activation d'un systme de failover (basculement vers un serveur alternatif)

    automatique afin de mettre hors service le serveur jusqu' ce qu'il soit rpar

    Dans le cas d'un serveur web par exemple, on peut superviser via diffrents 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 effectue de

    manire externe est plus fiable car elle continue fonctionner mme quand le serveur tombe

    en panne, ou est teint. galement, celle-ci permet de raliser des tches automatiques quand

    certains seuils sont franchis (allouer plus de mmoire, raliser 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 vrifier leur bon fonctionnement, et cela sans gnrer une

    charge trop importante ou modifier les donnes 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 grer leur performance et leur disponibilit. On

    cherche dtecter et diagnostiquer les problmes de performance des applications afin de

    maintenir un certain niveau de service.

    On cherche surveiller principalement deux types de mtriques :

    la charge du systme et le temps de rponse associ

    les ressources utilises par l'application pour rpondre la charge impose

    Ces mtriques permettent de pouvoir valuer la performance d'une application donne dans le

    temps, et ainsi permet de prvenir diffrents problmes qui pourraient surgir. Ainsi, si au bout

    d'un moment, l'application est de plus en plus utilise, on peut dtecter si oui ou non notre

    systme gre correctement la monte en charge. Si ce n'est pas le cas, ces mtriques nous

    permettront de prvenir le problme, plutt que de le gurir. En effet, corriger un problme

    quand il s'est dj produit peut s'avrer trs coteux (en termes de temps, d'argent et de

    ressource humaine), par rapport sa prvention.

    On observe qu'il peut tre difficile de surveiller la performance d'une application car celles-ci

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 8

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

    galement, l'environnement dans lequel les applications actuelles s'excutent est de plus en

    plus complexe et ceci pose un frein au monitoring de leur performance. En effet, la

    virtualisation des applications, les applications distribues ou utilisant le Cloud, les services

    web, ou les architectures orientes services peuvent avoir des composants parpills sur

    diffrentes machines.

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

    monitoring de l'exprience de l'utilisateur final

    o monitoring actif : simulation des actions effectues par un utilisateur d'un site internet ralise par des scripts. Ces simulations sont effectues rgulirement

    afin de mesurer la disponibilit, le temps de rponse et la fonctionnalit du site

    supervis

    o monitoring passif : analyse de trafic du rseau, qui permet rsoudre des problmes de performance rseau

    Modlisation et dcouverte de l'architecture l'excution de l'application

    On cherche dcouvrir, modliser et afficher tous les composants qui contribuent la

    performance de l'application et ce en temps rel.

    Monitoring des transactions

    On cherche amliorer la qualit de service des utilisateurs qui ralisent des

    transactions, mais aussi d'augmenter l'efficacit des applications et de l'infrastructure

    sur lesquelles ces transactions s'excutent.

    Par exemple, on peut raliser cela en identifiant prcisment o dans l'infrastructure

    les transactions sont retardes afin de corriger le problme.

    Monitoring en profondeur des composants de l'application

    On cherche superviser chaque composant de l'application par des outils spcifiques,

    afin de pouvoir par la suite identifier les problmes spcifiques ce composant.

    Analyse des donnes et remonte d'informations de l'application

    On veut prsenter les donnes rcupres de chaque application de manire homogne

    et concise.

  • 9 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    2. Protocoles de supervision

    Il existe beaucoup de protocoles permettant de collecter des informations des systmes quon 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

    lun des plus populaires (voir la partie 3 : Outils de supervision).

    SNMP est lun des protocoles de supervision les plus importants. Pour cette raison, nous nous y concentrerons ici. D'autres protocoles peuvent galement tre utiliss dans la supervision.

    On peut citer JMX (protocole spcifique Java pour le monitoring et l'administration) et des

    protocoles propritaires TCP/IP ou UDP.

    2.1 Supervision de bas niveau

    Dans le domaine de supervision, on peut utiliser des commandes pour superviser les systmes,

    parmi lesquelles on cite :

    1. Tester la charge dun serveur : uptime.

    2. Tester la mmoire dun serveur : free

    3. Tester le disque : df m /usr/local

    4. Tester ltat dune connexion ethernet : ethtool

    5. Rcuprer les statistiques dune connexion ethernet : netstat

    6. Tester quune machine est connecte au rseau : ping, nmap

    7. Tester quun service rpond : telnet [domaine] [Numro du port]

    8. Connaitre le nombre de paquets concerns par les rgles diptables : iptables nvL OUTPUT

    9. Mesurer la bande passante rseau : iperf

    Ce type de supervision reste compliqu et peu efficace pour une supervision des systmes

    volus.

    2.2 SNMP

    2.2.1 Introduction

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

    but de sa cration tait de grer l'augmentation d'lments informatique dans un rseau. Le

    SNMP permet la gestion et la supervision des quipements rseaux. Ce protocole est le plus

    utilis dans le domaine de la supervisons des rseaux.

    2.2.2 Histoire

    SNMP est une spcification de gestion de rseau cr en 1988 qui est devenue le standard

    d'change d'informations sur le rseau. Avant SNMP et les logiciels de supervisions, les

    administrateurs taient attachs aux priphriques rseaux afin daccder la configuration et afin de recevoir les donnes de dpannage. Le SNMP a t conu pour faciliter le processus

    de gestion des rseaux.

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 10

    2.2.3 Versions

    Il y a trois versions de lSNMP qui sont :

    SNMP version 1 (SNMPv1)

    SNMP version 2 (SNMPv2)

    SNMP version 3 (SNMPv3)

    SNMPv1 a t facile implmenter, mais cette version contient des problmes de scurit. Dans

    SNMPv2, la scurit est meilleure que la version 1 mais il reste toujours un problme

    dauthentification et de cryptage du point de vue scurit. La version SNMPv3 a t conue pour rsoudre les problmes des deux premires versions et elle est reste compatible avec les anciennes

    versions.

    2.2.4 Usage

    En utilisant SNMP, on peut rcuprer des informations sur les quipements rseaux tels que

    les routeurs, les imprimantes, les concentrateurs et galement on peut rcuprer des

    informations sur les ordinateurs normaux. Les informations qui peuvent tre rcupres 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 dusage des CPU et le taux dusage des disques durs.

    2.2.5 Modle

    Un systme rseau qui utilise le protocole SNMP est constitu de trois lments

    fondamentaux qui sont :

    a. Le MIB Management Information Base qui est une collection d'informations structur sur une entit rseau, par exemple un routeur, un commutateur ou un serveur.

    b. Le gestionnaire SNMP SNMP Manager qui est un logiciel qui

    s'excute sur la machine

    administrative du rseau et son rle

    est de centraliser les informations en

    provenance des quipements du

    rseau par lintermdiaire dagents.

    c. Lagent SNMP (SNMP Agent) qui est un logiciel qui se trouve au niveau

    de chaque nud. Ce nud peut tre switchs, hubs, routeurs et serveurs. Il

    sert excuter les MIB et son rle est

    de fournir les informations des MIB

    au gestionnaire.

    Ainsi, on peut constater que le gestionnaire SNMP agit comme une interface entre le

    gestionnaire humain du rseau et entre le nud de rseau gr. De mme, l'agent SNMP agit comme une interface entre le gestionnaire SNMP et entre le nud de rseau supervis.

    Figure 1 : Modle SNMP

  • 11 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    Le protocole de rseau utilis entre le gestionnaire SNMP et lagent SNMP est sans doute SNMP, mais il doit y avoir un autre protocole pour comprendre et composer les informations

    demandes. Ces dernires peuvent tre nimporte quoi comme lusage des disques durs dun nud du rseau o s'excute un agent.

    Donc, le point crucial est qu'il devrait y avoir une structure standard dans laquelle la requte

    doit tre forme par le gestionnaire SNMP et la requte doit tre compris par l'agent SNMP.

    Pour comprendre cette structure, on a besoin de comprendre llment de base du SNMP qui est un objet. Toutes les informations qui peuvent tre interroges en utilisant SNMP sont vues

    en termes d'un objet. Par exemple, le System up time est identifi par un objet qui

    sappelle sysUpTime. Chaque objet a un identifiant unique, le OID Object Identifier . Le groupe dOID 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

    structures sous forme darbre. On peut remarquer que linformation associe chaque nud individuel a un OID spcifique.

    2.2.6 Message SNMP

    Figure 2 : MIB Arbre (Tree)

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 12

    SNMP assure la communication entre le gestionnaire et lagent via les messages suivants :-

    SNMP GET

    SNMP GET-NEXT

    SNMP GET-RESPONSE

    SNMP SET

    SNMP TRAP

    Les messages GET et GET-NEXT sont

    utiliss pour rcuprer les valeurs des

    objets MIB.

    Le message GET-RESPONSE est utilis

    par lagent pour envoyer une rponse un message GET or GET-NEXT.

    Le message SET est utilis par le

    gestionnaire pour affecter une valeur un

    objet MIB particulire lagent.

    Le message TRAP est utilis par lagent pour envoyer une information propos de certaines valeurs alarmantes dun objet de MIB au gestionnaire.

    2.2.7 Avantages

    Limplmentation de SNMP dans les rseaux a des avantages significatifs. Il permet l'administrateur du rseau de pouvoir grer et contrler facilement les priphriques rseaux.

    Ceci permet entre autre lobtention dun systme fiable et performant. Le protocole utilis pour le transport des messages SNMP (couche transport) est UDP. UDP est meilleur que TCP

    dans les rseaux lossy ( pertes) o l'encombrement est gnralement trs lev. En outre,

    la mise en uvre du protocole SNMP reste simple.

    2.2.8 Limites

    Le SNMP sappuie sur le protocole UDP pour lchange dinformation, la communication avec lUDP est non fiable do le risque de perte de donnes. Lautre problme du protocole tait la scurit dans les deux premires versions de SNMP.

    Figure 3 : MP Messages

  • 13 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    2.3 Syslog

    Syslog est un protocole dfinissant un service de journaux d'vnements d'un systme

    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 rseau en utilisant UDP et une partie serveur qui collecte les informations et cre 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 gnr le log (hostname).

    3. Une information sur le processus qui a dclench cette mission.

    4. le niveau de gravit :

    Le journal Syslog a 8 niveaux de gravit (security levels) reprsent par un chiffre

    Allant de 0 (Emergency) jusqu 7 (Debug).

    5. Un identifiant du processus ayant gnr 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

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 14

    3. Outils de supervision

    Actuellement, pour la surveillance rseau, systme et application, on peut trouver plusieurs

    logiciels de monitoring et de supervision dans le march. Ces logiciels sont classs en deux

    catgories :

    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 rseaux

    On prsente ci-aprs un tableau montrant les spcificits des principaux outils de supervision

    des rseaux [8] :

    Tendance : Fournit des tendances du trafic rseau au fil du temps.

    Auto dcouverte : Le logiciel dtecte automatiquement les nouveaux htes ou

    quipements rseaux connects.

    Tendance Auto

    dcouverte Alerte SNMP Syslog

    Supervision

    distribu IPv6 Licence

    AccelOps X X X X X X X Commercial

    Argus X X X X X X Licence

    Artistique

    Avaya

    VPFM X X X X X X X Commercial

    CA

    Spectrum X X X X X X X Commercial

    Cacti X X X X X X X GPL

    HP

    OpenView X X X X X X X Commercial

    IBM

    Tivoli

    Network

    Manager

    X X X X X X X Commercial

    IPHost

    Network

    monitor

    X X X X X X Commercial

    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

    op5

    Monitor X X X X X X X

    Gratuit mais

    limit,

    Commercial

    PRTG

    Network

    Monitor

    X X X X X X X Freeware et

    Commercial

    Zabbix X X X X X X X GPL

    Zenoss X X X X X X X GPL

  • 15 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    SNMP : exploitation du protocole SNMP.

    Syslog : exploitation du protocole Syslog.

    Alerte : Capable de dtecter les dpassements des seuils (paramtrables) et d'alerter

    l'administrateur.

    Supervision distribu : possibilit de dployer la solution de supervision suivant une

    architecture distribue.

    IPv6 : Prise en charge de la communication en utilisant IPv6.

    Les deux parties qui suivent prsentent en dtail 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 rseau. Il permet l'utilisateur de voir le trafic rseau en temps rel 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 (hbergeur franais de site web) pour offrir ses clients de

    serveurs ddis la possibilit de suivre lvolution du trafic gnr par les sites hbergs sur leurs serveurs ddis [11].

    3.2.1 Fonctionnement

    MRTG utilise le Simple Network Management Protocol (SNMP) pour interroger des

    quipements rseaux tels que des routeurs, commutateurs, ou serveurs disposant d'une MIB

    (Management Information Base, base d'information pour la gestion du rseau).

    MRTG enregistre toutes les rponses des quipements dans des fichiers logs.

    partir des fichiers logs, MRTG gnre des fichiers HTML contenant des graphiques

    dcrivant le trafic pour chaque quipement rseaux.

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 16

    MRTG peut tre configur pour excuter des scripts ou des commandes, et analyser leurs

    rponses. Le site MRTG contient une grande bibliothque de scripts externes afin de

    permettre le suivi des statistiques de base de donnes SQL, les rgles de pare-feu, temprature

    du CPU

    3.2.2 Caractristiques

    Mesure le trafic entrant et le trafic sortant.

    Les rsultats sont obtenus par l'intermdiaire d'un agent SNMP, ou par le rsultat d'une

    ligne de commande.

    Recueille gnralement les donnes toutes les cinq minutes (il peut tre configur pour

    collecter des donnes moins frquemment).

    Les rsultats sont tracs en fonction du temps jour, semaine, mois et anne.

    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

    dpassent 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 trs simple.

    3.2.3 Inconvnients

    Les inconvnients du MTRG sont :

    Passe trop de temps crer des pages HTML

    Pas plus de deux donnes sur un mme graphe.

    Pas de centralisation des donnes et graphes.

  • 17 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    3.3 Nagios

    3.3.1 Gnral

    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, systmes d'exploitation, les protocoles rseau, les paramtres du

    systme et l'infrastructure de rseau. Nagios possde des moyens dalerter les administrateurs en cas dvnements. Il est fiable et efficace mme pour de trs gros rseaux dentreprise avec plusieurs milliers de machines (jusqu environ 3000 serveurs).

    Anciennement appel NetSaint, Nagios est actuellement un ensemble de produits classs dans

    deux catgories : payant et open source.

    Du ct payant, on trouve Nagios XI, le systme de supervision ddi entreprise bas

    sur Nagios Core, ainsi que plusieurs autres produits ou services comme Nagios

    Fusion, Nagios Network Analyzer.

    Du ct open source, on trouve Nagios Core (le noyau), Nagios Plugins (des plugins),

    Nagios Frontends (linterface 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 bass 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 Fonctionnalits

    Nagios offre les fonctionnalits majeures suivantes :

    Surveillance des services rseaux : SMTP, POP3, HTTP, NNTP, PING, etc.

    Surveillance des ressources des htes : charge du processeur, occupation des disques

    durs, utilisation de la mmoire, etc.

    Des plugins permettent de personnaliser facilement des vrifications de services.

    La vrification des services peut tre excute en parallle.

    Possibilit de dfinir la hirarchie du rseau en utilisant des htes parents , ce qui

    permet la dtection des htes qui sont larrt ou injoignables. Quand ces problmes sont rsolus, des services et des personnes en contacts sont notifis.

    Nagios dfinie des gestionnaires dvnements pour une rsolution proactive des problmes.

    Il y a une rotation automatique des fichiers log, support pour limplmentation de la surveillance redondante des htes

    Une interface web (optionnelle) offre une vision pour consulter diffrents vnements

    du rseau et du systme, et permet de faciliter lintgration de plugins

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 18

    En cas de problme, des notifications sont envoyes par email ou par d'autres

    mthodes personnalises.

    Des donnes sont collectes et archives automatiquement.

    Possibilit de planifier la priode dactivit, des intervalles de vrification des objets dans Nagios.

    3.3.3 Supervision active et supervision passive

    Nagios propose deux manires de supervision des htes et des services :

    Supervision active

    Gnralement, Nagios utilise la supervision active. Les principales caractristiques de la

    supervision active sont:

    Les contrles actifs sont initis par le processus Nagios

    Les contrles actifs sont grs sur une base rgulire

    Le processus est illustr par la Figure 5 suivante :

    Figure 5

    Les contrles actifs sont initis par le dmon Nagios. Quand Nagios a besoin de vrifier le

    statut d'un hte ou un service, il excute un plugin et transmet des informations sur ce qui doit

    tre vrifi. Le plugin va alors vrifier l'tat de fonctionnement de l'hte ou du service et

    renvoie ses rsultats au dmon Nagios. Nagios traite les rsultats de vrification de l'hte ou

    du service et prend les mesures appropries si ncessaire.

    Supervision passive

    Les principales caractristiques de la supervision passive sont:

    Les contrles passifs sont inities et ralises par les applications / processus externes

  • 19 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    Les rsultats des contrles passifs sont soumis Nagios pour le traitement

    Les contrles passifs sont utiles pour superviser des services qui sont:

    Asynchrones et ne peuvent pas tre monitors efficacement par des activits planifis

    rgulirement

    Situs derrire un pare-feu et ne peuvent pas tre contrls depuis l'hte de

    surveillance

    Le processus est illustr par la Figure 6 suivante :

    Figure 6

    Une application externe vrifie l'tat d'un hte ou d'un service.

    L'application externe crit les rsultats de la vrification au fichier de commande externe.

    Nagios lit le fichier de commande externe, il mettra les rsultats de tous les contrles passifs dans une file d'attente pour un traitement ultrieur. La mme file d'attente est

    utilise pour stocker les rsultats de contrles actifs.

    Nagios vrifie rgulirement les vnements et la file d'attente des rsultats de la vrification. Chaque rsultat de service qui se trouve dans la file d'attente est trait de

    la mme manire.

    3.3.4 Architecture

    Nagios est un programme modulaire qui s'adapte facilement aux besoins grce lutilisation de plugins. Nagios contient les parties principales suivantes :

    Le noyau Nagios Core : Un moteur lger qui offre les fonctionnalits essentielles de supervision, avec une porte limite mais possdant plusieurs API pour les tendre.

    Ces fonctionnalits sont l'ordonnancement des contrles, la vrification de l'excution,

    la vrification des traitements, la gestion des vnements et des alertes. Effectuer des

    vrifications, l'envoi de notifications, le traitement des donnes de performance, et de

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 20

    nombreuses autres tches sont gnralement hors de porte pour Nagios Core et sont

    manipuls essentiellement par des Plugins.

    L'interface dutilisateur Nagios Frontends : la base Nagios Core propose une interface dfaut de CGI. D'ailleurs, son interface d'utilisateur a t enrichie par

    linterface web, des thmes, linterface Windows et Linux et des applications mobiles. Elle donne une vue densemble du systme dinformation et des possibles anomalies.

    Les plugins Nagios Plugins: ce sont des extensions autonomes qui fournissent normment de fonctionnalits au noyau. Ils sont sous forme de scripts ou de

    programmes excutables que lon peut complter en fonction des besoins de chacun. On connat environ 3000 plugins de Nagios dont environ 50 sont officiels. Ces plugins

    fonctionnent soit en local sur la machine supervise, soit s'excutent distance en

    utilisant des protocoles rseaux 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 grce aux plugins. Ils fonctionnent comme des applications

    autonomes, mais sont gnralement conus pour tre excuts par Nagios base.

    Des plugins sont des codes binaires (crits et compils en C, C++, etc.) ou des scripts shell

  • 21 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    excutable (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 connatre l'tat du service)

    En plus, un plugin peut fournir d'autres informations (sous la forme d'une chane de

    caractres) qui seront affiches ct du statut de la machine.

    L'avantage des plugins est que l'utilisateur peut les crer lui-mme en fonction des besoins

    pour tendre des fonctionnalits du noyau. Ces plugins permettent de contrler peu prs tout

    ce qu'on peut penser. Si on peut automatiser le processus de vrification de quelque chose, on

    peut le contrler avec Nagios. Il y a dj beaucoup de plugins qui ont t crs afin de

    surveiller les ressources de base tels que la charge du processeur, l'utilisation du disque, le

    taux de ping, etc.

    L'inconvnient des plugins est le fait que Nagios n'a absolument aucune ide de ce qui est

    monitor. Ce sont peut-tre des statistiques du rseau de circulation, les taux d'erreurs de

    donnes, tempres ambiante, la tension du CPU, la vitesse du ventilateur, la charge du

    processeur, espace disque, etc. Nagios ne comprend pas les dtails de ce qui est surveill - il

    suit juste les changements dans l'tat de ces ressources. Seuls les plugins eux-mmes savent

    exactement ce qu'ils monitorent et comment effectuer des vrifications.

    Exemple de plugins :

    Les plugins actifs comme NRPE (Nagios Remote Plugin Executor) : On peut

    choisir parmi un certain nombre de services disponibles pour rpondre la demande

    de Plugins distance. C'est ce qu'on appelle la supervision active. Des services sont :

    monitorer lutilisation de disque dur, le load average, la vrification 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 htes qui sont derrire des firewall. Des informations sont remontes de faon

    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 base sur SNMP travers le rseau.

  • SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 22

    4. Conclusion

    Dans le cadre de la gestion de nombreux serveurs et services associs, les outils de monitoring

    apportent une trs grande plus-value

    En effet, en permettant de vrifier ce qu'il se passe tout instant au niveau du systme, du

    rseau et des applications, ils nous autorisent ragir rapidement en cas de problmes. Ils

    offrent galement des outils d'alerte et de rsolution automatique d'erreurs.

    On a pu observer que les logiciels de monitoring pouvaient galement tre supports de

    manire externe via les SAP. Ceci permet d'apporter rapidement et un moindre cot un outil

    de monitoring performant.

    Ainsi, les outils de supervision sont actuellement devenus trs accessibles, et permettent ainsi

    au plus grand nombre de personnes de profiter de ses avantages pour grer ses serveurs et ses

    applications.

  • 23 SUPERVISION SYSTEME ET APPLICATIVE (MONITORING)

    Bibliographie & Rfrences

    [1] Article de Wikipdia 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] Stphane Aicardi, Protocoles et outils de base lis 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] Ebook 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 Wikipdia sur Syslog, http://en.wikipedia.org/wiki/Syslog

    [17] Article de Wikipdia sur Java Management Extensions http://en.wikipedia.org/wiki/Java_Management_Extensions#Architecture