fusioninventory at lsm/rmll 2012

Post on 18-Jan-2015

20.710 Views

Category:

Technology

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentation at Libre So

TRANSCRIPT

The FusionInventory projectRMLL / LSM 2012

Walid Nouh - Mathieu Simon

Geneve

Juillet 2012

About us

Walid Nouh

I FusionInventory contributorI GLPI contributorI Working for TECLIB’, Montpellier

About us

Mathieu Simon

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

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

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

The project

FusionInventory is a community driven project

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

Contributors

I 4 active developersI An active communityI 2 companies involved

We’re looking for more contributors !

Contributors

I 4 active developersI An active communityI 2 companies involved

We’re looking for more contributors !

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

pull / push

FusionInventory enables ”push” or ”pull” mode

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

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

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).

In contact with developers of

I FusionDirectoryI OTRS ITSM (work already in progress)

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

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

GLPI: about (1/4)

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

GLPI: inventory (2/4)

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

GLPI: Service Desk (3/4)

I ITIL compatible ServicedeskI Incident managementI Problem managementI Statistics

GLPI (4/4)

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

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

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

Agent: Installation

There’s also an Android agentavailable on Google Play.

Supported operating systems

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

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

Network discovery

Quickly detect and collect all connected devices

I nmapI NetBIOSI SNMP queries

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

... INTERLUDE ...

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

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

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 !

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 !

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

SNMP: outch

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

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!

... END OF INTERLUDE ...

SNMP: network equipments (1/3)

Common informations

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

SNMP: network equipments (2/3)

Advanced support

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

SNMP: network equipments (3/3)

Port to port connections

I MAC addressone to many

I LLDP / CDP discoveryPOIP informations, etc

SNMP: a network equipment example

SNMP: Printers (1/2)

General information

I Serial numberI SupplierI ModelI FirmwareI MemoryI MAC AddressI etc

SNMP: Printers (2/2)

Advanced informations

I Cartridges stateI Pages counters

SNMP: a printer example

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

Wake On Lan

WoL

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

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.

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

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 !

Software deployment (2/2)

Why a new software deployment solution ?

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

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

vCenter / ESX / ESXi

The problem

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

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)

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 /

vCenter / ESX / ESXi: GLPI UI

An interface in GLPI

I Define credentialsI Define vCenter/ESX/ESXi

addressI Plan inventories

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

Informations gathered (1/3)

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

Informations gathered (2/3)

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

Informations gathered (3/3)

Android: Simcard, IMEI , etc

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

Some statistics

Today

I 194 Perl modulesI 21851 lines of codeI 938 unit tests

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

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

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

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

What else?

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

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

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

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.

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

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

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

Finally

I GLPI + FI automated lots of tasks 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 ;-)

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

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/

top related