2. About us
Walid Nouh
FusionInventory contributor
GLPI contributor
Working for TECLIB’, Montpellier
3. About us
Mathieu Simon
FusionInventory contributor (l10n)
GLPI plugin translation
¨
Working for Gymnasium Koniz-Lerbermatt, Bern
4. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
5. FusionInventory timeline
2006 First unified inventory agent for Unix
2008 First server implementation (Tracker, a plugin
for GLPI)
2009 Agent and server integration
2010 FusionInventory project is born!
2010 Uranos integration
2011 Rudder (cfengine) integration
2012 OTRS integration
6. The project
FusionInventory is a community driven project
Active mailing list
IRC: #FusionInventory on FreeNode
Forge, Git repositories, etc
7. Contributors
4 active developers
An active community
2 companies involved
We’re looking for more contributors !
8. Contributors
4 active developers
An active community
2 companies involved
We’re looking for more contributors !
9. Before starting
FusionInventory is not a software
Agent: a software to install on the computers
Server: handles communication with the agents
Task: is prepared by the server, executed by an agent
10. pull / push
FusionInventory enables ”push” or ”pull” mode
”pull”: Agent =⇒ Server
the agent contacts the server.
”push”: Agent ⇐= Server
the server initiates the contact.
11. Available servers today
4 solutions so far
FusionInventory for GLPI
http://www.FusionInventory.org
Uranos
http://uranos.sourceforge.net/
Rudder by Normation
http://www.normation.com/#produits
OCS Inventory NG
Mandriva Pulse 2
... it’s also possible to perform local XML inventory (soon:
switch to JSON).
12. In contact with developers of
FusionDirectory
OTRS ITSM (work already in progress)
13. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
14. Why GLPI for the server?
We’re also members of the GLPI community
Motivation: Don’t reinvent the wheel!
Avoid having a second database and
synchronization
Focus on what’s important to us - let GLPI do the rest
15. GLPI: about (1/4)
Powerfull web based asset management software
Project started in 2003
LAMP
Provides a complete plugin API
17. GLPI: Service Desk (3/4)
ITIL compatible Servicedesk
Incident management
Problem management
Statistics
18. GLPI (4/4)
Reports and statistics
Powerful authorization system (LDAP IMAP/POP etc)
, ,
WebSSO (CAS, LemonLDAP etc)
,
19. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
20. Agent: Installation
Many ways to do it
Distribution packages
Debian, Fedora, EPEL, Ubuntu, Mageia, ...
Windows installer
GPO, psexec, ...
Static prebuilt packages: untar and run
62 differents system so far
Tarball and CPAN
23. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
24. Network discovery
Quickly detect and collect all connected devices
nmap
NetBIOS
SNMP queries
25. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
27. SNMP
SNMP origin
A standard
First RFC in 1988
Designed to monitor equipments
3 versions 1, 2c, 3 (Cyphering)
OID: Information location
MIB: A collection of OIDs
28. SNMP: what for in FusionInventory?
How do we use SNMP?
Identify remote devices (network equipments,
printers, ...)
Perform a remote inventory
Get the most important informations
29. SNMP: a nightmare
“Please support my hardware, here is the MIB!”
Might be hard to find
Often no free or not redistributable
Important informations might be missing
But worth, they may be wrong !
30. SNMP: a nightmare
“Please support my hardware, here is the MIB!”
Might be hard to find
Often no free or not redistributable
Important informations might be missing
But worth, they may be wrong !
31. SNMP: an example
Example: 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?!
33. SNMP: how to be reliable ?
We prepared our own “MIB”
Manual work for each equipment
stored in an XML file
Defines relations between an OID and an information
ex: serial number → OID 1.2.4.34.53...
Supports dynamics OIDs
34. SNMP: how to be reliable ?
A centralized database
We’re implementing a centralized database
In Beta stage
You create and account and upload snmpwalks
The tool helps you to make the model
It’ll be available in the next release!
43. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
44. Wake On Lan
WoL
Agent can be used as a proxy to send WoL packets.
45. Wake On Lan: Example
Example
A remote network
50 computers
What FusionInventory can do
Wake up all computers at 2 am for updates.
46. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
47. Software deployment (1/2)
What can be done
Perform actions on the target computer
Send files
Consume less bandwith thanks to peer to peer
Attention: FI is not a configuration management tool !
48. Software deployment (2/2)
Why a new software deployment solution ?
Use existing GLPI UI
Use GLPI habilitations (groups/profils/entities)
Multi-platform
49. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
50. vCenter / ESX / ESXi
The problem
Black boxes: no way to install an agent on the host...
51. vCenter / ESX / ESXi
The solution
The agent can use SOAP API to:
inventorize hardware
list virtual machines per host
inventorize each ESX box (in case of a vCenter)
52. vCenter / ESX / ESXi: the command line tool
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
Send inventories to the server :
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 /
53. vCenter / ESX / ESXi: GLPI UI
An interface in GLPI
Define credentials
Define vCenter/ESX/ESXi
address
Plan inventories
54. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
58. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
59. Some statistics
Today
194 Perl modules
21851 lines of code
938 unit tests
60. Unit tests
What for?
test parsing for OSes that we don’t have
check Win32 code from another OS
from WMI to registry
check sensitive things
unicode, HTTPS, etc
61. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
62. What FusionInventory can bring to you
Several scenarios
Use inventory in your own application
Extend inventory with your own modules
Interface with GLPI or other
Uranos, soon OTRS, etc
Create new tasks
63. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
65. Our roadmap
Next steps:
FusionInventory Agent 2.3.x
Tool to edit SNMP XML models
NUT integration
Transition in progress:
OCS/XML → REST/JSON planned for agent 3.0.0
already used by OTRS
66. Our roadmap
Next steps:
FusionInventory Agent 2.3.x
Tool to edit SNMP XML models
NUT integration
Transition in progress:
OCS/XML → REST/JSON planned for agent 3.0.0
already used by OTRS
67. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions
68. Real use experience
Why use FusionInventory and GLPI (1/2):
2 schools were merged and had grown: 400 each →
1000 students today
IT departments merged and quickly grown
2008: Regular financial audit - including IT assets.
We had to get a an inventory without tons of man-hours:
QUICKLY.
69. Real use experience
Why use FusionInventory and GLPI (2/2):
Proprietary solution highly cost intensive - while
restricted in features
Experience with superiors: If it’s OSS, it has to work
OCS was able to get all our computers’ data
GLPI had the nice UI + held all other asset data
70. Real use experience
OCSinventory-ng side:
OCS lagged behind with Windows compatibility,
regular GLPI sync problems
Why FusionInventory:
Client: Agent easier to deploy 3 platforms
Server: PHP + Perl → PHP
Deployment: 1 internal git tree of GLPI + plugins
IT staff: 2 UIs → 1 UI
71. The good, the bad ...
There are also downsides - nothing is perfect:
Documentation mostly fr-FR focused
l10n: de-DE had quite some ”frenchisms”
FI for GLPI lags behind major GLPI releases
Ticket notifications require lots of local tuning (yet)
... no: There is no true ugly thing I found
72. Finally
GLPI + FI automated lots of tasks no sysadmin wants to
do manually with +300 computers
We still use a fraction of GLPI’s features, but growing
(Cert management!)
Auditability → Made superiors happy
OSS proved to work: Swiss-german education -
normally not that easy
Got in touch with nice community
Have to polish my french regularly ;-)
73. Outline
Project overview
GLPI and FusionInventory
Agent: installation and OS support
Task: Network discovery
Task: network inventory
Task: Wake On Lan
Task: software deployment
Task: vCenter / ESX / ESXi inventory
Task: inventory
QA
The developer point of view
Soon to come
Real use experience
Questions