1. FusionInventory
´
Journees Perl
´
Goneri Le Bouder <goneri@teclib.com>
Strasbourg
Juin 2012
2. A propos de moi
´
Goneri Le Bouder
´
Developpeur FusionInventory
´
Developpeur Debian
Mongueur Perl
Travaille chez TECLIB’, Paris
3. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
4. Les origines du logiciel
´
2006 Creation de l’agent
´
2008 Debut du serveur (le plugin GLPI, Tracker)
´
2009 Integration Agent/Serveur
2010 Projet FusionInventory
´
2010 Integration avec Uranos
´
2011 Integration avec Rudder (cfengine)
´
2012 Integration avec OTRS
5. La structure du projet
FusionInventory est un projet communautaire.
liste de diffusion active
IRC: #FusionInventory sur FreeNode
´ o
Forge, depˆ t Git, etc
6. Les contributeurs
´
4 developpeurs
´
reguliers
´
une communaute
active
2 entreprises parties
prenantes
Nous aimons le sang chaud !
7. Les contributeurs
´
4 developpeurs
´
reguliers
´
une communaute
active
2 entreprises parties
prenantes
Nous aimons le sang chaud !
8. Un peu de vocabulaire
FusionInventory n’est pas directement un logiciel
´
Agent: un logiciel destine aux machines du parc
Serveur: dialogue avec l’agent
´
Tˆ che: une action effectuee par un agent pour le
a
serveur
9. Les serveurs aujourd’hui
4 solutions aujourd’hui
FusionInventory for GLPI
http://www.FusionInventory.org
Uranos
http://uranos.sourceforge.net/
Rudder de Normation
http://www.normation.com/#produits
OCS Inventory NG
Pulse 2 de Mandriva
... il est aussi possible de produire un inventaire XML (et
bientˆ t JSON) en local.
o
10. ´
Des integrations sont en discussion avec
FusionDirectory
´ ´
OTRS ITSM (developpement pratiquement termine)
11. pull / push
FusionInventory permet le ”push” ou ”pull”
”pull”: Agent =⇒ Serveur
`
l’agent est a l’origine du dialogue.
”push”: Agent ⇐= Serveur
le serveur commence le dialogue.
12. Agent: Installation
Plusieurs solutions
distribution packages
Debian, Fedora, EPEL, Ubuntu, Mageia, ...
Windows installer
GPO, psexec, ...
static prebuilt packages, untar et lancer
62 differents system so far
tarball et CPAN
14. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
15. ` ´
Les systemes d’exploitation supportes
Linux
Windows
MacOSX
BSD
AIX
HP-UX
Solaris
Android
16. Perl aide beaucoup
´
Peu de differences fondamentales entre les UNIX like
Il reste Win32
17. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
18. ´ ´
Decouverte du reseau
´ ´ ´
Une remontee rapide des elements actifs
NMAP
NetBios
requˆ te SNMP
e
19. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
21. SNMP
L’origine de SNMP
Un standard
`
Premiere RFC: 1988
´´ ´
Cree pour superviser les equipements
´
3 versions differentes 1, 2c, 3 (Chiffrement)
OID: L’adresse d’une information
MIB: Un catalogue d’OID
22. SNMP: Pour faire quoi?
Quelle utilisation de SNMP?
´
Identifier les equipements distants (commutateurs,
imprimantes, ...)
Faire un inventaire
Collecter les informations importantes
23. SNMP: Le cauchemar
´
“Vous pouvez supporter mon materiel, j’ai la MIB !”
` ´ ´ `
En regle generale, elles sont dures a trouver
Rarement libres ou redistribuables
Des informations importantes sont souvant absentes
Le pire ! Elles sont bien souvent fausses !
24. SNMP: Le cauchemar
´
“Vous pouvez supporter mon materiel, j’ai la MIB !”
` ´ ´ `
En regle generale, elles sont dures a trouver
Rarement libres ou redistribuables
Des informations importantes sont souvant absentes
Le pire ! Elles sont bien souvent fausses !
25. SNMP: Un exemple
Exemple: Cisco 6500 firmware
12.2(33)SXI2a (02-Sep-09 01:00)
Serial OID:
.1.3.6.1.2.1.47.1.1.1.1.11.1
12.2(33)SXI3 (27-Oct-09 11:12)
Serial OID:
.1.3.6.1.2.1.47.1.1.1.1.11.2⇐=
Gni?!
27. ˆ
SNMP: Comment etre fiable?
´
On prepare nos propres “MIB”
´
Un travail manuel pour chaque equipement
Des fichiers XML
´
Definition des relations entre les OID et les infos
´ ´
ex: numero de serie → OID 1.2.4.34.53...
Support des OID dynamiques
29. SNMP: Commutateur (1/3)
´ ´
Informations generales
´ ´
Numero de serie
Fabricant
`
Modele
Version du firmware
Adresse MAC
Charge CPU / RAM
etc
30. SNMP: Commutateur (2/3)
´ ´
Informations specifiques (support avance)
Nom des ports
La vitesse
Le statut
Les compteurs d’erreurs
VLAN
´
Trunk (tagge)
...
31. SNMP: Commutateur (3/3)
Connexion par port
Adresse MAC
`
une a “n”
´
Decouverte LLDP / CDP
´
remontee POIP etc
,
36. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
37. Wake On Lan
WoL
´
Possiblite d’utiliser l’agent comme un proxy pour
´
emettre des requˆ tes WoL.
e
38. Wake On Lan : Exemple
Exemple
Un site distant
50 ordinateurs
Ce qu’on peut faire
´ `
Demarrer toutes les machines a 2h00 tous les soirs
`
pour les mises a jour.
39. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
40. ´ ´
La telediffusion (1/2)
´ ` ´
Possibilite d’envoyer des actions a realiser aux
machines?
´
Pouvoir realiser des actions sur les machines
Envoyer des fichiers
´ `
Reduire la bande passante grˆ ce au “pair a pair”
a
Attention : ce n’est pas de la gestion de configuration.
41. ´ ´
La telediffusion (2/2)
´ ´
Pourquoi un outil pour faire des telediffusions vers les
postes?
Utiliser l’interface existante de GLPI
´
La gestion des droits de GLPI (groupes/profiles/entites)
Multi-plateforme
42. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
43. vCenter/ESX/ESXi
`
Le probleme
Des boites noires : On ne peut pas installer d’agent dessus
comme pour les autres hyperviseurs.
44. vCenter/ESX/ESXi
La solution
´
L’agent peut se connecter sur les equipements VMware
via l’interface SOAP API:
inventaire Hardware
lister les Machines Virtuelles
lister les ESX (dans les cas des vCenter)
45. vCenter/ESX/ESXi: en ligne de commande
f u s i o n i n v e n t o r y −esx −−host vcenter −−user foo
−−password bar −−d i r e c t o r y /tmp
Il ne reste plus qu’a pousser les inventaires :
f u s i o n i n v e n t o r y −i n j e c t o r −v −− f i l e /tmp / ∗ . ocs
−u h t t p s : / / s e r v e r / p l u g i n s / f u s i o n i n v e n t o r y /
46. vCenter/ESX/ESXi: l’interface GLPI
Une interface existe dans
GLPI
´
Definir l’authentification
Cibler un serveur
vCenter/ESX/ESXi
Planifier les inventaires
47. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
51. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
54. test-unitaire
Pour ?
tester le parsing sur des OS qu’on a pas
´
verifier le code Win32 depuis un autre OS
jusqu’a WMI et la base de registre
´ ´
verifier des choses penibles
unicode, HTTPS, etc
55. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
56. Ce que FusionInventory peut apporter
´
Plusieurs scenarii
Utiliser l’inventaire dans votre application
Etendre la couverture de l’inventaire
Interface avec GLPI ou autres
Uranos, bientˆ t OTRS, etc
o
´
Creer des nouvelles tˆ ches
a
61. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions
63. Notre roadmap
´
Prochaines etapes :
FusionInventory Agent 2.3.x
´ `
Editeur de modele SNMP XML
´
Integration avec nut
Transition en cours :
OCS/XML → REST/JSON prevue pour l’agent 3.0.0
´
´
utilisee par OTRS
64. Outline
Vue d’ensemble
´
Agent : OS supportes
´ ´
Tˆ che : Decouverte du reseau
a
´
Tˆ che : Inventaire reseau
a
´ ´
Tˆ che : Reveil sur le reseau
a
´ ´
Tˆ che : La telediffusion
a
Tˆ che : Inventaire vCenter/ESX/ESXi
a
Tˆ che : L’inventaire
a
La qualita¨!
ı
´
D’un point de vu developpeur
La suite
Questions