Le portail des opérations: retour d'expérience 30/03/10 30/03/10 mardi 18 mai 2010 Le portail des opérations: retour d'expérience Cyril L’Orphelin , Olivier Lequeux , Pierre Veyre IN2P3/CNRS Centre de Calcul , Lyon, France 1
Plan Contexte EGEE Architecture de l'application Lavoisier Symfony 30/03/10 Plan Contexte EGEE Architecture de l'application Lavoisier Symfony Un exemple concret avec le Dashboard des Opérations Plans futurs Journées Informatiques - 18 Mai 2010
30/03/10 Le contexte EGEE Ce projet est né au sein de l'activité Opération du projet EGEE. Afin de proposer une application web développé au CCIN2P3 proposant : Des outils pour les opérations Des outils de communication Des outils de management d'information Portail historique: http://cic.gridops.org Nouveau Portail : https://operations-portal.in2p3.fr SITE USER VO info Site info Operations Portal User Support Monitoring tools Communication tools OPERATOR REGIONAL CENTER Journées Informatiques - 18 Mai 2010
Contexte EGEE / LCG : les sources d'informations 30/03/10 Contexte EGEE / LCG : les sources d'informations CIC-DB - VO Information VO Contacts User Contacts SQL VO repository (static) SQL HTTP - Site Information - Site Contacts - Downtimes Site repository (static) GOC-DB Ticketing System GGUS - Create ticket - Update ticket - View ticket SOAP Monitoring Framework Nagios Notifications about problem on services AMQ SAM - Test results - Status per nodes X-SQL Job Submission Framework HTTP - GIIS status per site - Storage Information - Jobs Information GSTAT GIIS browser BDII LDAP Dynamic information per nodes , per sites LDAP Database for sites VOMS VO User repository (dynamic) - VOMS certificates. - VOMS users HTTP + Script Journées Informatiques - 18 Mai 2010 30/03/10 4
30/03/10 Contexte - Résumé En résumé , on fait face à de multiples technologies: Sans language commun Sans possibilité de faire des requêtes croisées directes . En plus, les sources d'informations peuvent être : Indisponibles momentanément Trop longues à interroger Inexploitables Pour une application web cela signifie beaucoup de traitements spécifiques, une efficacité réduite et une maintenance cauchemardesque. Journées Informatiques - 18 Mai 2010
Architecture de l'application 30/03/10 Architecture de l'application L'application est composée de 3 parties distinctes Un service d'accès uniforme à des sources de données hétérogènes : Lavoisier Le module Web ( fichiers css , php , html ) basé sur Symfony La base de données Journées Informatiques - 18 Mai 2010
http://grid.in2p3.fr/lavoisier Lavoisier 30/03/10 30/03/10 Lavoisier La solution développée par Sylvain Reynaud : Lavoisier Un mécanisme pour construire des vues unifiées et homogènes. http://grid.in2p3.fr/lavoisier "Nothing is lost, nothing is created, all is transformed" Antoine Laurent Lavoisier (1743 - 1794) Journées Informatiques - 18 Mai 2010 30/03/10 7 7
30/03/10 L'accès aux données Journées Informatiques - 18 Mai 2010
La séparation des rôles 30/03/10 La séparation des rôles Journées Informatiques - 18 Mai 2010
Les fonctionnalités de Lavoisier 30/03/10 Les fonctionnalités de Lavoisier Journées Informatiques - 18 Mai 2010
30/03/10 Console Web Journées Informatiques - 18 Mai 2010
30/03/10 Journées Informatiques - 18 Mai 2010
30/03/10 Journées Informatiques - 18 Mai 2010
lavoisierViewHandler class 30/03/10 Du Xml à l'objet <Alarms> <Assigned> <Alarm> <Id>1</Id> <CreationTime>10122321</CreationTime> <Status>2</Status> </Alarm> <Id>2</Id> [..] </Alarms/ [Alarms] [Assigned] [1] [CreationTime] = 10122321 [Status] = 2 [Id] = 1 [2] [...] XML - Lavoisier PHP – Application Web magicArray class Implémente des accesseurs par le biais de fonctions magiques PHP XMLHandler class Transforme une chaine XML en tableau multidimensionnel. lavoisierViewHandler class Se connecte au web service Lavoisier et récupère la vue XML demandée. <?php Obj = new lavoisierViewHandler(‘alarms’); $assigned = Obj->getAlarms->getAssigned( ); $status= $assigned ->find(‘1’)->getStatus( ); ?> Journées Informatiques - 18 Mai 2010
Le dashboard pour les Opérations 30/03/10 Le dashboard pour les Opérations Le dashboard des Opérations est un tableau de bord utilisé pour la détection et le suivi de problèmes sur les sites de la grille . Journées Informatiques - 18 Mai 2010
La vue synoptique – 1er niveau 30/03/10 La vue synoptique – 1er niveau https://operations- portal.in2p3.fr/ Journées Informatiques - 18 Mai 2010
Les vues détaillées – 2ème niveau 30/03/10 Les vues détaillées – 2ème niveau Journées Informatiques - 18 Mai 2010
Futurs développements : migration sous symfony 30/03/10 Futurs développements : migration sous symfony Le reste des fonctionnalités du portail historique est en cours de migration : Vo ID Card , consultation , gestion et update des informations statiques des Vo Broadcast tool : outil d'envoi de mails aux différents acteurs de la communauté Interfaces de visualisation des ressources Journées Informatiques - 18 Mai 2010
Futurs développements : Lavoisier 1.* 30/03/10 Futurs développements : Lavoisier 1.* RDBMS plug-in (développement en cours) L'utilisateur voit la DB comme un document XML unique sans que ce document ne soit physiquement construit : Avec une structure décrite par les fichiers de mapping Hibernate ou Doctrine Avec des Requêtes SQL traduites en Xpath XQuery et XPath en plus de XSLT À travers des opérations SOAP et REST A travers l'usage de plug-ins Journées Informatiques - 18 Mai 2010
Futurs développements : Lavoisier 2.0 30/03/10 Futurs développements : Lavoisier 2.0 Refactoring du coeur de Lavoisier : Se baser sur JMS pour augmenter la flexibilité Communication inter et intra Lavoisier Améliorer l'extensibilité avec 4 types de plug-in au lieu d'un à l'heure actuelle Protocole (JMS, http , https ...) Format ( xml , yml , txt , ...) Type de cache ( nouvelles implémentations possibles ) Règles de refresh ( nouvelles implémentations possibles ) Ajout d'un scheduler pour ordonner les refresh de cache Journées Informatiques - 18 Mai 2010
Liens Lavoisier : Homepage : http://grid.in2p3.fr/lavoisier/ Symfony 30/03/10 Liens Lavoisier : Homepage : http://grid.in2p3.fr/lavoisier/ Symfony Homepage : http://www.symfony-project.org/ Documentation: http://www.symfony-project.org/doc/1_4/ Tutorial en 24 h : http://www.symfony-project.org/jobeet/1_4/Doctrine/fr/ Dashboard : Homepage : https://operations-portal.in2p3.fr (enregistrement préalable dans la GOC DB nécessaire) Proceedings of EELA-2 Conference - A standalone regional dashboard implementation : http://www.ciemat.es/portal.do?TR=A&IDR=1&identificador=3985 Journées Informatiques - 18 Mai 2010