FusionInventory. Guillaume Rousse <guillomovitch@gmail.com> Journées francophones de Perl 2011



Documents pareils
FusionInventory. Journées Perl. Gonéri Le Bouder Juin Strasbourg

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

FusionInventory. I-Détails et explication de l installation de l agent FusionInventory

SIO-SISR : Projet GSB. LOT 1 : Evaluation d un logiciel d inventaire et de gestion de parc. BTS Services Informatiques aux Organisations 1 ère année

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Installation des outils OCS et GLPI

Présentation, mise en place, et administration d'ocs Inventory et de GLPI

Retour d'expérience avec : OCS Inventory & GLP

ClariLog - Asset View Suite

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

SCHMITT Année 2012/2014 Cédric BTS SIO TP SPICEWORKS. SpiceWorks propose un logiciel de gestion de parc informatique aux multiples facettes :

Supervision système et réseau avec Zabbix. Anne Facq Centre de Recherche Paul Pascal 17 avril 2008

L'automatisation open source pour SI complexes

TP 7, 8 & 9 : Installation et Gestion de GLPI et Télédéploiement SISR 1 HUBERT JULIEN LABBE RICHARD DAY MICKAEL DOGNY CHRISTOPHE

Zabbix. Solution de supervision libre. par ALIXEN

JOSY VIRTUALISATION 9 ET 10 JUIN 2011 POSTE DE TRAVAIL ET VIRTUALISATION. Sébastien Geiger IPHC

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Lowinski Marc Mansour Chiguer Dominique N'Diaye SI7. OBJECTIF MISSION 3 : Trouver 2 ou 3 outils gratuits Définir les fonctionnalités de ces outils.

MRTG & RRD Tool. Multi Router Traffic Grapher

Tivoli Endpoint Manager Introduction IBM Corporation

IBM Tivoli Compliance Insight Manager

ACQUISITION. Traitement de l image. Classement. Préparation. Ouverture. Performance

Table des matières Hakim Benameurlaine 1

Supervision de réseau

Nouvelles Plateformes Technologiques

GLPI et FusionInventory. Le retour d'expérience de 2 universités

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

PRO CED U RE D I N STALLATI O N

Note de Synthèse. Système de Gestion de Parc Informatique. Brevet de Technicien Supérieur

LYCEE DE BRAS PANON MAPA MAI 2015

DenyAll Detect. Documentation technique 27/07/2015

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Etudiant Ella Fitzgerald

Programmation Mobile Android Master CCI

Système de Gestion de Ressources

Avantages. Protection des réseaux corporatifs de gestion centralisée

Journée Josy/PLUME. Outils logiciels libres utiles à tout ASR SAMBA. Maurice Libes. Centre d'océanologie de Marseille UMS 2196 CNRS

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

User Documentation. Documentation utilisateur. version 0.2b

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Ce guide détaille pas à pas les étapes d installation et de configuration de la solution jusqu'à la sauvegarde des BDD.

Journée Josy/PLUME. Outils logiciels libres utiles à tout ASR CUPS. Maurice Libes. Centre d'océanologie de Marseille UMS 2196 CNRS

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Table des matières Chapitre 1 Virtualisation, enjeux et concepts Chapitre 2 Ligne de produit XEN

Système global d Output Management

Installation et configuration d OCS/GLPI sur un Serveur Debian

Compte rendu d'activité PTI n 2

TABLE DES MATIERES 1 INTRODUCTION OBJECTIF SOLUTION ETUDE COMPARATIVE GESTIÒIP PHPIPAM TEEMIP...

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

Automatisation de l administration système avec

Comment optimiser votre. utilisation de POM? 23 avril 2015

Configurer OCS Inventory NG comme outil d inventaire

Sauvegarde de postes clients avec BackupPC

Journée CUME 29 Mars Le déport d affichage. Vincent Gil-Luna Roland Mergoil.

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Rationalisation et évolution des assets, licences et contrats informatiques. Philippe ASTIER Software Technical Professionals

TechSoftware Présentations

OmniVista 2700 Application complémentaires pour l OmniVista 2500 Network Management

A. Présentation. LanScanner2006

Cours Bases de données

NACIRI Mehdi. Rapport de stage : Mise en place d un moyen pour anticiper les pannes des serveurs de l IUT. Promotion BTS SIO Option SISR

Famille IBM WebSphere Application Server

Logiciel de Gestion Electronique de Dossiers

sshgate Patrick Guiran Chef de projet support

OCS Inventory & GLPI V.2

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Release Notes POM v5

