Niveau systรจme
Au niveau systรจme, on sโintรฉresse principalement ร la gestion des ressources systรจmes physiques et logicielles (Cf. Page.26) : on vรฉrifiepar exemple, la disponibilitรฉ des ressources physiques car souvent la dรฉgradation de la QoS (e.gtemps de rรฉponse trรจs รฉlevรฉ) est due ร des ressources systรจmes insuffisantes. Lโintรฉrรชt du framework que nous proposons est dโaider ร la mesure de lโutilisation des ressources systรจmes et dโidentifier celles qui causent les goulots dโรฉtranglement. Car lโerreur ร รฉviter est dโaugmenter inutilement des ressources qui ne sont pas, ร la base, responsables des dรฉgradations des performances.
Autre aspect ร considรฉrer dans la gestion de la QoSest le choix du systรจme dโexploitation. Une application nโoffre pas les mรชmes performances si elle est dรฉployรฉe sur un systรจme Linux ou sur un systรจme Windows car la gestion des ressources logicielles (Thread, processus, etc.) nโest pas du tout la mรชme. En effet, Linux crรฉe des ยซ processus ยป plus rapidement que Windows 2000 par exemple, mais ordonnance ยซ Schedule ยป moins vite les ยซ threads ยป dโun mรชme ยซ processus ยป.
Linux aura donc un fort avantage dans les cas oรน lโon doit crรฉer et dรฉtruire beaucoup de threads ou processus, et ceci trรจs frรฉquemment (typiquementun serveur web avec des scripts CGI crรฉant un processus ร chaque requรชte), mais sera contre performant dans un systรจme oรน on utilise beaucoup de threads crรฉรฉs une fois pour toute (ex :base de donnรฉes ou serveur web moderne ne crรฉant pas de processus supplรฉmentaire pour exรฉcuter un script).
Concepts de lโรฉvaluation des performances systรจmes
Dans ce paragraphe nous nous intรฉressons au critรจrede la performance dโun systรจme. Cet aspect de la QoS est important car il met en jeu plusieursfacteurs et mรฉtriques nรฉcessaires pour son รฉvaluation.
Dรฉfinitions
Performance
Du point de vue de lโutilisateur, une application distribuรฉe est performante si elle assure un temps dโexรฉcution raisonnable suite ร la sollicitation dโun client. Ce temps dรฉpend dโune part des capacitรฉs de calcul et de communication des machines (sites du rรฉseau) et dโautres part des canaux de communication logiciels (Intergiciels) et de la qualitรฉ de lโapplication (Cf. 1.2 Gestion de la QoS).
Ressource systรจme
Une ressource systรจme est une entitรฉ physique/matรฉrielle (i.e., mรฉmoire, processeur, disques, etc.) ou logicielle/conceptuelle (i.e., fichier, thread, file dโattente, etc.) qui participe ร lโexรฉcution dโune application et dont les services sont dรฉcrits par des caractรฉristiques quantitatives. Lโรฉtude des ressources systรจmes utilisรฉes par une application peut se faire ร une granularitรฉ plus ou moins importante selon les besoins. Par exemple, lโรฉtude de la mรฉmoire consommรฉe peut couvrir la mรฉmoire vive rรฉellement disponible, la mรฉmoire mise en cache et la mรฉmoire buffรฉrisรฉe. La commande ยซ free โm ยป sous lโenvironnement Linux fournit ce genredโinformation (Cf. Figure 2).
Performance de la plate-forme de supervision
Nous dรฉfinissons la performance dโun outil de supervision comme รฉtant sa capacitรฉ ร collecter et traiter des informations sans perturber ou modifier le comportement du systรจme observรฉ. En gรฉnรฉral, cette condition peut รชtre atteinte de deuxfaรงons :
En minimisant ยซ lโintrusivitรฉ ยป des sondes,
En rรฉduisant la masse dโinformation que lโoutil doit gรฉrer tout au long du processus de supervision
Intrusivitรฉ des sondes
Dรฉfinition
ยซ Lโintrusivitรฉ ยป dรฉrive du mot intrusion qui veut dire ยซ lโoccurrence dโun processus ou dโun รฉvรฉnement qui ne fait pas partie du contexte dโexรฉc ution dโune tรขche mais qui interfรจre dans sa rรฉalisation ยป [Ramchurn, et al.’04]. [Mansouri-Samani.’95] dรฉfinit lโintrusivitรฉ dโun systรจme de supervision par : ยซ Intrusiveness or the probe effect is the effect t hat monitoring may have on the behaviour of the monitored system, and results from the monitoring system sharing resources with the observed system (e.g., processing power, communication chann els, storage space)โฆโฆMonitoring may affect the behaviour of the system under observatio n. This is particularly true when the application references external state or its behavi our is affected by race conditions. In general this intrusion or interference is undesirable and m ust be reduced or, when possible, completely eliminated. This can be achieved through suitable i nstrumentation techniques ยป .
Cette dรฉfinition souligne que lโintrusivitรฉ est causรฉe par lโinterfรฉrence avec le systรจme observรฉ.
Cette interfรฉrence peut sโopรฉrer ร deux niveaux : dโun cรดtรฉ le partage des ressources systรจme (CPU, mรฉmoire, etc.) et de lโautre cรดtรฉ le partage des ressources rรฉseaux (bande passante). Ces deux facettes de lโintrusivitรฉ doivent รชtre รฉvaluรฉes pour caractรฉriser globalement lโintrusivitรฉ dโune sonde.
Intrusivitรฉ au niveau des ressources rรฉseaux
[Goutelle and Primet.’03] dรฉfinit globalement le degrรฉ dโintrusivitรฉ dโune technique de mesure comme รฉtant la capacitรฉ ร rรฉaliser la mesure en gรฉnรฉrant le minimum de trafic supplรฉmentaire. Cette dรฉfinition, plutรดt gรฉnรฉrale, met lโaccent surle volume du trafic gรฉnรฉrรฉ par les sondes pour caractรฉriser son intrusivitรฉ. On peut dรฉfinir alorsmathรฉmatiquement lโintrusivitรฉ par la formule donnรฉe dans (รquation 1).
Filtrage ร la prรฉsentation
Ce type de filtrage permet ร lโutilisateur dโafficher uniquement les informations qui lโintรฉressent parmi celles stockรฉes. En pratique, lโutilisateur dispose dโun formulaire pour sรฉlectionner les types dโinformations et les critรจres associรฉs. Implicitement, cela dรฉclenche une suite de requรชtes vers le mรฉdium de stockage (ex systรจme de base de donnรฉes) qui vรฉrifie la disponibilitรฉ desinformations demandรฉes et qui renvoie le rรฉsultat.
Synthรจse
Mesurer les performances dโune application est essentiel pour mieux comprendre sa dynamique et anticiper les รฉvolutions et les optimisations. Cependant, la rรฉalisation de cette activitรฉ nรฉcessite des outils utilisant des techniques de collecte qui soient peu-intrusives. Cette intrusivitรฉ peut รชtre coรปteuse en terme de consommation des ressources systรจmes et peut perturber le comportement de lโapplication ou du systรจme supervisรฉ. De plus, la rรฉduction de la masse dโinformation peut sโavรฉrer trรจs utile pour augmenter lโefficacitรฉ de lโactivitรฉ de la supervision et faciliter le diagnostic. Le filtrageet lโajustement de la frรฉquence de collecte sont des mรฉcanismes parmi dโautres qui permettent cette rรฉduction.
Outre lโaspect intrusivitรฉ, la possibilitรฉ de fournir un environnement commun oรน des sondes hรฉtรฉrogรจnes peuvent fonctionner ensemble nous semble trรจs utile pour la supervision. Dans la suite, nous exposons lโintรฉrรชt de cette caractรฉristique et nous prรฉsentons quelques techniques quifacilitent cette intรฉgration.
Lโintรฉgration des sondes hรฉtรฉrogรจnes
Introduction
Les systรจmes actuels sont construits par intรฉgration de composants existants. Il en rรฉsulte des architectures complexes (hรฉtรฉrogรจnes, distribuรฉes, etc.). Dโune part, la contrainte dโhรฉtรฉrogรฉnรฉitรฉ peut prendre plusieurs formes : hรฉtรฉrogรฉnรฉitรฉ de lโenvironnement dโexรฉcution (Linux, Windows, etc.) et hรฉtรฉrogรฉnรฉitรฉ des formatsde donnรฉes manipulรฉes (XML, formats non standardisรฉs, etc.). La supervision de tels systรจmes nรฉcessite parfois de combiner plusieurs outils de mesure. Cela pose cependant un problรจme dโinteropรฉrabilitรฉ entre les rรฉsultats gรฉnรฉrรฉs par ces outils; ces rรฉsultats peuvent รชtre gรฉnรฉrรฉs dans des formats diffรฉrents (XML, CSV, etc.) et nรฉcessitent dโabord dโรชtre uniformisรฉs avant de les exploiter. Dโautre part, mesurer les performances dโun systรจme distribuรฉ nรฉcessite de placer des sondes sur les diffรฉrentes parties de ce systรจme. Lโhorodatage des informations collectรฉes est indispensable ร la supervision parce quโil permet de savoir ร quel moment la mesure a รฉtรฉ effectuรฉe. Le problรจme qui peut se poser ร ce stade est celui de la synchronisation des informations.
Dans cette partie, nous dressons un รฉtat de lโart des techniques utilisรฉes pour uniformiser les formats de donnรฉes et celles utilisรฉes pour les synchroniser.
Standard SNMP
Principe
SNMP est un protocole dโadministration de rรฉseau qui se veut simple dans son utilisation. Son concept lui permet de gรฉrer aussi bien des informations applicatives que des informations liรฉes ร lโutilisation des ressources systรจmes (processeur, mรฉmoire, charge des interfaces rรฉseaux, etc.).
Afin de pouvoir lโutiliser, il est nรฉcessaire que les รฉlรฉments ร superviser soient รฉquipรฉs dโun agent SNMP. Lโinformation quโon pourra recueillir dans un agent SNMP se trouve regroupรฉe dans la MIB que nous prรฉsentons dans le paragraphe suivant. Ceprotocole รฉtant basรฉ sur un modรจle Client/Serveur (Cf. Figure 13), la station dโadministration รฉmet un paquet UDP reprรฉsentant une requรชte SNMP ร destination de lโรฉquipement ร superviser. Lโagent, qui met ร jour rรฉguliรจrement sa table MIB, retourne dans un paquet UDP vers la station dโadministration, les valeurs des variables SNMP demandรฉes.
Discussion
Le protocole SNMP, comme l’acronyme l’indique, est simple et cโest dโailleurs lโune des raisons de sa popularitรฉ. De plus, il est adoptรฉ par de nombreux constructeurs des รฉquipements rรฉseaux comme lโoutil incontournable pour superviser leurs รฉquipements. Cependant, le mode de fonctionnement du protocole basรฉ sur une communication synchrone (requรชte/rรฉponse) est pรฉnalisant en terme dโintrusivitรฉ au niveau du rรฉseau car il est gรฉnรฉrateur de trafic. De plus, la frรฉquence de collecte doit รชtre choisit en fonctiondu nombre des รฉquipements supervisรฉs ce qui constitue une limite pour un large passage ร lโรฉchelle.
Le standard SNMP est utilisรฉ dans le cadre dโune supervision ยซ onlineยป et donc hรฉrite des avantages et des inconvรฉnients de ce type de supervision. La synchronisation est rรฉalisรฉe au niveau de la machine dโadministration qui constitue dโailleurs le point ยซ chaud ยป de lโarchitecture dโune plate-forme de supervision utilisant SNMP.
Eclipse TPTP
Introduction
Eclipse est un environnement de dรฉveloppement intรฉgrรฉ (IDE), ouvert et open source. Le projet a รฉtรฉ lancรฉ par IBM et largement utilisรฉ grรขce ร son architecture basรฉe sur les plug-ins.
Le projet Eclipse Test & Performance Tools Platform(TPTP), anciennement appelรฉ Hyades, est un ensemble de plug-ins Eclipse dรฉveloppรฉs en licence EPL . Il a รฉtรฉ lancรฉ en 2002, et est soutenu par des grands acteurs industriels tels queIntel, IBM, Computer Associates, Scapatech, etc.
Discussion
NAGIOS est un framework de supervision dotรฉ de mรฉcanismes de notifications pour envoyer des messages dรจs quโun comportement anormal est dรฉtectรฉ. Son architecture est hiรฉrarchique et nรฉcessite le dรฉploiement dโun dรฉmon sur chaque machine supervisรฉe. Ce dรฉmon a la tรขche dโexรฉcuter pรฉriodiquement les sondes locales et dโenvoyer les informations collectรฉes vers le moteur dโexรฉcution de NAGIOS.
La communication entre le dรฉmon NRPE et le moteur dโexรฉcution est synchrone ce qui augmente le trafic รฉchangรฉ sur le rรฉseau. De plus, lโarchitecture ยซ pseudo ยป-fermรฉe de NAGIOS ne permet par dโinsรฉrer des traitements supplรฉmentaires entre la phase de collecte et la phase de prรฉsentation. De plus, il est difficile dโadapter NAGIOS pour quโil puisse prendre en charge les informations collectรฉes par des outils externes (i.e. rรฉsultats dโOpenSTA ). Malgrรฉ les limites du framework NAGIOS, son รฉtude a permis dโidentifier diverses techniques/scripts pour collecter les informations sur lโutilisation des ressources systรจme et sur la charge du rรฉseau.
LeWYS (Lewys is Watching Your System)
Prรฉsentation
Nous clรดturons cet รฉtat de lโart avec un projet issu de la recherche acadรฉmique sur les modรจles de composants. LeWYS est une bibliothรจque de sondes dรฉveloppรฉes ร l’aide du modรจle FRACTAL (Cf. ANNEXE E). L’objectif de ce projet estde fournir un canevas gรฉnรฉrique pour construire des systรจmes de supervision de tailles variables.
LeWYS est implรฉmentรฉ en java en utilisant les API Julia et sโappuie sur la bibliothรจque DREAM (Cf. ANNEXE E) pour diffuser les informations collectรฉes par les sondes. Cette bibliothรจque sโintรจgre plus facilement dans LeWYS car tous les deux sont basรฉs sur le mรชme modรจle de composant FRACTAL.
Synthรจse
Le but de ce chapitre est de montrer le contexte technologique de la thรจse, et en particulier les principaux standards et plates-formes de supervision. En plus du standard SNMP, nous avons รฉtudiรฉ trois autres solutions qui nous semblent reprรฉsentatives du reste et qui se distinguent par leurs architectures et leurs modes de fonctionnement. Ces solutions sont la plate-forme TPTP, le framework NAGIOS et la bibliothรจque LeWYS.
A travers une รฉtude comparative, nous exposons les principaux atouts et faiblesses des ces solutions et nous discutons la possibilitรฉ de rรฉpondre totalement ou partiellement aux trois exigences que nous avons fixรฉ, ร savoir : la faibleintrusivitรฉ, la possibilitรฉ dโintรฉgrer des sondeshรฉtรฉrogรจnes et le dรฉcouplage entre lโacquisition etla prรฉsentation des informations collectรฉes.
La plate-forme TPTP fournit une solution globale aux diverses fonctionnalitรฉs allant du domaine du test jusquโร lโactivitรฉ de monitoring et de profiling des applications java. La fonctionnalitรฉ de monitoring, qui nous intรฉresse en particulier, est assurรฉe par un ensemble dโagents capables de mesurer lโactivitรฉ des systรจmes Linux et Windows. Ses agents sont dรฉployรฉs sur la machine observรฉe et communiquent avec le client (console Eclipse) ร travers le contrรดleur dโagent appelรฉ ยซ RAC ยป qui est aussi installรฉ sur la mรชme machine. Ce dernier, assure plusieurs tรขches dont le filtrage et la miseen forme des informations collectรฉes par les agents. Ces diffรฉrentes tรขches requiรจrent des ressources systรจmes ce qui augmente lโintrusivitรฉ de cette solution. Les deux autres exigences semblent difficilement rรฉalisables et en particulier lโintรฉgration des informations hรฉtรฉrogรจnes. En effet, le monitoringdans TPTP ne propose pas de mรฉcanisme pour importer des fichiers et mรชme si on dรฉveloppe un agent pour le faire, il serait difficile de gรฉrer lโhorodatage des informations contenues dans ces fichiers.
Prรฉsentation des rรฉsultats
Au terme de la phase de traitement, la phase de prรฉsentation a pour objectif de permettre une exploitation facile des informations collectรฉes. Gรฉnรฉralement, les reprรฉsentations graphiques sont les mieux adaptรฉes pour avoir une vue de lโensemble des rรฉsultats et faciliter la tรขche de corrรฉlation et de diagnostic.
Le module de prรฉsentation prend en entrรฉe des fichiers homogรจnes quโil analyse pour extraire les valeurs des mรฉtriques ร reprรฉsenter. Le format adoptรฉ pour les fichiers en sortie est le CSV (Comma-separated values) dans lequel les valeurs sont sรฉparรฉes par des virgules.
|
Table des matiรจres
PARTIE 1 INTRODUCTION
A. Introduction
1. La performance des applications : un enjeu de taille
2. Les outils dโรฉvaluation des performances
3. Plan du document
PARTIE 2 ETAT DE LโART
B. Concepts de base de la qualitรฉ de service et de lโรฉvaluation des performances
1. Qualitรฉ de service
1.1. Dรฉfinitions
1.2. Gestion de la QoS
1.2.1. Composantes de la gestion de QoS
1.2.2. Niveaux dโintervention pour la gestion la QoS
1.2.3. Niveau rรฉseau
1.2.4. Niveau systรจme
1.2.5. Niveau intergiciel ยซ middleware ยป
1.2.6. Niveau applicatif
1.3. Synthรจse
2. Concepts de lโรฉvaluation des performances systรจmes
2.1. Dรฉfinitions
2.2. Intรฉrรชts de lโรฉvaluation des performances systรจme
2.3. Les techniques dโรฉvaluation des performances
3. Besoins de lโindustrie
3.1. Performance de la plate-forme de supervision
3.1.1. Intrusivitรฉ des sondes
3.1.2. Masse dโinformation
3.1.3. Synthรจse
3.2. Lโintรฉgration des sondes hรฉtรฉrogรจnes
3.2.1. Introduction
3.2.2. Contrainte dโhรฉtรฉrogรฉnรฉitรฉ
3.2.3. Synthรจse
3.3. Dรฉcouplage entre la collecte et la prรฉsentation
3.3.1. Introduction
3.3.2. Intรฉrรชt du dรฉcouplage
4. Conclusion
C. Outils et techniques de mesure des performances systรจmes
1. Standard SNMP
1.1. Principe
1.2. MIB
1.3. Atouts et faiblesses du standard SNMP
1.4. Discussion
2. Eclipse TPTP
2.1. Introduction
2.2. Architecture de TPTP
2.3. Atouts et faiblesses de la plate-forme TPTP
2.4. Discussion
3. NAGIOS
3.1. Prรฉsentation
3.2. Architecture
3.3. Atouts et faiblesses de la plate-formeNAGIOS
3.4. Discussion
4. LeWYS (Lewys is Watching Your System)
4.1. Prรฉsentation
4.2. Architecture
4.3. Atouts et faiblesses de la bibliothรจque LeWYS
4.4. Discussion
5. Synthรจse
PARTIE 3 CONCEPTION & MISE EN OEUVRE
D. Conception.
1. Rappel de la problรฉmatique
2. Description du framework de supervision
2.1. Introduction
2.2. Architecture physique
2.3. Dรฉroulement dโune supervision
2.4. Architecture logicielle de la plate-forme
2.5. Description des composants de la plate-forme
2.5.1. Les sondes
2.5.2. Moteur de traitement
3. Conclusion
E. Mise en oeuvre
1. Introduction
2. Implรฉmentation dโune sonde
2.1. Sonde Vmstat
2.1.1. Description de la sonde
2.1.2. Implรฉmentation
2.2. Autres exemples de sondes
3. Implรฉmentation du moteur de traitement
3.1. Lโanalyseur ยซ parseur ยป
3.2. Structuration des informations
3.3. Le module dโexport ยซ outputter ยป
3.4. Crรฉation de lโadaptateur
4. Fonctionnement de la plate-forme
4.1. Tรขche de transfert des fichiers
4.2. Tรขche de pilotage des sondes
4.3. Tรขche de traitement des fichiers de rรฉsultat
4.4. Tรขche de reporting
5. Conclusion
PARTIE 4 EXPERIMENTATIONS
F. Validation expรฉrimentale
1. Description du contexte de lโexpรฉrimentation
1.1. Plate-forme expรฉrimentale
1.2. Dรฉmarche expรฉrimentale
2. Bilan de lโexpรฉrimentation
2.1. Intrusivitรฉ au niveau des ressources systรจmes
2.1.1. Rรฉsultats
2.1.2. Analyses
2.2. Passage ร lโรฉchelle ยซ scalability ยป
2.2.1. Conclusions
2.3. Intrusivitรฉ au niveau des ressources rรฉseaux
2.3.1. Cas TPTP
2.3.2. Cas SNMP
2.3.3. Conclusion
2.3.4. Effet de lโintrusivitรฉ sur la bande passante
3. Conclusion gรฉnรฉrale
G. Cas dโutilisation de la plate-forme de supervision
1. Premier exemple : Test de montรฉe en charge
1.1. Description de la plate-forme de test
1.2. Dรฉroulement du test
1.3. Rรฉsultats et analyses
2. Deuxiรจme exemple : plate-forme dโobservation rรฉactive
2.1. Description
2.2. Mise en ลuvre
PARTIE 5 CONCLUSIONS & PERSPECTIVES
H. Conclusion et perspectives
1. Conclusion
2. Perspectives
PARTIE 6 ANNEXE
ANNEXE A. Network Time Protocol
ANNEXE B. Oids des ressources systรจmes
ANNEXE C. TPTP (Test & Performance Tools Platform)
ANNEXE D. NAGIOS
ANNEXE E. FRACTAL & DREAM
ANNEXE F. Format CBE (Common Based Event)
ANNEXE G. Les mรฉtriques collectรฉes par Vmstat
ANNEXE H. Performance dโune analyse statique Vs une analyse basรฉe sur des rรจgles
ANNEXE I. Simple Event Correlator
PARTIE 7 BIBLIOGRAPHIE