L E WYS : un Canevas Logiciel à Composants pour Construire des Applications de Supervision Emmanuel...
34
LEWYS : un Canevas Logiciel à Composants pour Construire des Applications de Supervision Emmanuel Cecchet*, Oussama Layaïda et Vivien Quéma INRIA Rhône-Alpes, projet SARDES *Emic Networks
L E WYS : un Canevas Logiciel à Composants pour Construire des Applications de Supervision Emmanuel Cecchet*, Oussama Layaïda et Vivien Quéma INRIA Rhône-Alpes,
L E WYS : un Canevas Logiciel Composants pour Construire des
Applications de Supervision Emmanuel Cecchet*, Oussama Layada et
Vivien Quma INRIA Rhne-Alpes, projet SARDES *Emic Networks
Page 2
www.objectweb.org Journes Composants 2005 - 2 - 06/04/2005 Plan
Contexte et motivations LeWYS Architecture Mise en uvre
Conclusion
Page 3
www.objectweb.org Journes Composants 2005 - 3 - 06/04/2005
Contexte Applications J2EE sur grappe But : construire des systmes
autonomes Ajout/suppression dynamique de noeuds Equilibrage de
charge Contrle dadmission, etc. Besoin : outils de supervision
Internet
Page 4
www.objectweb.org Journes Composants 2005 - 4 - 06/04/2005
Motivations Systmes dobservation existants Ad-hoc : RUBiS
Spcifiques une plateforme ou un domaine prcis Pas rutilisables dans
de nouveaux contextes Gnriques : Supervision de ressources dans les
grappes et grilles : Ganglia, NWS, JAMM, etc. Peu flexibles Nature
des donnes collectes Propagation des donnes Traitement des donnes
Pas utilisables dans notre contexte
Page 5
www.objectweb.org Journes Composants 2005 - 5 - 06/04/2005
Objectifs Outils de supervision multi-plateformes Flexible
Dploiement dynamique des entits dobservation Construction des
canaux de traitement et de propagation Mode danalyse des donnes En
ligne (console) Hors ligne (stockage) Intrusivit limite Conception
base de composants: (re)configurabilit
Page 6
www.objectweb.org Journes Composants 2005 - 6 - 06/04/2005 Plan
Contexte et motivations LeWYS Architecture Mise en uvre
Conclusion
Page 7
www.objectweb.org Journes Composants 2005 - 7 - 06/04/2005
Proposition : LeWYS Canevas logiciel composant pour la construction
de systmes dobservation Bibliothque de composants Sondes Canaux
vnements Observateurs (consommateurs dvnements) Implantation en
Fractal Modle de composants hirarchiques et rflexifs Outils de
dploiement : ADL Outils de contrle : fractalexplorer
Page 8
www.objectweb.org Journes Composants 2005 - 8 - 06/04/2005
Observation Kernel Probe Net probe CPU probe Disk probe JMX Probe
Disk probe Sondes (probes) permettant lobservation Des ressources
matrielles (CPU, mmoire, rseau, disque, etc.) Du systme
(interruption, processus, etc.) Des applications: JMX, JVMPI, SNMP,
etc. Etc. Serveur MBean Nuds 1 Nuds 2 Nuds 3
Page 9
www.objectweb.org Journes Composants 2005 - 9 - 06/04/2005
Dploiement Monitoring Pump Kernel probe Net probe pump thread
Monitoring Pump CPU probe Disk probe pump thread Monitoring Pump
JMX Probe Disk probe pump thread Monitoring Pump sur chaque nud
Dploiement dynamique des sondes ncessaires Gestion des abonnements
aux probes Collecte et estampillage des observations MBean Server
Nuds 1 Nuds 2 Nuds 3
Page 10
www.objectweb.org Journes Composants 2005 - 10 - 06/04/2005
Monitoring Pump pump thread Communications Monitoring Pump pump
thread Monitoring Pump JMX Probe Disk probe Construction via des
canaux Dream Composants de communication: marshallers, TCP Socket,
etc. Composants de traitements: filtres, agrgateurs, etc.
Composition dynamique selon les besoins MBean server DREAM pump
thread DREAM Agrgation Filtrage Prtraitement Kernel probe Net probe
CPU probe Disk probe
Page 11
www.objectweb.org Journes Composants 2005 - 11 - 06/04/2005
Monitoring Pump CPU probe Disk probe pump thread Observateurs (1)
Monitoring Pump CPU probe Net probe pump thread Observer Boucle de
contrle Monitoring Pump JMX Probe Disk probe MBean server DREAM
pump thread DREAM Stockage Equilibrage de charge Observer
Page 12
www.objectweb.org Journes Composants 2005 - 12 - 06/04/2005
Monitoring Repository Query threads Monitoring Pump CPU probe Disk
probe pump thread Observateurs (2) Cas particulier : Entrept
(Monitoring Repository) Stockage des donnes pour analyse
post-mortem Parcours de lhistorique Corrlation entre vnements
Monitoring Pump CPU probe Net probe pump thread DREAM Observer
Storage thread Monitoring DB Event subscribe service
Page 13
www.objectweb.org Journes Composants 2005 - 13 - 06/04/2005
Plan Contexte et motivations LeWYS Architecture Mise en uvre
Conclusion
Page 14
www.objectweb.org Journes Composants 2005 - 14 - 06/04/2005
Implmentation : sondes Sondes matrielles: Windows, Linux, et
Solaris Sondes logicielles: JMX, (JVMPI, SNMP, etc.) Chaque sonde
rifie diffrentes ressources CPU : nice, idle, user, kernel
LinuxSolaris /proc Hardware resources Windows.DLLCC Linux C JNI
cpu, mem, disk, net, kernel, probes cpu, probes LinuxSolaris JVM
Hardware resources WindowsLinux JMXJVMPI SNMP, ad-hoc, probes JVM
probes JMX based probes
Page 15
www.objectweb.org Journes Composants 2005 - 15 - 06/04/2005
Performances Sondes Linux Pentium IV 1.8GHz, 512 MB RAM, 40 GB IDE
disk (6 partitions), Linux 2.4.20 150s pour collecter toutes les
ressources SondeNombre de ressources Temps moyen pour collecter une
ressource Temps moyen pour collecter toutes les ressources
CPU822.9s23.4s Memory1340.3s40.7s Disk6630.4s31.5s
Network4825.3s27.8s Kernel323.0s
Page 16
www.objectweb.org Journes Composants 2005 - 16 - 06/04/2005
Performances Sondes Windows Pentium IV 2GHz, 512 MB RAM, 40 GB IDE
disk (2 partitions), Windows 2000 16,57ms pour collecter toutes les
ressources SondeNombre de ressources Temps moyen pour collecter une
ressource Temps moyen pour collecter toutes les ressources
CPU100,66ms0,72ms Memory90,33ms0,35ms Disk421,94ms1,95ms
Network3212ms12,3ms Kernel91,19ms1,25ms
www.objectweb.org Journes Composants 2005 - 18 - 06/04/2005
Implmentation : Canaux vnements Utilisation de Dream Dveloppement
de filtres Approximation sous forme de fonction linaire par
morceaux dune squence discrte de points (ti,xi) Rduction des donnes
transmises : Uniquement les segments successifs et non les points
individuels > 90% de donnes filtres pour une prcision de 10%
Overhead CPU quasi ngligeable < 0,01%
Page 19
www.objectweb.org Journes Composants 2005 - 19 - 06/04/2005
Conclusion LeWYS Canevas logiciel composants pour construire des
systmes de supervision Sondes efficaces implantes en Java Canaux de
communication arbitraires construits avec Dream Projet ObjectWeb
(http://lewys.objectweb.org)http://lewys.objectweb.org Travaux
futurs Dveloppement de sondes (JVMPI, SNMP) Intgration avec CLIF
Utilisation pour la construction de boucles de contrle pour
serveurs J2EE en grappe Dveloppement dalgorithmes publish/subscribe
adapts aux hypothses des clusters
Page 20
Questions ?
Page 21
Bonus slides
Page 22
www.objectweb.org Journes Composants 2005 - 22 - 06/04/2005
LeWYS design choices Component-based framework probes, monitoring
pump, event channels provides (re)configurability capabilities
Minimize intrusiveness on monitored nodes No global clock timestamp
generated locally by pump Information processing in DREAM
channels
Page 23
www.objectweb.org Journes Composants 2005 - 23 - 06/04/2005
Centralized monitoring using a monitoring repository (2) Monitoring
repository stores monitoring information service to retrieve
monitoring information Pros DB allows for storing large amount of
data powerful queries correlate data from various probes at
different locations resynchronize clocks browsing history to
diagnose failures use history for system provisioning Cons requires
a DB (heavy weight solution)
Page 24
www.objectweb.org Journes Composants 2005 - 24 - 06/04/2005
Disk Registry Interface PDH Perfmon Custom App 1 LeWYS
RegQueryValueEx HKEY_PERFORMANCE_DATA PerfLib Network Custom App 2
Performance monitoring applications Performance monitoring
interfaces Performance monitoring components Enum, select, query,
etc. Network Memory Processor System Performance Components Service
1 Service 2 Service 3 Performance Extension Components Windows
hardware probes
Page 25
www.objectweb.org Journes Composants 2005 - 25 - 06/04/2005 JMX
probes collect monitoring information about software applications
running in J2EE environments client-server architecture
instrumented applications (MBeans) JMX client generic JMX probe JMX
client that accesses all MBeans standard RMI connector specific
probes subset of relevant MBeans
Page 26
www.objectweb.org Journes Composants 2005 - 26 - 06/04/2005
Cartography probe Reify resources available in a Linux node
hardware: cpu, mem, disk, net, pci, software: rpm, kernels network
connections Reify network topology matches switch/router
information (SNMP) with node information
Page 27
www.objectweb.org Journes Composants 2005 - 27 - 06/04/2005
Linux vs Windows Windows probes are less efficient that Linux ones
JNI calls registry access some Windows performance components
requires a lot of processing and memory whole data requires 95kB of
memory
Page 28
www.objectweb.org Journes Composants 2005 - 28 - 06/04/2005
Related work WatchTower Windows using PDH less efficient JMX
monitoring service Less general (string, counter, gauge monitors)
Ganglia No J2EE probes available Less flexible communication
channels (centralized) Not online-oriented Xampler
Complementary
Page 29
www.objectweb.org Journes Composants 2005 - 29 - 06/04/2005
Cache filter if value is the same as the previous one, it is
filtered precision width is tunable probe and observer must be
aware of sampling interval
Page 30
www.objectweb.org Journes Composants 2005 - 30 - 06/04/2005
Linear filter data points around a line segment
Page 31
www.objectweb.org Journes Composants 2005 - 31 - 06/04/2005
Swing filter dont use just the first 2 points to define the
approximating line dynamically compute optimal orientation
Page 32
www.objectweb.org Journes Composants 2005 - 32 - 06/04/2005
Slide filter allow disconnected line segments chooses optimal start
point and line orientation
Page 33
www.objectweb.org Journes Composants 2005 - 33 - 06/04/2005
Filters overhead processing overhead between 0.001% and 0.007% of
cpu time slide filter is O(n) because it needs to keep data points
CacheLinearSwingSlide s/data point1.492.203.367.21 State
complexityO(1) O(n)
Page 34
www.objectweb.org Journes Composants 2005 - 34 - 06/04/2005
Online filters performance Preliminary results Up to 99.75% of data
points filtered 10% precision 20% precision Cache 4.25% 3.44%
Linear 5.72% 5.31% Non-optimized Swing 1.00% 0.40% Optimized Swing
0.88% 0.39% Non-optimized Slide 0.68% 0.29% Optimized Slide 0.55%
0.24%