the fusioninventory project - rmll / lsm 2012

76
The FusionInventory project RMLL / LSM 2012 Walid Nouh - Mathieu Simon Gen ` eve Juillet 2012

Upload: others

Post on 04-Feb-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The FusionInventory project - RMLL / LSM 2012

The FusionInventory projectRMLL / LSM 2012

Walid Nouh - Mathieu Simon

Geneve

Juillet 2012

Page 2: The FusionInventory project - RMLL / LSM 2012

About us

Walid Nouh

I FusionInventory contributorI GLPI contributorI Working for TECLIB’, Montpellier

Page 3: The FusionInventory project - RMLL / LSM 2012

About us

Mathieu Simon

I FusionInventory contributor (l10n)I GLPI plugin translationI Working for Gymnasium Koniz-Lerbermatt, Bern

Page 4: The FusionInventory project - RMLL / LSM 2012

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

Page 5: The FusionInventory project - RMLL / LSM 2012

FusionInventory timeline

2006 First unified inventory agent for Unix2008 First server implementation (Tracker, a plugin

for GLPI)2009 Agent and server integration2010 FusionInventory project is born!2010 Uranos integration2011 Rudder (cfengine) integration2012 OTRS integration

Page 6: The FusionInventory project - RMLL / LSM 2012

The project

FusionInventory is a community driven project

I Active mailing listI IRC: #FusionInventory on FreeNodeI Forge, Git repositories, etc

Page 7: The FusionInventory project - RMLL / LSM 2012

Contributors

I 4 active developersI An active communityI 2 companies involved

We’re looking for more contributors !

Page 8: The FusionInventory project - RMLL / LSM 2012

Contributors

I 4 active developersI An active communityI 2 companies involved

We’re looking for more contributors !

Page 9: The FusionInventory project - RMLL / LSM 2012

Before starting

FusionInventory is not a software

I Agent: a software to install on the computersI Server: handles communication with the agentsI Task: is prepared by the server, executed by an agent

Page 10: The FusionInventory project - RMLL / LSM 2012

pull / push

FusionInventory enables ”push” or ”pull” mode

I ”pull”: Agent =⇒ Serverthe agent contacts the server.

I ”push”: Agent⇐= Serverthe server initiates the contact.

Page 11: The FusionInventory project - RMLL / LSM 2012

Available servers today

4 solutions so far

I FusionInventory for GLPIhttp://www.FusionInventory.org

I Uranoshttp://uranos.sourceforge.net/

I Rudder by Normationhttp://www.normation.com/#produits

I OCS Inventory NGI Mandriva Pulse 2

... it’s also possible to perform local XML inventory (soon:switch to JSON).

Page 12: The FusionInventory project - RMLL / LSM 2012

In contact with developers of

I FusionDirectoryI OTRS ITSM (work already in progress)

Page 13: The FusionInventory project - RMLL / LSM 2012

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

Page 14: The FusionInventory project - RMLL / LSM 2012

Why GLPI for the server?

I We’re also members of the GLPI communityI Motivation: Don’t reinvent the wheel!I Avoid having a second database and

synchronizationI Focus on what’s important to us - let GLPI do the rest

Page 15: The FusionInventory project - RMLL / LSM 2012

GLPI: about (1/4)

I Powerfull web based asset management softwareI Project started in 2003I LAMPI Provides a complete plugin API

Page 16: The FusionInventory project - RMLL / LSM 2012

GLPI: inventory (2/4)

I Computers, screens, printers, etcI Network devices, phonesI Financial informationsI WarrantiesI Licenses

Page 17: The FusionInventory project - RMLL / LSM 2012

GLPI: Service Desk (3/4)

I ITIL compatible ServicedeskI Incident managementI Problem managementI Statistics

Page 18: The FusionInventory project - RMLL / LSM 2012

GLPI (4/4)

I Reports and statisticsI Powerful authorization system (LDAP, IMAP/POP, etc)I WebSSO (CAS, LemonLDAP, etc)

Page 19: The FusionInventory project - RMLL / LSM 2012

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

Page 20: The FusionInventory project - RMLL / LSM 2012

Agent: Installation

Many ways to do it

I Distribution packagesDebian, Fedora, EPEL, Ubuntu, Mageia, ...

I Windows installerGPO, psexec, ...

I Static prebuilt packages: untar and run62 differents system so far

I Tarball and CPAN

Page 21: The FusionInventory project - RMLL / LSM 2012

Agent: Installation

There’s also an Android agentavailable on Google Play.

Page 22: The FusionInventory project - RMLL / LSM 2012

Supported operating systems

I LinuxI WindowsI MacOSXI BSDI illumosI AIXI HP-UXI SolarisI Android

Page 23: The FusionInventory project - RMLL / LSM 2012

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

Page 24: The FusionInventory project - RMLL / LSM 2012

Network discovery

Quickly detect and collect all connected devices

I nmapI NetBIOSI SNMP queries

Page 25: The FusionInventory project - RMLL / LSM 2012

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

Page 26: The FusionInventory project - RMLL / LSM 2012

... INTERLUDE ...

Page 27: The FusionInventory project - RMLL / LSM 2012

SNMP

SNMP origin

I A standardFirst RFC in 1988

I Designed to monitor equipmentsI 3 versions 1, 2c, 3 (Cyphering)I OID: Information locationI MIB: A collection of OIDs

Page 28: The FusionInventory project - RMLL / LSM 2012

SNMP: what for in FusionInventory?

How do we use SNMP?

I Identify remote devices (network equipments,printers, ...)

I Perform a remote inventoryI Get the most important informations

Page 29: The FusionInventory project - RMLL / LSM 2012

SNMP: a nightmare

“Please support my hardware, here is the MIB!”

I Might be hard to findI Often no free or not redistributableI Important informations might be missingI But worth, they may be wrong !

Page 30: The FusionInventory project - RMLL / LSM 2012

SNMP: a nightmare

“Please support my hardware, here is the MIB!”

I Might be hard to findI Often no free or not redistributableI Important informations might be missingI But worth, they may be wrong !

Page 31: The FusionInventory project - RMLL / LSM 2012

SNMP: an example

Example: 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?!

Page 32: The FusionInventory project - RMLL / LSM 2012

SNMP: outch

Page 33: The FusionInventory project - RMLL / LSM 2012

SNMP: how to be reliable ?

We prepared our own “MIB”

I Manual work for each equipmentI stored in an XML fileI Defines relations between an OID and an information

ex: serial number→ OID 1.2.4.34.53...I Supports dynamics OIDs

Page 34: The FusionInventory project - RMLL / LSM 2012

SNMP: how to be reliable ?

A centralized database

I We’re implementing a centralized databaseI In Beta stageI You create and account and upload snmpwalksI The tool helps you to make the modelI It’ll be available in the next release!

Page 35: The FusionInventory project - RMLL / LSM 2012

... END OF INTERLUDE ...

Page 36: The FusionInventory project - RMLL / LSM 2012

SNMP: network equipments (1/3)

Common informations

I Serial numberI SupplierI ModelI Firmware versionI MAC addressI CPU load / RAMI etc

Page 37: The FusionInventory project - RMLL / LSM 2012

SNMP: network equipments (2/3)

Advanced support

I Number of portsI SpeedI Internal statusI Errors countersI VLANI Trunk (tagged)I ...

Page 38: The FusionInventory project - RMLL / LSM 2012

SNMP: network equipments (3/3)

Port to port connections

I MAC addressone to many

I LLDP / CDP discoveryPOIP informations, etc

Page 39: The FusionInventory project - RMLL / LSM 2012

SNMP: a network equipment example

Page 40: The FusionInventory project - RMLL / LSM 2012

SNMP: Printers (1/2)

General information

I Serial numberI SupplierI ModelI FirmwareI MemoryI MAC AddressI etc

Page 41: The FusionInventory project - RMLL / LSM 2012

SNMP: Printers (2/2)

Advanced informations

I Cartridges stateI Pages counters

Page 42: The FusionInventory project - RMLL / LSM 2012

SNMP: a printer example

Page 43: The FusionInventory project - RMLL / LSM 2012

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

Page 44: The FusionInventory project - RMLL / LSM 2012

Wake On Lan

WoL

I Agent can be used as a proxy to send WoL packets.

Page 45: The FusionInventory project - RMLL / LSM 2012

Wake On Lan: Example

Example

I A remote networkI 50 computers

What FusionInventory can do

I Wake up all computers at 2 am for updates.

Page 46: The FusionInventory project - RMLL / LSM 2012

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

Page 47: The FusionInventory project - RMLL / LSM 2012

Software deployment (1/2)

What can be done

I Perform actions on the target computerI Send filesI Consume less bandwith thanks to peer to peer

Attention: FI is not a configuration management tool !

Page 48: The FusionInventory project - RMLL / LSM 2012

Software deployment (2/2)

Why a new software deployment solution ?

I Use existing GLPI UII Use GLPI habilitations (groups/profils/entities)I Multi-platform

Page 49: The FusionInventory project - RMLL / LSM 2012

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

Page 50: The FusionInventory project - RMLL / LSM 2012

vCenter / ESX / ESXi

The problem

Black boxes: no way to install an agent on the host...

Page 51: The FusionInventory project - RMLL / LSM 2012

vCenter / ESX / ESXi

The solutionThe agent can use SOAP API to:

I inventorize hardwareI list virtual machines per hostI inventorize each ESX box (in case of a vCenter)

Page 52: The FusionInventory project - RMLL / LSM 2012

vCenter / ESX / ESXi: the command line tool

fus ioninventory−esx −−host vcenter −−user foo \−−password bar −−directory /tmp

Send inventories to the server :

fus ioninventory−i n jecto r −v −− f i l e /tmp/∗ . ocs \−u https : / / server / plugins / fus ioninventory /

Page 53: The FusionInventory project - RMLL / LSM 2012

vCenter / ESX / ESXi: GLPI UI

An interface in GLPI

I Define credentialsI Define vCenter/ESX/ESXi

addressI Plan inventories

Page 54: The FusionInventory project - RMLL / LSM 2012

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

Page 55: The FusionInventory project - RMLL / LSM 2012

Informations gathered (1/3)

I BIOSI PCI modulesI memory slotsI CPUsI hard drivers, drives, etcI motherboardI operating systemI screensI portsI slotsI partitionsI software

Page 56: The FusionInventory project - RMLL / LSM 2012

Informations gathered (2/3)

I connected usersI video cardsI virtual machinesI soundcardsI modemsI environment variablesI USB devicesI network configurationsI batteriesI printersI processesI antivirusI LVM

Page 57: The FusionInventory project - RMLL / LSM 2012

Informations gathered (3/3)

Android: Simcard, IMEI , etc

Page 58: The FusionInventory project - RMLL / LSM 2012

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

Page 59: The FusionInventory project - RMLL / LSM 2012

Some statistics

Today

I 194 Perl modulesI 21851 lines of codeI 938 unit tests

Page 60: The FusionInventory project - RMLL / LSM 2012

Unit tests

What for?

I test parsing for OSes that we don’t haveI check Win32 code from another OS

from WMI to registryI check sensitive things

unicode, HTTPS, etc

Page 61: The FusionInventory project - RMLL / LSM 2012

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

Page 62: The FusionInventory project - RMLL / LSM 2012

What FusionInventory can bring to you

Several scenarios

I Use inventory in your own applicationI Extend inventory with your own modulesI Interface with GLPI or other

Uranos, soon OTRS, etcI Create new tasks

Page 63: The FusionInventory project - RMLL / LSM 2012

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

Page 64: The FusionInventory project - RMLL / LSM 2012

What else?

Page 65: The FusionInventory project - RMLL / LSM 2012

Our roadmap

Next steps:I FusionInventory Agent 2.3.xI Tool to edit SNMP XML modelsI NUT integration

Transition in progress:I OCS/XML→ REST/JSON planned for agent 3.0.0

already used by OTRS

Page 66: The FusionInventory project - RMLL / LSM 2012

Our roadmap

Next steps:I FusionInventory Agent 2.3.xI Tool to edit SNMP XML modelsI NUT integration

Transition in progress:I OCS/XML→ REST/JSON planned for agent 3.0.0

already used by OTRS

Page 67: The FusionInventory project - RMLL / LSM 2012

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

Page 68: The FusionInventory project - RMLL / LSM 2012

Real use experience

Why use FusionInventory and GLPI (1/2):I 2 schools were merged and had grown: 400 each→

1000 students todayI IT departments merged and quickly grownI 2008: Regular financial audit - including IT assets.

We had to get a an inventory without tons of man-hours:QUICKLY.

Page 69: The FusionInventory project - RMLL / LSM 2012

Real use experience

Why use FusionInventory and GLPI (2/2):I Proprietary solution highly cost intensive - while

restricted in featuresI Experience with superiors: If it’s OSS, it has to workI OCS was able to get all our computers’ dataI GLPI had the nice UI + held all other asset data

Page 70: The FusionInventory project - RMLL / LSM 2012

Real use experience

OCSinventory-ng side:I OCS lagged behind with Windows compatibility,

regular GLPI sync problemsWhy FusionInventory:

I Client: Agent easier to deploy 3 platformsI Server: PHP + Perl→ PHPI Deployment: 1 internal git tree of GLPI + pluginsI IT staff: 2 UIs→ 1 UI

Page 71: The FusionInventory project - RMLL / LSM 2012

Real use experience

OCS Agent: the dull duck - sorry guys...I OCS lagged behind with Windows compatibility,

regular sync problemsWhy FusionInventory:

I Client: Agent easier to deploy 3 platformsI Server: PHP + Perl→ PHPI Deployment: 1 internal git tree of GLPI + pluginsI IT staff: 2 UIs→ 1 UI

Page 72: The FusionInventory project - RMLL / LSM 2012

The good, the bad ...

There are also downsides - nothing is perfect:I Documentation mostly fr-FR focusedI l10n: de-DE had quite some ”frenchisms”I FI for GLPI lags behind major GLPI releasesI Ticket notifications require lots of local tuning (yet)

... no: There is no true ugly thing I found

Page 73: The FusionInventory project - RMLL / LSM 2012

Finally

I GLPI + FI automated lots of taks no sysadmin wants todo manually with +300 computers

I We still use a fraction of GLPI’s features, but growing(Cert management!)

I Auditability→ Made superiors happyI OSS proved to work: Swiss-german education -

normally not that easyI Got in touch with nice communityI Have to polish my french regularly ;-)

Page 74: The FusionInventory project - RMLL / LSM 2012

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

Page 75: The FusionInventory project - RMLL / LSM 2012

Questions?

Question?

Page 76: The FusionInventory project - RMLL / LSM 2012

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/