JASMINe
Outils de gestion et supervision d'infrastructure intergicielle
Agenda
Introduction à JASMINe
Outil d'aide à la configuration
Outil d'aide à la maintenance
Outil d'aide à la supervision
Références et conclusion
Besoins
- Administration d'infrastructure intergicielle distribuée et d'applications distribuées
- Suivre l'activité au fil de l'eau
- Cible typique : infrastructure SOA
- Première application : JOnAS
- Haute réactivité
- Minimiser l'interruption de service
- Fiabilité
- Minimiser l'intervention humaine (limiter les erreurs)
- Automatiser les tâches courantes
Projet opensource OW2 JASMINe
- Développé en open source au sein du consortium OW2
- Licence LGPL
- Contributeurs principaux : Bull, FranceTelecom, Serli, INRIA
- Suite d'outils d'administration pour plates-formes SOA
- Solution agnostique et évolutive
http://jasmine.ow2.org
JASMINe
- JASMINe Design
- Outil graphique de contruction d’une configuration Middleware SOA
- JASMINe Deploy
- Environnement pour le
déploiement d’une configuration Middleware SOA
- Migration d’applications (JaDOrT)
- JASMINe Monitoring
- Outils pour le suivi de
performances et la détection d’erreurs
- JASMINe Self-management
- Boucle de contrôle pour l’auto- optimisation et le Self-healing
Agenda
Introduction à JASMINe
Outil d'aide à la configuration
Outil d'aide à la maintenance
Outil d'aide à la supervision
Références et conclusion
Besoin
- La création d'une infrastructure middleware distribuée est une tâche
- Critique
- Fastidieuse
- Complexe, “Obscure”
- Exemple du serveur d'application JOnAS 5
- 21 services configurables
- 48 fichiers de configuration, plusieurs centaines de propriétés
- Format de fichiers hétérogènes
- première application de JASMINE Design/Deploy au
Vue d'ensemble
1. Conception 2. Configuration
3. Validation (plugin Eclipse)
4. Déploiement de la configuration (commande
java)
Conception
- Environnement graphique Eclipse
Barre outils
Vue globale
Explorateur Zone
d'édition
Propriétés
Caractéristiques
- Wizards pour
- Création de ferme/cluster
- Gestion de profiles de services
• Ensemble de services pré-configurés
• Personnalisable
- Accès aux paramètres des instances et services
- Auto-génération de la configuration
- Politique d'allocation des numéros de port TCP
- Nommage des instances JOnAS
- Des règles de validation
- Génériques : Contraintes sur le modèle (Typage des liens, présence de propriétés requises)
- Personnalisables : Conflit de ports, noms, ...
Déploiement
- Commande Java “deployme”
- Basé sur le fichier topology.xml (exporté depuis JASMINe Design)
Agenda
Introduction à JASMINe
Outil d'aide à la configuration
Outil d'aide à la maintenance
Outil d'aide à la supervision
Références et conclusion
- Centralise la migration d'application et la gestion de l'infrastructure
- Vue globale des serveurs et des applications
- Assistance pour le choix des serveurs à maintenir (vérification de la capacité)
- Parallélisation des opérations sur l'infrastructure
- Gestion des sessions utilisateurs
- Assiste l'exploitant dans ses tâches répétitives
- Possibilité de retour arrière à chaque étape
- Gestion des erreurs (logs,retry/ignore)
- Traçabilité
- Suspend/Resume (par exemple pour attendre l'expiration des sessions)
JaDOrT (Jasmine Deployment Orchestration Tool)
JaDOrT : 2 modes d'utilisation
- Migration
- Montée en version transparente d'application déployée sur JOnAS 5
- Repose sur le service versioning de JOnAS
- Support des modules Java EE (OSGi en prévision)
- Maintenance
- Gestion de l'infrastructure sans interruption de service
- Pilotage du frontal Apache/jk & mod_proxy-balancer
- Support de plusieurs serveurs d'application
• JOnAS, JBoss, Glassfish, Weblogic, Websphere
- Support des VM
• Via une API d'abstraction du système de virtualisation sous-jacent
• Qualifié par FT avec Vmware
Vue globale
Servers workers associés
Liste des applications déployées sur ce groupe de
serveurs
Sélection des serveurs à maintenir
Capacité et nombre de sessions actives
Etat de la maintenance
pour chaque serveur
Sélection automatique des serveurs à maintenir Sélection
manuelle des serveurs
Contrôle des opérations
Taches et progression
globale
Etat et progression
Nombre de sessions actives par
utilisateur
Actions pour chaque serveur
L'administrateur a toujours le contrôle
Gestion des erreurs
Task that failed
Le serveur est en échec
Action : retry/ignore
Log
Agenda
Introduction à JASMINe
Outil d'aide à la configuration
Outil d'aide à la maintenance
Outil d'aide à la supervision
Références et conclusion
Supervision d'un système distribué
- Tâche complexe
- Très grand nombre d'indicateurs à observer
• Sur différents noeuds
• Sur différentes couches
System JVM JOnAS
Appli.
events
!!! Limite du gérable
par l'humain !!!
Activités de suivi
- Suivi en ligne
- Maintien en conditions opérationnelles (détection des erreurs, suivi des performances, contrôle de l'état du système)
- Réaction rapide : qq minutes pour un homme, qq secondes si automatique
- Suivi tactique
- Prévention des dérives (mémoire, threads, ...) et des saturations (pools de connexions, ...)
- Analyse de tendance et réorganisation des ressources
- Réaction de qq jours à qq semaines
- Suivi stratégique
- Capacity planning
- Acquisition de matériel / logiciel
Indicateurs clés
- Performances
- Composant et objet métier (Servlet/EJB/POJO)
• Débit
• Temps de réponse
- Organes internes
• Etat des pools (connexions, objets, threads, ...)
- Erreurs
- Logs
- Compteurs
- Ressources physiques
- File system
- Mémoire
- Threads
Infrastructure de supervision
Console Web
- JASMINe EoS (Eye of SOA)
- Console « modulaire » (kerneos)
- Définition de profils utilisateur (en cours)
- Modules
- Monitoring (graphes)
• Live
• Post-mortem (fichier, base de données)
- Notification (tableau de bord)
- Gestion des sondes
• Démarrage
• Arrêt
- Gestion des règles de monitoring
• Définition
• Activation / Désactivation
Kerneos
- Socle commun pour la construction des consoles Web2.0
- Le Bureau d'Administration JOnAS
- Les outils de supervision JASMINe
- Permet:
- Intégration facile des modules Flex (SWF) et HTML
- Look and feel commun (feuille de style, etc)
- Réutilisation des modules (login/logout, logs)
- Perspective: la console “à la carte”
Aide à la détection d'erreur
- Basée sur le moteur de règles Drools
- Permet de personnaliser la politique d'administration
- Quelques exemples de règles
- Surcharge CPU sur une période glissante (ignore les pics de charge)
- Saturation mémoire proche
- Saturation de pool proche
- Quelques exemples d'actions
- Génération d'une notification
- Envoi de mail
- Dump des threads
- SNMP
- Augmentation du niveau de trace
Editeur de règles de notification
JASMINe Self-Management
LB Apache/JK LB Apache/JK
JOnAS 5 JOnAS 5
EasyBeans JOnAS 5JOnAS 5 EasyBeans
Managed Element Drools
Drools
Controller Detection & reaction
Managed Element Managed Element
Managed Element
Autonomic Element
WildCAT WildCAT
Sensors
JK rules JK rules
JK Ant task JK Ant task
Actuators
MBeanCmd MBeanCmd
- Self-optimisation
- Self-healing
Agenda
Introduction à JASMINe
Outil d'aide à la configuration
Outil d'aide à la maintenance
Outil d'aide à la supervision
Références et conclusion
JASMINe dans le projet SERVERY
- Projet européen / programme CELTIC
- Place de marché de services convergents (télécom, internet et multimedia)
- création, mise à disposition, hébergement de services
- Utilisation de JASMINe
- pour la supervision de l'infrastructure middleware (e.g. clusters de serveurs d'application en environnement virtualisé)
- pour la supervision applicative en liaison avec les SLA
- scénarios d'automatisation d'actions correctives
JASMINe dans le projet OSAMI
- Projet européen / programme ITEA 2
- Plate-forme pour la fourniture dynamique de services en environnement "ambiant" (basé sur OSGi)
- Utilisation de JASMINe pour le scénario de supervision d'un bâtiment "intelligent" capable d'optimiser sa
consommation énergétique
- des réseaux de capteurs remontent des informations sur des passerelles locales OSGi (µJOnAS), JASMINe peut faire un premier traitement de rétro-action local
- une infrastructure complète de supervision JASMINe est présente sur un back-office
Open Source Ambient Intelligence Commons
JASMINe dans le projet SelfXL
- Projet ANR (ANR-08-SEGI-017)
- Scénario : Auto-ajustement de la taille d'une grappe Java EE sur une infrastructure virtualisée
- Dans ce projet, les travaux sur JASMINe portent sur
- JASMINe VM (Orange FT) : API agnostique de management des systèmes de virtualisation - Orange-FT
- Sondes hyperviseur (Bull)
- Des compléments sur JASMINe monitoring (Bull)au niveau de
• gestion des alarmes, éditeur de règles, gestion des sondes
Références
- Etat de Genève
- Suivi de production des instances JOnAS
- Infrastructure JASMINe centralisée
- Export des données (CSV) vers un outil interne
- FranceTelecom
- Réalisation d'un démonstrateur
• 1 infrastructure JASMINe par serveur (VM ou physique)
• Export CSV pour alimenter une base Patrol
• Régles de détection d'erreur (out of memory)
Génération d'un dump des threads
• Console EoS en mode rejeu
Perspectives
- Repository : Historique des données de configuration, de performance et d'alarme
- Design : prise en compte d'une infrastructure existante, intégration d'un outil de fabrication de logiciel "à la
carte" (intergiciel + VM)
- Monitoring
- découverte d'infrastructure et profils types
- extension vers d'autres stacks SOA
- intégration d'un outil de reporting
- nouvelles sondes
Points clés
- Solutions ouvertes
- Licence LGPL, pas de coût d'acquisition de logiciel
- Solutions satisfaisants aux exigences de la production
- Suite d'administration intégrée et complète pour l'aide à l'exploitation et la supervision des plates-formes distribuées
- Participe à l'amélioration de la QoS
- Solutions évolutives
- Basées sur les standards