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,

Embed Size (px)

Citation preview

  • Page 1
  • 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
  • Page 17
  • www.objectweb.org Journes Composants 2005 - 17 - 06/04/2005 Implmentation : Pompe Component ProbeFactory Monitoring Pump Thread Probe MonitoringPump Manager ChannelOut ProbeManager Binding Controller Probe Repository ProbeManager OutputManager Component PullPush Multiplexer MonitoringMumpManager OutputManager TimeStamp Probe Cache CachedProbe RMI
  • Page 18
  • 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%