Exonet : sauvegarde automatisée d une base de données

PaperCut MF. une parfaite maîtrise de vos impressions, copies et scans.

CESI Bases de données

Utilisation de GLPI. 1.Page d'accueil. Introduction

Catalogue des formations Edition 2015

Adopter une approche unifiée en matière d`accès aux applications

Tendances Techniques et compétences des laboratoires

équipement radio Procédure

FOG : Free Open-Source Ghost. Solution libre de clonage et de déploiement de systèmes d'exploitation.

Joomla! Création et administration d'un site web - Version numérique

Programmation C. Apprendre à développer des programmes simples dans le langage C

PPE GESTION PARC INFORMATIQUE

GEDEXPERT. La Gestion Electronique de Documents spécialement conçue pour les Experts Comptables VOTRE NOUVEL ASSISTANT POUR

La gestion du poste de travail en 2011 : Panorama des technologies

Portails d'entreprise sous GNU/Linux

Retour d expérience sur Prelude

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

GESTION D INFRASTRUCTURE AVEC PUPPET

Sauvegarde des données au LAAS

IBM Content Manager OnDemand V 7.1

Guide d installation de SugarCRM Open Source version 4.5.1

Le poste virtualisé. Vers la simplification du poste de travail. Stéphane Pichevin Responsable poste de travail virtualisé Sun Microsystems

PRÉSENTATION PRODUITS DE LA GAMME SOLARWINDS + NETWORK CONFIGURATION MANAGEMENT

P.R.C - FACTURATION ARCHIVAGE

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Transcription:

<guillomovitch@gmail.com> Journées francophones de Perl 2011

Sommaire 1 Solutions de gestion de parc informatique 2 Caractéristiques Capacités 3

Avancement 1 Solutions de gestion de parc informatique 2 Caractéristiques Capacités 3

GLPI Solutions de gestion de parc informatique Application web de gestion de parc inventaire helpdesk Détails application PHP modulaire

GLPI Solutions de gestion de parc informatique Application web de gestion de parc inventaire helpdesk Détails application PHP modulaire

OCS-NG Solution autonome de gestion de parc inventaire déploiement logiciel Détails Coté serveur : interface agent Perl interface utilisateur PHP Coté agent : agent Windows C agent Unix Perl

OCS-NG Solution autonome de gestion de parc inventaire déploiement logiciel Détails Coté serveur : interface agent Perl interface utilisateur PHP Coté agent : agent Windows C agent Unix Perl

Tracker Inventaire automatisé pour GLPI de matériels sans agent découverte matériel interrogation distante Détails plugin GLPI PHP agent Perl

Tracker Inventaire automatisé pour GLPI de matériels sans agent découverte matériel interrogation distante Détails plugin GLPI PHP agent Perl

Avant-hier

Agent multifonction pour GLPI fusion de l agent OCS Unix et de l agent tracker modulaire Détails plugin GLPI PHP agent Perl multi-plateformes

Agent multifonction pour GLPI fusion de l agent OCS Unix et de l agent tracker modulaire Détails plugin GLPI PHP agent Perl multi-plateformes

Hier Solutions de gestion de parc informatique

Évolution du plugin GLPI Branches 2.2.x compatibilité GLPI 0.72.x 2.3.x compatibilité GLPI 0.78.x, gestion des inventaires 2.4.x (en beta) compatibilité GLPI 0.80.x

Capture d écran du plugin GLPI

Aujourd hui

Avancement Solutions de gestion de parc informatique Caractéristiques Capacités 1 Solutions de gestion de parc informatique 2 Caractéristiques Capacités 3

Avancement Solutions de gestion de parc informatique Caractéristiques Capacités 1 Solutions de gestion de parc informatique 2 Caractéristiques Capacités 3

Modularité Solutions de gestion de parc informatique Caractéristiques Capacités Composants moteur taches Taches inventaire local wake on lan découverte réseau inventaire distant déploiement logiciel

Modularité Solutions de gestion de parc informatique Caractéristiques Capacités Composants moteur taches Taches inventaire local wake on lan découverte réseau inventaire distant déploiement logiciel

Versatilité Solutions de gestion de parc informatique Caractéristiques Capacités Mode d exécution processus temporaire processus résidant (daemon Unix, service Windows) Mode de collecte du résultat stockage local envoi au serveur

Versatilité Solutions de gestion de parc informatique Caractéristiques Capacités Mode d exécution processus temporaire processus résidant (daemon Unix, service Windows) Mode de collecte du résultat stockage local envoi au serveur

Portabilité Solutions de gestion de parc informatique Caractéristiques Capacités Cible des résultats distribution exécution Exécution Windows Linux MacOS BSD Distribution sources paquetages Solaris HPUX AIX installeur interactif archive autonome

Portabilité Solutions de gestion de parc informatique Caractéristiques Capacités Cible des résultats distribution exécution Exécution Windows Linux MacOS BSD Distribution sources paquetages Solaris HPUX AIX installeur interactif archive autonome

Portabilité Solutions de gestion de parc informatique Caractéristiques Capacités Cible des résultats distribution exécution Exécution Windows Linux MacOS BSD Distribution sources paquetages Solaris HPUX AIX installeur interactif archive autonome

Interopérabilité Solutions de gestion de parc informatique Caractéristiques Capacités Serveur OCS compatibilité : version serveur 1.x fonctionalités : inventaire local déploiement logiciel Serveur GLPI version serveur 0.72 : découverte réseau inventaire distant version serveur 0.78 : fonctionalités complètes

Interopérabilité Solutions de gestion de parc informatique Caractéristiques Capacités Serveur OCS compatibilité : version serveur 1.x fonctionalités : inventaire local déploiement logiciel Serveur GLPI version serveur 0.72 : découverte réseau inventaire distant version serveur 0.78 : fonctionalités complètes

Avancement Solutions de gestion de parc informatique Caractéristiques Capacités 1 Solutions de gestion de parc informatique 2 Caractéristiques Capacités 3

Inventaire local Solutions de gestion de parc informatique Caractéristiques Capacités Composants matériels CPU, mémoire, etc... bus USB, PCI, SCSI périphériques connectés Composants logiciels système d exploitation liste de paquetages Configuration paramètre réseau paramètre affichage variables d environnement

Inventaire local Solutions de gestion de parc informatique Caractéristiques Capacités Composants matériels CPU, mémoire, etc... bus USB, PCI, SCSI périphériques connectés Composants logiciels système d exploitation liste de paquetages Configuration paramètre réseau paramètre affichage variables d environnement

Inventaire local Solutions de gestion de parc informatique Caractéristiques Capacités Composants matériels CPU, mémoire, etc... bus USB, PCI, SCSI périphériques connectés Composants logiciels système d exploitation liste de paquetages Configuration paramètre réseau paramètre affichage variables d environnement

Découverte réseau Caractéristiques Capacités Principe balayage d une plage réseau identification des éléments trouvés Balayage nmap NetBIOS SNMP Identification SNMP attribution d un modèle descriptif

Découverte réseau Caractéristiques Capacités Principe balayage d une plage réseau identification des éléments trouvés Balayage nmap NetBIOS SNMP Identification SNMP attribution d un modèle descriptif

Découverte réseau Caractéristiques Capacités Principe balayage d une plage réseau identification des éléments trouvés Balayage nmap NetBIOS SNMP Identification SNMP attribution d un modèle descriptif

Inventaire distant Caractéristiques Capacités Principe SNMP utilisation d un modèle descriptif Matériel réseau ports utilisés équipements branchés Imprimantes compteurs d impression niveaux d encre

Inventaire distant Caractéristiques Capacités Principe SNMP utilisation d un modèle descriptif Matériel réseau ports utilisés équipements branchés Imprimantes compteurs d impression niveaux d encre

Inventaire distant Caractéristiques Capacités Principe SNMP utilisation d un modèle descriptif Matériel réseau ports utilisés équipements branchés Imprimantes compteurs d impression niveaux d encre

Déploiement logiciel Caractéristiques Capacités Principe téléchargement d une charge utile exécution Intérêt téléchargement pair à pair exécution immédiate utilisation des critères de sélection de GLPI

Déploiement logiciel Caractéristiques Capacités Principe téléchargement d une charge utile exécution Intérêt téléchargement pair à pair exécution immédiate utilisation des critères de sélection de GLPI

Avancement Solutions de gestion de parc informatique Caractéristiques Capacités 1 Solutions de gestion de parc informatique 2 Caractéristiques Capacités 3

Versions Solutions de gestion de parc informatique Caractéristiques Capacités Branches 2.0.x version initiale 2.1.x branche stable ajout du support Windows, nettoyage syntaxique 2.2.x branche développement nettoyage architecture, maintien de la compatibilité OCS 3.x branche expérimentale changement architecture, abandon de la compatibilité OCS Version stable 2.1.9

Avancement Solutions de gestion de parc informatique 1 Solutions de gestion de parc informatique 2 Caractéristiques Capacités 3

Avancement Solutions de gestion de parc informatique 1 Solutions de gestion de parc informatique 2 Caractéristiques Capacités 3

Support syslog Solutions de gestion de parc informatique ::LoggerBackend::Syslog setlogsock ( unix ) ; openlog ( " f u s i o n i n v e n t o r y agent ", cons, pid, $ENV{ USER } ) ; syslog ( debug, syslog backend enabled ) ; c l oselog ( ) ;

Extraction des logiciels installés sous HPUX ::Agent::Task::Inventory::OS::HPUX::Software @softlist = s w l i s t grep v ^ PH grep v ^# t r s " \ t " " " t r s " "

Export de fonctions ::Agent::Task::Inventory my $backendsharedfuncs = { can_run => sub {... }, } ; foreach my $package ( @packages ) { foreach my $func ( keys %{$backendsharedfuncs } ) { $package >{$func } = $backendsharedfuncs >{$func } ; } }

Grand chantier Solutions de gestion de parc informatique Nettoyage du code syntaxe structuration architecture Amélioration des performances mémoisation indexation Amélioration fonctionnelles interface REST remplacement de XML par JSON modèle conceptuel homogène

Grand chantier Solutions de gestion de parc informatique Nettoyage du code syntaxe structuration architecture Amélioration des performances mémoisation indexation Amélioration fonctionnelles interface REST remplacement de XML par JSON modèle conceptuel homogène

Grand chantier Solutions de gestion de parc informatique Nettoyage du code syntaxe structuration architecture Amélioration des performances mémoisation indexation Amélioration fonctionnelles interface REST remplacement de XML par JSON modèle conceptuel homogène

Avancement Solutions de gestion de parc informatique 1 Solutions de gestion de parc informatique 2 Caractéristiques Capacités 3

Suite de tests Solutions de gestion de parc informatique État actuel 1330 tests, 76 fichiers couverture très hétérogène Problèmes tester des interactions client-serveur tester l analyse du résultat d une commande tester la réponse à un environnement

Suite de tests Solutions de gestion de parc informatique État actuel 1330 tests, 76 fichiers couverture très hétérogène Problèmes tester des interactions client-serveur tester l analyse du résultat d une commande tester la réponse à un environnement

Tester des interactions client-serveur Serveur de test Test::Apache2 :( Net::Server::HTTP :( HTTP::Server::Simple :) Fonctionnalité additionelles HTTP::Server::Simple::Authen IO::Socket::SSL HTTP::Proxy Utilisation de véritable serveur serveur public ou privé test obligatoire ou conditionel

Tester des interactions client-serveur Serveur de test Test::Apache2 :( Net::Server::HTTP :( HTTP::Server::Simple :) Fonctionnalité additionelles HTTP::Server::Simple::Authen IO::Socket::SSL HTTP::Proxy Utilisation de véritable serveur serveur public ou privé test obligatoire ou conditionel

Tester des interactions client-serveur Serveur de test Test::Apache2 :( Net::Server::HTTP :( HTTP::Server::Simple :) Fonctionnalité additionelles HTTP::Server::Simple::Authen IO::Socket::SSL HTTP::Proxy Utilisation de véritable serveur serveur public ou privé test obligatoire ou conditionel

Tester l analyse du résultat d une commande Objectif tester le code qui analyse le résultat d une commande Code initial my @output = command ; foreach my $line ( @output ) { i f ( $ l i n e =~ / ^ foo : (. ) / ) { $inventory >additem ( $1 ) ; } }

Tester l analyse du résultat d une commande Objectif tester le code qui analyse le résultat d une commande Code initial my @output = command ; foreach my $line ( @output ) { i f ( $ l i n e =~ / ^ foo : (. ) / ) { $inventory >additem ( $1 ) ; } }

Adapter le code au test Code intermédiaire $inventory >additems ( $_ ) foreach getitems ( ) ; sub getitems { my @output = command ; my @items ; foreach my $line ( @output ) { push @items, $1 i f $ l i n e =~ / ^ foo : (. ) / ; } return @items } Code final $inventory >additems ( $_ ) foreach getitems (command => command ) ; sub getitems { my $handle = getfilehandle (@_) ; while (my $line = <$handle >) { push @items, $1 i f $ l i n e =~ / ^ foo : (. ) / ; } close $handle ; return @items ; }

Adapter le code au test Code intermédiaire $inventory >additems ( $_ ) foreach getitems ( ) ; sub getitems { my @output = command ; my @items ; foreach my $line ( @output ) { push @items, $1 i f $ l i n e =~ / ^ foo : (. ) / ; } return @items } Code final $inventory >additems ( $_ ) foreach getitems (command => command ) ; sub getitems { my $handle = getfilehandle (@_) ; while (my $line = <$handle >) { push @items, $1 i f $ l i n e =~ / ^ foo : (. ) / ; } close $handle ; return @items ; }

Utiliser une couche d abstraction getfilehandle sub getfilehandle { my %params = @_; my $handle ; SWITCH: { i f ( $params { f i l e } ) { i f (! open $handle, <, $params { f i l e } ) { $params { logger} > e r r o r ( "Can t open f i l e $params { f i l e } : $ERRNO" ) ; return ; } l a s t SWITCH; } i f ( $params {command } ) { i f (! open $handle,, $params {command}. " 2 >/dev / n u l l " ) { $params { logger} >error ( "Can t run command $params {command } : $ERRNO" ) ; return ; } l a s t SWITCH; } die " neither command nor f i l e parameter given " ; } } return $handle ;

Problème de disponibilité du résultat Commandes et fichiers exotiques lsvpd sur AIX machinfo sur HPUX /proc/cpuinfo sur Linux Alpha Campagnes de collecte d échantillons répertoire resources besoin d organisation (tri, tracabilité,...) Problème sous Windows base de registre WMI

Problème de disponibilité du résultat Commandes et fichiers exotiques lsvpd sur AIX machinfo sur HPUX /proc/cpuinfo sur Linux Alpha Campagnes de collecte d échantillons répertoire resources besoin d organisation (tri, tracabilité,...) Problème sous Windows base de registre WMI

Problème de disponibilité du résultat Commandes et fichiers exotiques lsvpd sur AIX machinfo sur HPUX /proc/cpuinfo sur Linux Alpha Campagnes de collecte d échantillons répertoire resources besoin d organisation (tri, tracabilité,...) Problème sous Windows base de registre WMI

Tester la réponse à un environnement Objectif tester le code qui sélectionne la commande à utiliser Code initial my @packages = x / bin / rpm? getrpmpackageslist (command => rpm qa ) : x / bin / dpkg? getdpkgpackageslist (command => dpkg l ) : x / bin / equery? getequerypackageslist (command => equery l i s t i ) : ( ) ; }

Tester la réponse à un environnement Objectif tester le code qui sélectionne la commande à utiliser Code initial my @packages = x / bin / rpm? getrpmpackageslist (command => rpm qa ) : x / bin / dpkg? getdpkgpackageslist (command => dpkg l ) : x / bin / equery? getequerypackageslist (command => equery l i s t i ) : ( ) ; }

Adapter son code Code final my @packages = canrun ( / bin / rpm )? getrpmpackageslist (command => rpm qa ) : canrun ( / bin / dpkg )? getdpkgpackageslist (command => dpkg l ) : canrun ( / bin / equery )? getequerypackageslist (command => equery l i s t i ) : ( ) ; }

Utiliser une couche d abstraction canrun sub canrun { my ( $wanted ) = @_; } return x $wanted ;

Redéfinir des fonctions mockgetrun sub mockcanrun { my (%params ) = @_; my $new = sub { my $wanted = $_ [ 0 ] ; return $params {commands} >{$wanted } ; } ; } no warnings redefine ; : : Agent : : Tools : : canrun = $new ;

Redéfinir des fonctions mockgetfilehandle sub mockgetfilehandle { my (%params ) = @_; my $old = \& : : Agent : : Tools : : getfilehandle ; my $new = sub { my (%options ) = @_; my $ f i l e = $params {commands} >{$wanted } ; } ; i f ( $ f i l e ) { p r i n t STDERR " f i l e $ f i l e d e l i v e r e d \ n " ; return $old >(@_, f i l e => $ f i l e ) ; } else { p r i n t STDERR " nothing delivered \ n " ; return ; } } no warnings redefine ; : : Agent : : Tools : : getfilehandle = $new ;

Simuler un environnement Code package : : Test : : MockSystem : : Debian ; use : : Test : : MockSystem ; mocksystem ( commands => { dpkg => resources / packaging / dpkg }, f i l e s => { / etc / debian_version => resources / release / debian } ) ; Utilisation $> perl -M::Test::MockSystem::Debian fusioninventory

Simuler un environnement Code package : : Test : : MockSystem : : Debian ; use : : Test : : MockSystem ; mocksystem ( commands => { dpkg => resources / packaging / dpkg }, f i l e s => { / etc / debian_version => resources / release / debian } ) ; Utilisation $> perl -M::Test::MockSystem::Debian fusioninventory