fusioninventory journees-perl-2012
DESCRIPTION
FusionInventory presentation done during Journées Perl 2012 meeting in Strasbourg. The slides are in French.TRANSCRIPT
A propos de moi
Goneri Le Bouder
I Developpeur FusionInventoryI Developpeur DebianI Mongueur PerlI Travaille chez TECLIB’, Paris
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
Les origines du logiciel
2006 Creation de l’agent2008 Debut du serveur (le plugin GLPI, Tracker)2009 Integration Agent/Serveur2010 Projet FusionInventory2010 Integration avec Uranos2011 Integration avec Rudder (cfengine)2012 Integration avec OTRS
La structure du projet
FusionInventory est un projet communautaire.
I liste de diffusion activeI IRC: #FusionInventory sur FreeNodeI Forge, depot Git, etc
Les contributeurs
I 4 developpeursreguliers
I une communauteactive
I 2 entreprises partiesprenantes
Nous aimons le sang chaud !
Les contributeurs
I 4 developpeursreguliers
I une communauteactive
I 2 entreprises partiesprenantes
Nous aimons le sang chaud !
Un peu de vocabulaire
FusionInventory n’est pas directement un logiciel
I Agent: un logiciel destine aux machines du parcI Serveur: dialogue avec l’agentI Tache: une action effectuee par un agent pour le
serveur
Les serveurs aujourd’hui
4 solutions aujourd’hui
I FusionInventory for GLPIhttp://www.FusionInventory.org
I Uranoshttp://uranos.sourceforge.net/
I Rudder de Normationhttp://www.normation.com/#produits
I OCS Inventory NGI Pulse 2 de Mandriva
... il est aussi possible de produire un inventaire XML (etbientot JSON) en local.
Des integrations sont en discussion avec
I FusionDirectoryI OTRS ITSM (developpement pratiquement termine)
pull / push
FusionInventory permet le ”push” ou ”pull”
I ”pull”: Agent =⇒ Serveurl’agent est a l’origine du dialogue.
I ”push”: Agent⇐= Serveurle serveur commence le dialogue.
Agent: Installation
Plusieurs solutions
I distribution packagesDebian, Fedora, EPEL, Ubuntu, Mageia, ...
I Windows installerGPO, psexec, ...
I static prebuilt packages, untar et lancer62 differents system so far
I tarball et CPAN
Agent: Installation
Sur Android, l’application est surGoogle Play.
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
Les systemes d’exploitation supportes
I LinuxI WindowsI MacOSXI BSDI AIXI HP-UXI SolarisI Android
Perl aide beaucoup
I Peu de differences fondamentales entre les UNIX likeI Il reste Win32
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
Decouverte du reseau
Une remontee rapide des elements actifs
I NMAPI NetBiosI requete SNMP
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
... INTERMEDE ...
SNMP
L’origine de SNMP
I Un standardPremiere RFC: 1988
I Cree pour superviser les equipementsI 3 versions differentes 1, 2c, 3 (Chiffrement)I OID: L’adresse d’une informationI MIB: Un catalogue d’OID
SNMP: Pour faire quoi?
Quelle utilisation de SNMP?
I Identifier les equipements distants (commutateurs,imprimantes, ...)
I Faire un inventaireI Collecter les informations importantes
SNMP: Le cauchemar
“Vous pouvez supporter mon materiel, j’ai la MIB !”
I En regle generale, elles sont dures a trouverI Rarement libres ou redistribuablesI Des informations importantes sont souvant absentesI Le pire ! Elles sont bien souvent fausses !
SNMP: Le cauchemar
“Vous pouvez supporter mon materiel, j’ai la MIB !”
I En regle generale, elles sont dures a trouverI Rarement libres ou redistribuablesI Des informations importantes sont souvant absentesI Le pire ! Elles sont bien souvent fausses !
SNMP: Un exemple
Exemple: Cisco 6500 firmware
12.2(33)SXI2a (02-Sep-09 01:00)I Serial OID:
.1.3.6.1.2.1.47.1.1.1.1.11.112.2(33)SXI3 (27-Oct-09 11:12)
I Serial OID:.1.3.6.1.2.1.47.1.1.1.1.11.2⇐=Gni?!
SNMP: aıe
SNMP: Comment etre fiable?
On prepare nos propres “MIB”
I Un travail manuel pour chaque equipementI Des fichiers XMLI Definition des relations entre les OID et les infos
ex: numero de serie→ OID 1.2.4.34.53...I Support des OID dynamiques
... FIN DE L’INTERMEDE ...
SNMP: Commutateur (1/3)
Informations generales
I Numero de serieI FabricantI ModeleI Version du firmwareI Adresse MACI Charge CPU / RAMI etc
SNMP: Commutateur (2/3)
Informations specifiques (support avance)
I Nom des portsI La vitesseI Le statutI Les compteurs d’erreursI VLANI Trunk (tagge)I ...
SNMP: Commutateur (3/3)
Connexion par port
I Adresse MACune a “n”
I Decouverte LLDP / CDPremontee POIP, etc
SNMP: exemple d’un commutateur
SNMP: Imprimante (1/2)
Informations generales
I Numero de serieI FabricantI ModeleI FirmwareI MemoireI Adresse MACI etc
SNMP: Imprimante (2/2)
Informations avancees
I Etats des cartouchesI Compteur de page
SNMP: exemple d’une imprimante
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
Wake On Lan
WoL
I Possiblite d’utiliser l’agent comme un proxy pouremettre des requetes WoL.
Wake On Lan : Exemple
Exemple
I Un site distantI 50 ordinateurs
Ce qu’on peut faire
I Demarrer toutes les machines a 2h00 tous les soirspour les mises a jour.
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
La telediffusion (1/2)
Possibilite d’envoyer des actions a realiser auxmachines?
I Pouvoir realiser des actions sur les machinesI Envoyer des fichiersI Reduire la bande passante grace au “pair a pair”
Attention : ce n’est pas de la gestion de configuration.
La telediffusion (2/2)
Pourquoi un outil pour faire des telediffusions vers lespostes?
I Utiliser l’interface existante de GLPII La gestion des droits de GLPI (groupes/profiles/entites)I Multi-plateforme
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
vCenter/ESX/ESXi
Le probleme
Des boites noires : On ne peut pas installer d’agent dessuscomme pour les autres hyperviseurs.
vCenter/ESX/ESXi
La solutionL’agent peut se connecter sur les equipements VMwarevia l’interface SOAP API:
I inventaire HardwareI lister les Machines VirtuellesI lister les ESX (dans les cas des vCenter)
vCenter/ESX/ESXi: en ligne de commande
fus ioninventory−esx −−host vcenter −−user foo \−−password bar −−directory /tmp
Il ne reste plus qu’a pousser les inventaires :
fus ioninventory−i n jecto r −v −− f i l e /tmp/∗ . ocs \−u https : / / server / plugins / fus ioninventory /
vCenter/ESX/ESXi: l’interface GLPI
Une interface existe dansGLPI
I Definir l’authentificationI Cibler un serveur
vCenter/ESX/ESXiI Planifier les inventaires
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
Informations remontees (1/3)
I BIOSI modules PCII slots memoiresI CPUsI disques durs, lecteur, etcI carte mereI systeme d’exploitationI ecransI portsI slotsI partitionsI logiciels
Informations remontees (2/3)
I utilisateurs connectesI cartes videosI machines virtuellesI carte sonsI modemsI variables d’environnementI equipements USBI configuration reseauI batteriesI imprimantesI processusI antivirusI LVM
Informations remontees (3/3)
Android: carte SIM, IMEI , etc
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
Quelques metriques
Aujourd’hui
I 194 modules PerlI 21851 lignesI 938 tests unitaires
Quelques metriques
Aujourd’hui
I 194 modules PerlI 21851 lignesI 938 tests unitaires !
test-unitaire
Pour ?
I tester le parsing sur des OS qu’on a pasI verifier le code Win32 depuis un autre OS
jusqu’a WMI et la base de registreI verifier des choses penibles
unicode, HTTPS, etc
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
Ce que FusionInventory peut apporter
Plusieurs scenarii
I Utiliser l’inventaire dans votre applicationI Etendre la couverture de l’inventaireI Interface avec GLPI ou autres
Uranos, bientot OTRS, etcI Creer des nouvelles taches
Utiliser l’inventaire dans votre application
demo
Etendre la couverture de l’inventairedemo
Creer des nouvelles tachesVous permet de recuperer facilement des objets dans lebon contexte :
I $serveurI $configI $logger
Interface avec GLPI ou autres
I SOAP (GLPI et OTRS)
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
What else?
Notre roadmap
Prochaines etapes :I FusionInventory Agent 2.3.xI Editeur de modele SNMP XMLI Integration avec nut
Transition en cours :I OCS/XML→ REST/JSON prevue pour l’agent 3.0.0
utilisee par OTRS
Outline
Vue d’ensemble
Agent : OS supportes
Tache : Decouverte du reseau
Tache : Inventaire reseau
Tache : Reveil sur le reseau
Tache : La telediffusion
Tache : Inventaire vCenter/ESX/ESXi
Tache : L’inventaire
La qualitaı!
D’un point de vu developpeur
La suite
Questions
Questions?
Question?
Thanks
Thanks!
I Windows http://www.flickr.com/photos/aeu04117/430338509/sizes/z/in/photostream/
I AIX http://www.flickr.com/photos/pchow98/5115638572/
I MacOSXhttp://www.flickr.com/photos/adriannier/5555516312/sizes/l/in/photostream/
I Cisco 6500http://www.flickr.com/photos/joachim_s_mueller/3084164647/sizes/z/in/photostream/
I Teletubbies http://www.flickr.com/photos/tudor/232849285/lightbox/
I Worker http://www.flickr.com/photos/wsdot/6783674428/sizes/l/in/photostream/
I Bee http://www.flickr.com/photos/8583446@N05/7454903214/sizes/l/in/photostream/
I Montagne http://www.flickr.com/photos/blmiers2/6167391543/sizes/l/in/photostream/