Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Mise en place d’une CMDB au CC
Emmanouil VAMVAKOPOULOS Sylvain REYNAUD Frédéric AZEVEDO 25/11/2016
2
Historique 2012 Mars : Expression des Besoins avec échéance souhaitée fin d’année Juin : Début du projet (première réunion de travail) 2013 Janvier : Définition du modèle de données Jusqu’à Juin : évaluations de CMDBuild et iTop 2014 : Mai : renfort humain sur le projet (Sylvain) Début du développement (évolution de Lavoisier puis import dans CMDBuild) 2015 : Janvier : renfort sur le projet (Fabien JOYON) Déploiement de CMDBuild, Lavoisier, import de données Intégration d’éléments de configuration Dcache, xrootd, gpfs, workers, réseau Prototypage d’outils se basant sur la CMDB Analyse d’impact API REST Décembre Service officiellement en pré-production Départ de Fabien J. transfert de connaissance à Noua TOUKOUROU 2016 Intégration d’autres éléments de configurations Base de données, Openstack Développements d’outils se basant sur la CMDB: Analyse d’impact et Dashboard (Jonathan MOUTARDE) Départ de Noua T.
3
La mise à jour des données
Ce qui est en place Une base de données Eléments de configurations et leurs relations Information sur la configuration de certains services Sources de données : smurf, puppetdb, information de configuration de services, … La mise à jour des données 3 fois par jour (ensemble des données) 1 fois par heure (données concernant le status/realm) L’accès aux données via API REST et GUIs En résumé, tout est là pour Ajouter de nouveaux éléments de configurations Intégrer les informations de configurations de services Utiliser/développer des outils en utilisant l’API REST Une interface web d’analyse d’impact (voir présentation de Sylvain qui suit)
4
Développements effectués
5
Retour d'expérience sur et Modèle de données Outils développés
Plan CMDB Définition Application au CC-IN2P3 Retour d'expérience sur et Modèle de données Outils développés Conclusion Perspectives Difficultés rencontrées
6
CMDB = Configuration Management DataBase
CMDB : définition de Wikipédia application au CC-IN2P3 CMDB = Configuration Management DataBase C'est une base de données unifiant les composants d'un système informatique @CC : le système considéré est le centre de calcul de l'IN2P3 Elle permet de comprendre l'organisation entre ceux-ci OUI @CC : plus de relations mises-à-jour automatiquement et de modifier leur configuration NON @CC : la configuration est modifiée par les experts avec leurs outils Un composant fondamental d'une architecture ITIL
7
La CMDB contient des informations sur
CMDB : définition de Wikipédia application au CC-IN2P3 La CMDB contient des informations sur les principaux composants du système d'information matériel : routeurs, switch, racks, machines physiques/virtuelles logiciel : instances de service, composants constituant l'instance humains : utilisateurs, experts de services les relations importantes entre eux par exemple, pour une instance de service : quelles machines le font tourner ? quels utilisateurs l'utilisent ? quels autres services en dépendent ?
8
Pour chaque service, au minimum :
CMDB : application au CC-IN2P3 - cas particulier des services Pour chaque service, au minimum : Dépendance sur le matériel Fourni par l'infrastructure (smurf-db, puppet-db, DNS…) Dépendance (macroscopiques) sur d'autres services 164 relations maintenues manuellement pour l'astreinte Pour certains services, interroger/analyser les informations de configuration pour en extraire… Relations avec les groupes d'utilisateurs (+ niveau criticité) Relations entre les composants (+ redondance) Relations avec les autres services (+ niveau criticité) Services ayant ce niveau d'intégration aujourd'hui dCache, XRootD, GPFS, databases, Load Bal., (Grid Engine, OpenStack)
9
Retour d'expérience sur
Interfaces pas adaptées CMDB import postgres
10
Retour d'expérience sur
Impact analysis dashboard REST CMDB import CMDB UI . SOAP Beaucoup trop lent !!! postgres
11
Retour d'expérience sur
Impact analysis dashboard REST CMDB import CMDB UI . REST Langage de requête trop limité postgres
12
Dépendance sur le fonctionnement
Retour d'expérience sur Impact analysis dashboard REST Jointures trop complexes CMDB import CMDB UI . SQL Dépendance sur le fonctionnement interne de l'outil postgres
13
Retour d'expérience sur
Impact analysis dashboard REST CMDB import CMDB UI . Performance: attributs des relations récupérés 1 par 1 Fiabilité: contrôles faits par la GUI sont by-passés via REST Débogage: aucun indice sur la nature et la localisation de l'erreur Problèmes: Performance Fiabilité Débogage postgres
14
Retour d'expérience sur
Impact analysis dashboard REST CMDB import CMDB UI . postgres cache
15
Retour d'expérience sur
Impact analysis dashboard Impact analysis dashboard REST REST CMDB import CMDB UI . CMDB UI . postgres cache
16
Mais quand même quelques points forts… Open Source SGBDR avec
Retour d'expérience sur Mais quand même quelques points forts… Open Source SGBDR avec Gestion de l'historique Plus ou moins transparent… Gestion de l'héritage Permet la spécialisation d'une classe (e.g. matériel, service) Outil dédié aux CMDB, probablement adapté en cas de Modèle simple Saisie manuelle
17
Base de données Avantages Inconvénients NoSQL Orientée graphe
. Base de données NoSQL Orientée graphe Open source Avantages Déploiement très peu contraignant (intégré à Lavoisier) Rapide Flexible (modèle semi-structuré) Langage de requête simple et puissant Inconvénients Ce n'est pas un outil de CMDB Ne gère pas l'historique (contrairement à CMDBuild)
18
Relations d'impact Compromis entre… …et non de composition (SGBDR)
Modèle de données Relations d'impact …et non de composition (SGBDR) Compromis entre… Simplicité (seulement 13 classes) Compatibilité avec l'ensemble des services du CC-IN2P3 Compatibilité avec l'analyse d'impact (graphe acyclique orienté)
19
Modèle de données Nœud = classe d'objets Flèche = impact
20
Nœud = classe d'objets Flèche = impact
Modèle de données : relations entre les composants (grosse granularité) Nœud = classe d'objets Flèche = impact
21
Nœud = classe d'objets Flèche = impact
Modèle de données : relations entre les composants (granularité fine) Nœud = classe d'objets Flèche = impact
22
Nœud = classe d'objets Flèche = impact
Modèle de données : exemple d'extension du modèle (OPENSTACK) Nœud = classe d'objets Flèche = impact
23
REST Interfaces utilisateur : REST API CMDB UI . Impact analysis
dashboard REST REST CMDB UI .
24
Input : requête en Cypher (presque du ASCII art !)
Interfaces utilisateur : REST API Input : requête en Cypher (presque du ASCII art !) (n:Server)-->(:Configuration {Service:"GE"}) (hv:Server)-->(:Configuration)-->(vm:Server)-[*3]->(:ServiceElement) Output Choix entre 2 opérations /lavoisier/query retourne un tableau /lavoisier/impact retourne la description d'un graphe Choix du format pour chaque opération Tous les formats supportés par Lavoisier (e.g. JSON, XML, CSV…) Server Config GE Server Config Server Service
25
Interfaces utilisateur : GUI (développées par J. Moutarde)
Impact analysis dashboard REST CMDB UI .
26
Construites au dessus de la REST API Analyse d'impact
Interfaces utilisateur : GUI (développées par J. Moutarde) Construites au dessus de la REST API Analyse d'impact Impact en fonction de la redondance et de la criticité calculée Causes possibles communes à plusieurs pannes simultanées Dashboard (en cours…) Choix des widgets et de leur disposition dans la page (layout) Choix des requêtes Choix du rendu Edition de rapports (non commencé) Basé sur Jasper Report (de Jaspersoft Community) Impact analysis dashboard
27
Interfaces utilisateur : GUI pour l'analyse d'impact
DEMO
28
Interfaces utilisateur : GUI pour dashboard personnalisable
29
Concernant l'outil d'import des données
Perspectives Concernant l'outil d'import des données Améliorer la gestion des incohérences détectées (notifier ?) Remplacer CMDBBuild par une BD (pour l'historique)? Concernant l'intégration des services Suivre l'évolution des services déjà intégrés Nouvelles informations disponibles (e.g. redondance) Informations disponibles autrement (e.g. changement de techno.) Continuer d'intégrer d'autres services Concernant les interfaces graphiques Analyse d'impact : affiner le calcul de la criticité Dashboard : à terminer Edition de rapports : à développer
30
Interaction avec d'autres outils du CC ?
Perspectives Interaction avec d'autres outils du CC ? nécessité d'un nommage commun des services Astreinte Dépendances Criticités Experts Liens vers fiches astreinte NAGIOS autres ?
31
A beaucoup évolué au cours du projet… Maintenant
Difficultés rencontrées : le modèle de données A beaucoup évolué au cours du projet… Maintenant Stabilisé Eprouvé avec l'intégration de services très différents Peut être étendu pour répondre à des cas particuliers Les hyperviseurs d'OpenStack sont des configurations qui impactent des serveurs (i.e. des machines virtuelles). Les dépendances de dCache n'impactent pas tous les poolgroups de la même façon.
32
Entièrement développé par assemblage…
Difficultés rencontrées : hétérogénéité des techno/formats employés Entièrement développé par assemblage… de templates (règles de transformation du flux de données) de composants logiciels réutilisables pour les protocoles et technologies <connector> pour les formats de données en entrée <serializer> en sortie <renderer> pour la validation des données <validator> pour la mise en cache <cache> pour la sécurité <authenticator> …grâce au framework Lavoisier
33
Quelle décision en cas d'incohérence détectée?
Difficultés restantes Quelle décision en cas d'incohérence détectée? Annuler la mise à jour pour garder la cohérence ? Quel durée de validité des données ? Continuer la mise à jour pour avoir des données fraiches ? Quel niveau de tolérance ? A-t-on des use-cases utilisant l'historique des changements de configuration détectés par la CMDB ? Retours des utilisateurs sont bienvenus Cohérence des données Ergonomie des interfaces proposées Use-cases (requêtes prédéfinies, autres outils, autres données)
34
Pour conclure sur le projet
35
Besoins initiaux satisfaits ?
« La gestion du cycle de vie des CI » Non : la base centralise les informations contenues dans des outils métiers. Pas de modifications possibles. « la gestion des relations entre CI » Oui « l’historisation des CI et de leurs relations » Oui avec CMDBuild (remplacement par une base de données relationnelle envisagé) « l’évolutivité » « la capacité à faire du reporting » Limité avec CMDBuild Développement d’un plugin Lavoisier prévu à cet effet « l’analyse d'impacts » « l’interfaçage avec des outils tiers dont ceux d'inventaire et de découverte ou de tickets » Partiel (exemple : données RANE présentes mais périmées car pas d’accès directe aux données) « la gestion de processus (workflow) » Non. Pas compatible avec une CMDB en lecture seule. « la gestion des rôles et des habilitations » Non. Pas d’intérêt avec une CMDB en lecture seule.
36
Des besoins sont satisfaits, d’autres non
La suite ? Des besoins sont satisfaits, d’autres non Sont-ils toujours d’actualité ? Y en a-t-il de nouveaux ? Projet de « mise en place d’une CMDB au CC » Prêt d’un point de vu technique : utilisable, mais à compléter A finaliser sur l’aspect documentaire et formation Reste également à définir Qui valide les données ? Comment sont gérés les changements ? Ajout, retrait, modification d’éléments de configurations Qui est responsable de ce nouveau service ? Assurer la maintenance, l’évolution et l’amélioration continue Qui l’exploite ? Faire en sorte que le système fonctionne et fournisse le service attendu. A continuer sous quelle forme ? un nouveau projet ? une activité ?
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.