Outils de gestion et supervision d'infrastructure intergicielle Francois.Exertier@bull.net
Agenda Introduction à Outil d'aide à la configuration Outil d'aide à la maintenance Outil d'aide à la supervision Références et conclusion 2
Besoins d'infrastructure intergicielle distribuée Administration 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é 3 Minimiser l'intervention humaine (limiter les erreurs) Automatiser les tâches courantes
Projet opensource OW2 Développé en open source au sein du consortium OW2 Licence LGPL Contributeurs principaux : Bull, FranceTelecom, Serli, INRIA Suite d'outils d'administration pour platesformes SOA Solution agnostique et évolutive http://jasmine.ow2.org 4
Design Outil graphique de contruction d une configuration Middleware SOA Deploy 5 Monitoring Selfmanagement Environnement pour le déploiement d une configuration Middleware SOA Migration d applications (JaDOrT) Outils pour le suivi de performances et la détection d erreurs Boucle de contrôle pour l autooptimisation et le Selfhealing
Agenda Introduction à Outil d'aide à la configuration Outil d'aide à la maintenance Outil d'aide à la supervision Références et conclusion 6
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 cas d'usage d'une infrastructure cluster JOnAS 7
Vue d'ensemble 1. Conception 2. Configuration 3. Validation (plugin Eclipse) 4. Déploiement de la configuration (commande java) 8
Conception Environnement graphique Eclipse Zone d'édition Explorateur Vue globale Propriétés 9 Barre outils
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 Autogénération de la configuration Politique d'allocation des numéros de port TCP Nommage des instances JOnAS Des règles de validation 10 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 11 Basé sur le fichier topology.xml (exporté depuis Design)
Agenda Introduction à Outil d'aide à la configuration Outil d'aide à la maintenance Outil d'aide à la supervision Références et conclusion 12
JaDOrT (Jasmine Deployment Orchestration Tool) 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 13 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 : 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_proxybalancer Support de plusieurs serveurs d'application JOnAS, JBoss, Glassfish, Weblogic, Websphere Support des VM Via une API d'abstraction du système de virtualisation sousjacent Qualifié par FT avec Vmware 14
Vue globale Liste des applications déployées sur ce groupe de serveurs Servers workers associés 15
Sélection des serveurs à maintenir Sélection manuelle des serveurs Capacité et nombre de sessions actives Etat de la maintenance pour chaque serveur Sélection automatique des serveurs à maintenir 16
Contrôle des opérations Taches et progression globale Actions pour chaque serveur Etat et progression de chaque serveur 17 Nombre de sessions actives par utilisateur
L'administrateur a toujours le contrôle 18
Gestion des erreurs Task that failed Action : retry/ignore Le serveur est en échec 19 Il est toujours possible de revenir en arrière
Log 20
Agenda Introduction à Outil d'aide à la configuration Outil d'aide à la maintenance Outil d'aide à la supervision Références et conclusion 21
Supervision d'un système distribué Tâche complexe Très grand nombre d'indicateurs à observer Sur différents noeuds Sur différentes couches Appli. JOnAS JVM System!!! Limite du gérable par l'humain!!! 22 events
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 23 Capacity planning Acquisition de matériel / logiciel Réaction: qq mois à 1 ou 2 ans
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 24 File system Mémoire Threads
Infrastructure de supervision 25
Console Web EoS (Eye of SOA) Console «modulaire» (kerneos) Définition de profils utilisateur (en cours) Modules Monitoring (graphes) Live Postmortem (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 26
Kerneos Socle commun pour la construction des consoles Web2.0 Le Bureau d'administration JOnAS Les outils de supervision 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 27
28
29
30
31
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 32 Génération d'une notification Envoi de mail Dump des threads SNMP Augmentation du niveau de trace...
33
34
Editeur de règles de notification 35
36
SelfManagement Selfoptimisation Selfhealing Sensors Autonomic Element Controller Detection & reaction Drools Drools JK JK rules rules Actuators WildCAT WildCAT JK JK Ant Ant task task MBeanCmd MBeanCmd Managed Element Managed Element LB LB Apache/JK Apache/JK Managed Element JOnAS JOnAS 55 EasyBeans EasyBeans 37 Managed Element JOnAS JOnAS 55 EasyBeans EasyBeans
Agenda Introduction à Outil d'aide à la configuration Outil d'aide à la maintenance Outil d'aide à la supervision Références et conclusion 38
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 39 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
dans le projet OSAMI Open Source Ambient Intelligence Commons Projet européen / programme ITEA 2 Plateforme pour la fourniture dynamique de services en environnement "ambiant" (basé sur OSGi) Utilisation de pour le scénario de supervision d'un bâtiment "intelligent" capable d'optimiser sa consommation énergétique 40 des réseaux de capteurs remontent des informations sur des passerelles locales OSGi (µjonas), peut faire un premier traitement de rétroaction local une infrastructure complète de supervision est présente sur un backoffice
dans le projet SelfXL Projet ANR (ANR08SEGI017) Scénario : Autoajustement de la taille d'une grappe Java EE sur une infrastructure virtualisée Dans ce projet, les travaux sur portent sur VM (Orange FT) : API agnostique de management des systèmes de virtualisation OrangeFT Sondes hyperviseur (Bull) Des compléments sur monitoring (Bull)au niveau de 41 gestion des alarmes, éditeur de règles, gestion des sondes
Références Etat de Genève Suivi de production des instances JOnAS Infrastructure centralisée Export des données (CSV) vers un outil interne FranceTelecom Réalisation d'un démonstrateur 1 infrastructure par serveur (VM ou physique) Export CSV pour alimenter une base Patrol Régles de détection d'erreur (out of memory) 42 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 43 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 platesformes distribuées Participe à l'amélioration de la QoS Solutions évolutives Basées sur les standards http://jasmine.ow2.org Démonstrations sur le stand Bull 44