Академический Документы
Профессиональный Документы
Культура Документы
SU PERV IS ION SY S T E ME E T
APPLIC AT IV E ( MON ITOR IN G) :
ET A T T EC HNOL OGI QUE
Prpar par
Fadi ABDELMESSIH
Ali ABDELKAFI
Marvin CESCHEL
Thai Ha NGUYEN
Prsent
M. Philippe Salvan
Le 8 novembre, 2013
1
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.
2. Protocoles de supervision..................................................................................................... 9
4. Conclusion ........................................................................................................................... 22
Bibliographie & Rfrences ................................................................................................... 23
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 :
rseau, c'est--dire est-ce que mon serveur est accessible et avec quelle qualit :
disponibilit, dbit, bande passante
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
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.
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.
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
Pousse par l'agent ( Agent push ) : le systme supervis envoie des donnes au
superviseur (de manire priodique, ou demand par le superviseur)
mmoire suffisante
Pour raliser cette supervision, SNMP est un des protocoles les plus utiliss (voir partie sur
SNMP).
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 :
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).
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
7
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.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.
9
2.2.3 Versions
Il y a trois versions de lSNMP qui sont :
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.
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 10
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.
11
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
Figure 3 : MP Messages
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.
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
13
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.
Auto
dcouverte
Alerte
SNMP
Syslog
Supervision
distribu
IPv6
Licence
AccelOps
Commercial
Argus
Licence
Artistique
Avaya
VPFM
CA
Spectrum
Cacti
HP
OpenView
IBM
Tivoli
Network
Manager
IPHost
Network
monitor
Monitorix
Nagios
OpenNMS
Opsview
op5
Monitor
PRTG
Network
Monitor
Zabbix
Zenoss
Commercial
Commercial
GPL
Commercial
Commercial
Commercial
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
GPL
GPL
GPLv3
Commercial
Gratuit mais
limit,
Commercial
Freeware et
Commercial
X
X
X
X
X
X
X
X
X
X
X
X
X
X
GPL
GPL
Les deux parties qui suivent prsentent en dtail deux des principaux logiciels de supervision :
MRTG et Nagios.
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.
15
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
3.2.3 Avantages
Parmi les avantages de MRTG on cite :
3.2.3 Inconvnients
Les inconvnients du MTRG sont :
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 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
17
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.
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
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 18
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
Figure 6
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 :
19
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)
nombreuses autres tches sont gnralement hors de porte pour Nagios Core et sont
manipuls essentiellement par des Plugins.
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
SUPERVISION SYSTEME ET APPLICATIVE (MONITORING) 20
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.
21
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