Surveillance contextuelle des ressources distribuées S. Ravelomanana, M. Sibilla Université P. Sabatier, Laboratoire IRIT Toulouse, France [email protected], [email protected] 1 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla La gestion des grilles Performances, disponibilité, Répartition de charge, tolérance aux pannes Surveillance Consistante, distribuée, en temps réel 2 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Constats Approches et outils: Grid Monitoring Architecture/GGF Monitoring and Discovery System/Globus toolkit Ganglia Observation: l’état d’un système est traité indépendamment de l’état des autres les influences des événements qui surviennent ne sont pas traitées automatiquement 3 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla La surveillance contextuelle DEFINITION Surveiller une entité en tenant compte de son environnement d’exécution BESOINS Un Modèle Informationnel, qui représente l’entité gérée, son environnement d’exécution et les relations entre eux. Un Modèle d’événement pour modéliser, lever et s’abonner à un événement Un Modèle de Comportement pour lier les deux modèles afin d’automatiser les aspects dynamiques de la surveillance ... Approche conduite par les modèles 4 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Modélisation Extract from CIM Meta-Model NamedElement Class Modèle Informationnel Indication Association Modèle d’événement CIM_Component CIM_Dependency CIM/DMTF Common Information Model CIM_Component CIM_ManagedElemen t ElementName CIM_Dependency Antecedent : REF Dependent : REF Antecedent : REF CIM_Indication Dependent : REF CIM_ManagedSystemElement Service Systèmes&Réseaux Éléments TMN OperationalStatus Status Application Network CORE COMMON System Extract from CIM Core schema 5 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Modélisation CIM CORE Model CIM_Component CIM_Dependency anElement state diagram Ready CIM_ManagedElemen t ElementName Modèle de Comportement Busy Diagramme Etat Transition [IRIT/SIERA] Down CIM_ManagedSystemElement OperationalStatus Status class Sercive {{ class class Sercive Sercive { actions ("start", ”stop"); actions actions ("start", ("start", ”stop"); ”stop"); state Ready {{ state state Ready Ready { on enter {{ on on enter enter { BEGIN_JAVA BEGIN_JAVA BEGIN_JAVA // your specific behavior // // your your specific specific behavior behavior //END_JAVA //END_JAVA //END_JAVA }} } }} // end of state Ready } // // end end of of state state Ready Ready state Down { state state Down Down {{ on enter {{ on on enter enter { BEGIN_JAVA BEGIN_JAVA BEGIN_JAVA // your specific behavior // // your your specific specific behavior behavior //END_JAVA //END_JAVA //END_JAVA }} } }} // end of state Down } // // end end of of state state Down Down }} // end of >Provider state description // end of >Provider state description } // end of >Provider state description 6 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla MODELISATION INFORMATIONNELLE DES GRILLES La vue « nœud » 7 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla MODELISATION INFORMATIONNELLE DES GRILLES La vue “Grille” 8 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla MODELISATION INFORMATIONNELLE DES GRILLES La vue « Réseau » 9 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla MODELISATION INFORMATIONNELLE DES GRILLES La modélisation du comportement Identification des règles de comportement 1. Si la charge moyenne des processeurs d’un nœud atteint les 80% les processeurs et le nœud passent à l’état « dégradé » 2. Si k% des grilles locales sont « dégradées » la grille nationale passe à l’état « dégradé » 3. Si le service d’accès (le service d’authentification par exemple) de la grille locale est tombé elle sera inaccessible pour ses utilisateurs … 4. 11 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Modélisation de la règle 1 1. Si la charge moyenne des processeurs d’un nœud atteint les 80% le processeur et le nœud passent à l’état « dégradé » ProcessorChangeProcessor.loadPercentage>80 ComputerSystem.Status=Normal 12 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Description textuelle de la règle 1 class CIM_Processor { set ( {"LoadPercentage", "LoadPercentage"} ); state Degraded{ transition ( "Normal" ) { on change_event ( BEGIN_JAVA (Integer.parseInt(LoadPercentage)<80) //END_JAVA ), {BEGIN_JAVA System.out.println(« OK »); //END_JAVA }; } } // end of state Degraded Événement state Normal{ transition ("Degraded"){ on change_event ( BEGIN_JAVA (Integer.parseInt(LoadPercentage)>80) //END_JAVA ), {BEGIN_JAVA //chercher le CS associé au Processor CIMInstanceObservable [] associationsCSP =_omf.getAssociationOfClass(_context,"CIM_ComputerSystemProcessor"); String objectPathCS=""; if(associationsCSP.length==1){ objectPathCS =associationsCSP[0].getCIMInstance().getProperty("GroupComponent").getValue().getValue().toString(); _omf.setProperty(objectPathCS ,"Status",new CIMValue( "Degraded" ,new CIMDataType( CIMDataType.STRING) )); javax.swing.JOptionPane.showMessageDialog(null,"Le CS associé passe à Dégradé"); }else{ javax.swing.JOptionPane.showMessageDialog(null,"la charge moyenne est "+moyenneDesCharges); //END_JAVA }; } } // end of state Degrade } // end of class CIM_Processor definition Condition Action 13 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Observation Le modèle obtenu est applicable pour l’ensemble des grilles Une indépendance du modèle par rapport aux plates-formes de développement 14 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Intégration et Implémentation Plate-forme CAMELEON utilisation de Parser/Scaner MofJAVA/CORBA Ready Down State.jar OM Chaque « Object Manager » possède les fonctions de gestion des états, gestion des Diagrammes états transitions et des événements automatisation du traitement Composants d’intégration (Object Provider) 15 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Architecture Interface JAVA/CORBA Ready −Get −Set −Invoke … MgtFct° ססס ססס Config État Relations Événement Down State.jar OM 16 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Architecture OBJECT MANAGER UML Editor Classes & Instances Textual notation (MOF/DMTF) Ready Down State.jar Fichiers mof OM Cameleon MOF Parser objectX state diagram Ready Down Busy Fichiers STATE (grammaire CNES) Cameleon UML State code generator Java classes 17 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Object Provider Ready DownReady Down State.jar Ready State.jar Down State.jar Instrumentation Intégration Existant OPCorba OPUNIX OM OM OM Développé OPSNMP OPNode À Développer OPNWS CORBA Réseau 18 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Démonstration Résultat: Une vue des informations de la grille 19 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Démonstration Résultat: Dégradation de l’état d’un nœud 20 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Démonstration Résultat: Dégradation de l’état de la grille locale 21 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Bilan des expérimentations et résultats MONITORING Création automatique des vues « Nœud » et « Grille » par découverte Contrôle automatique des influences : Nœud Composants (Charge,Mémoire,espace disque,…) Nœuds Grille Locale (Disponibilité, accessibilité) Grille Réseau (Perte de lien, défaillance de composant réseau) Délégation de la surveillance réseau à une plate-forme de gestion telle que OpenView et intégration des alarmes réseaux (trap SNMP, événements propriétaires) auprès des OMs de la grille MODELISATION DE LA DYNAMIQUE Prise en compte d’événements hétérogènes dans les diagrammes État/Transition Le résultat d’interprétation des diagrammes E/T est liée au contexte découvert Gestion d’états composite: Test validé à moyenne échelle (DMTF draft) Limite de la généricité des diagrammes État/Transition Spécialisation/Personnalisation des diagrammes E/T Intégration dans le processus de développement 22 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla PUBLICATIONS A Contextual GRID Monitoring by a Model Driven Approach. S. Ravelomanana, S. C. S. Bianchi, C. Joumaa, M. Sibilla. AICT2006, SAPIR 2: Monitoring Interactions. 19-22 Febuary, 2006. Gestion des grilles : Surveillance Contextuelle de la QoS par une approche conduite par des modèles. M. Ravelomanana. GDR ASR. 2ième journée de l'action ADAPT« Adaptation dynamique aux environnements d’exécution ». 6 avril 2006. ENST, Paris. DMTF Behavior and State Specification (GRID statechart diagram examples). Draft document. en cours de rédaction. Unified model based three dimensional tool for managing computer networks. M. Dodo, P. Torguet, M. Sibilla, J.-P. Jessel. WEBIST 2006 – 2nd International Conference on Web Information Systems and Technologies, Setúbal, Portugal, 11 avril 13 avril 2006. 23 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Perspectives Prise en compte des dégradations de la qualité de service. Déploiement au niveau national (sujet Master) Représentation 3D avec animation de la dynamique (sujet de Doctorat). Intégration dans des middlewares de placement Surveillance du middleware lui-même. 25 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Merci 26 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Les Composants de l’Architecture OM DEPENDENCY CAMELEON CORBA CORBA Object Provider NNM OM OPENVIEW CORBA OM SERVICES Evènement Serveur NNM Domain e Service Evènement NNM OpenView Domain e Réseau 27 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla 27 Présentation de la Démo • À chaque nœud on associe un Agent en JAVA/CORBA • Enregistrement de chaque Agent NamingService • Découverte des nœuds et leurs caractéristiques A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A 28 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla Requête Ready Down State.jar Réponse A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A OMGrid 29 ECOLE GRID’5000 Surveillance de grille :Surveillance contextuelle des ressources distribuées . M. Ravelomana, M. Sibilla