Sujet : Mon sujet de stage de 2ème année de BTS SIO 2017 porte sur l’importation de données d’inventaire de différent équipements réseaux, qui sont : Les switches, les serveurs, les machine virtuelle, les onduleurs, depuis deux source différents : zabbix et glpi vers ITOP qui est un outil de gestion de matériel, de logiciel et de services associés. Importation de données d’inventaire sur ITOP Sommaire AUDIT....................................................................................................................................................... 2 Audit des éléments d’inventaire nécessaire à ITOP ............................................................................ 2 Audit des informations manquantes ou déjà présentes ..................................................................... 3 Audit des type d’information et des champs d’inventaires ................................................................ 6 Création des sources de données ITOP ................................................................................................... 7 Conception des requêtes SQL ................................................................................................................. 8 Ajout des différentes typologies de configuration sur ITOP ................................................................... 9 Vérification de la réussite de l’importation........................................................................................... 11 Automatisation ...................................................................................................................................... 13 1 AUDIT Audit des éléments d’inventaire nécessaire à ITOP Sur ITOP chaque type d’équipements possède des champs d’inventaire à renseigner plus ou moins différents, j’ai donc commencé par faire un audit sur les champs d’inventaire qui devront être renseigné pour chaque équipement. Champ d’inventaire ITOP d’un switch : Champ d’inventaire ITOP d’une machine virtuel : 2 Audit des informations manquantes ou déjà présentes J’effectue en premier lieu un audit sur Excel des éléments manquant ou déjà existant, si un élément n’est présent sur aucune des deux source (GLPI ou Zabbix ) j’ai pour but de les ajouter à zabbix notamment à l’aide de SNMP ou de l’agent zabbix installer sur les équipements réseaux . Exemple : Les éléments en vert sont les éléments déjà présents, ceux en rouge sont les éléments dont nous avons décidé de ne pas importer (pour les besoin actuel) et les éléments en beige sont les éléments qui n’était présent sur aucune source et que j’ai donc ajoutés à zabbix, précisant par la même occasion l’OID SNMP ou les commande agent utilisé. 3 Pour les éléments manquant j’ai créé des template (une pour chaque type d’équipements) que j’ai liés à chacun des équipements en fonction de son type contenant des éléments qui alimente l’inventaire zabbix. Pour chaque élément sur zabbix , le champ d’inventaire dans lequel l’information va remonter doit être renseigner . 4 Exemple d’inventaire final pour un serveur esxi : 5 Audit des type d’information et des champs d’inventaires Pour mon audit je conçois un tableau sur Word qui répertorie les éléments à importés sur ITOP ( 1er colonne) , ensuite je précise la source d’où sera tiré l’information puis pour chaque éléments je propose de les bloqués ou non suite à leur importations sachant qu’un « élément bloqué » signifie donc que sa valeur après importation ne sera plus modifiable par les utilisateur contrairement aux élément dit « non bloqué » , et pour finir je précise pour chaque éléments dont la source est zabbix le champ d’inventaire zabbix (que j’ai préalablement configuré , cf page 4) dans le quelle sera contenus l’information voulu . Exemple d’audit réalisé pour les switches et les serveurs : Les informations concernant les switches étant très bien renseigner sur GLPI et facilitant ainsi l’importation j’ai donc décidé que les switches auront pour source de données seulement GLPI. 6 Création des sources de données ITOP La prochaine étape sera de crée la source de données sur ITOP c’est-à-dire les type d’équipements réseaux, dans mon cas j’ai donc crée une source : Serveur Physique, Switches, Onduleurs, Machines Virtuelle et Hyperviseurs. Le but de cela est qu’ITOP crée pour chaque source de donnée une table de synchronisation dans sa base de données qui servira pour l’importation. Exemple : Table de synchronisation pour équipement réseau : switches, etc… Table de synchronisation pour machines virtuelle 7 Conception des requêtes SQL Après avoir fini tous les audits nécessaires et une fois les sources de données ITOP crée, viens l’étape de la création des requêtes SQL : Une fois l’accès au serveur contenant les bases de données effectuées (ici grâce au logiciel mysql workbench) je commence l’écriture des requêtes SQL permettant d’obtenir un inventaire spécifique pour chaque type d’équipements. Exemple d’une requête SQL pour onduleur : Requête d’importation dans la table de synchronisation ITOP : 8 Une fois que j’obtiens le résultat voulu j’insert toute ces données dans la table de synchronisation correspondant à son type d’équipement (ici synchro_data_powersource_7) à l’aide de la commande insert. Ajout des différentes typologies de configuration sur ITOP Une configuration des typologies doit être faite sur ITOP avant l’importation sous peine d’avoir des erreurs lors de celle-ci. Par exemple : les différente marques, modèle, OS, version d’OS, de même pour les lieux doivent renseigner avant importation de l’inventaire. Exemple avec les différentes marques : 9 Importation vers ITOP Pour finaliser l’importation vers ITOP il faut synchroniser chaque table de synchronisation avec ITOP, pour sa il faut lancer la commande suivante sur le serveur ITOP : On précise ici le numéro de la table de synchronisation qu’on veut synchroniser avec ITOP La synchronisation effectuée sur la capture d’écran précédente est donc celle de la table de synchronisation des serveurs 10 Vérification de la réussite de l’importation Une fois la synchronisation effectuée si tous c’est bien dérouler toute les informations ont dû être ajouté à ITOP. Premièrement on peut aller vérifier l’état des dernières importations effectuées : On peut voir pour chaque équipements si il a été créé, si il est en erreur, si il a subit une mise à jour, etc… Ici, on peut voir l’historique de toutes les importations On peut avoir une vue global des équipements grâce aux tableaux de bord de ITOP : 11 Nous allons donc par exemple vérifier les serveurs : A première vue les informations sont bien remontées et ont été ajouté à ITOP Pour voir plus d’informations sur un serveur on peut cliquer dessus, c’est ce que je vais faire pour vérifier que les informations de type adresse IP, date de mise en production, etc... Soit aussi bel et bien présent : On peut voir que la marque, le modèle, l’OS , l’IP, le lieu ainsi que le statut sont bien remonté 12 Automatisation Pour finir, j’ai décidé de mettre en place une automatisation de l’import. Pour cela j’ai utilisé un outil d’automatisation de tache nommé « job scheduler » qui fonctionne par ordre d’exécution de script, j’ai donc crée un ordre d’exécution de script php suivant le contexte suivant : SERVEUR 1 Base de données GLPI SERVEUR 2 Base de données ITOP Base de données Zabbix Base de données ETL Il faut savoir que les deux serveurs sont dans les mêmes réseaux et que la base de données ETL a été créé manuellement pour accueillir la table GLPI venant du serveur 1.Car pour que l’importation fonctionne il faut bien sûr que toute les bases de données nécessaire soit réuni sur le même serveur. Voilà donc l’ordre d’exécution crée sur le logiciel job scheduler : Les tâches s’exécutent de haut en bas, la première nommé « Export Tables GLPI » consiste à exporter les tables GLPI qui m’est nécessaire et pour cela il exécute des commandes directement sur le serveur GLPI (plus précisément des commandes mysqldump) : 13 La tâche suivante nommé « Import GLPI-SQL » consiste à importer les tables sql précédemment exporté dans la base de données ETL : Sachant que pour permettre au serveur 2 d’obtenir les fichiers sql qui ont été exporté sur le serveur 1, un dossier partagé a été créé sur le serveur 1 qui a été monté sur le serveur 2 grâce à un point de montage. La tâche suivante nommé « Import de ETL vers ITOP » consiste à exécuter des scripts PHP qui vont exécuter les requête SQL précédemment crée. Et qui ont donc pour but de remplir les tables de synchronisation d’ITOP. Exemple de script : 14 Et pour finir la dernière tache nommée « Lancement Import dans ITOP » consiste à synchroniser les tables de synchronisation avec ITOP. Pour cela ITOP possède une commande propre à lui et que j’ai donc demandé à job scheduler d’exécuté pour chacune des tables : Ce numéro correspond aux différentes tables de synchronisation 15