====== FusionInventory ======
Contributeurs : Valentine OSMONT et Corentin AUBERT 2019
\\ Modifications : Benjamin HOHN (SISR-2020-2021)
[[http://fusioninventory.org/|FusionIventory]] est un outil d'inventaire installé comme //plugin// de l'outil [[glpi|GLPI]].
===== Sur le serveur GLPI =====
==== Installation du plugin pour GLPI ====
Pour que GLPI puisse réaliser l'inventaire des machines, il lui faut un //plugin// comme //Fusioninventory//.
Pour l'installer **sur le serveur GLPI**, la procédure est la suivante :
- se placer dans le dossier // /tmp //
- télécharger l'archive de la dernière version compatible avec la version de GLPI (ici v9.5+3.0, à voir sur [[https://github.com/fusioninventory/fusioninventory-for-glpi/releases]] la version compatible avec l'installation de GLPI) : wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5%2B3.0/fusioninventory-9.5+3.0.tar.bz2
- Décompresser l'archive : tar -xjvf .tar.bz2
- Déplacer le dossier extrait dans **///var/www/html/glpi/plugins//** : mv fusioninventory-agent /var/www/html/glpi/plugins/
- se rendre dans le menu **//GLPI/Configuration/Plugins//** et installer le plugin, puis l'activer
- Un menu permettant de gérer le //plugin// apparaît dans le menu **//Administration/fusionInventory//**
=== Paramétrage du //plugin// ===
➔ Les règles d'import de matériel sont à mettre dans cet ordre dans l'onglet **Plugins / FusionInventory** :
computer import (by name)
computer update(by name)
===== Sur les cibles (serveurs, machines, etc) =====
==== Installation du client Fusion Inventory ====
//Documentation produite par un étudiant SIO2-SISR, adaptée ou mise à jour.//
=== Prérequis ===
FusionInventory-Agent a besoin des librairies suivantes :
apt -y install dmidecode hwdata ucf hdparm
apt -y install perl libuniversal-require-perl libwww-perl libparse-edid-perl
apt -y install libproc-daemon-perl libfile-which-perl libhttp-daemon-perl
apt -y install libxml-treepp-perl libyaml-perl libnet-cups-perl libnet-ip-perl
apt -y install libdigest-sha-perl libsocket-getaddrinfo-perl libtext-template-perl
apt -y install libxml-xpath-perl libyaml-tiny-perl
=== Installation à partir des dépôts ===
* Téléchargement et Installation du logiciel
Normalement, il suffit de lancer apt install fusioninventory-agent
Si cela ne fonctionne pas, on procèdera comme suit.
On adaptera la **////** (stretch, wheezy, trusty, etc).
A ce jour, la dernière distribution supportée est **//jessie//**
wget -O - http://debian.fusioninventory.org/debian/archive.key | apt-key add -
apt-get install lsb-release
echo "deb http://debian.fusioninventory.org/debian/ jessie main" >> /etc/apt/sources.list
apt-get update
apt-get install fusioninventory-agent
Ces commandes permettant d’ajouter le dépôt de //Fusioninventory//, de rafraîchir la liste des paquets disponibles et enfin d’installer l’agent avec ses différents modules.
=== Installation à partir des paquetages ===
On peut installer à partir des paquetages pour être sûr d'avoir la dernière version.
* on récupère le paquetage
cd /tmp
//adapter avec la version en cherchant sur https://github.com/fusioninventory/fusioninventory-agent/releases/
wget https://github.com/fusioninventory/fusioninventory-agent/releases/download/2.5.2/fusioninventory-agent_2.5.2-1_all.deb
* installer le paquetage
dpkg -i fusioninventory-agent_2.5.2-1_all.deb
=== Configuration de l'agent ===
== Modification du fichier de configuration ==
On va ensuite intervenir sur la configuration de l’agent en modifiant le fichier nano /etc/fusioninventory/agent.cfg
Faire attention a l'url, vérifier avant car il n'y a pas forcément "glpi" a mettre.
On indique l’adresse (IP ou FQDN) du serveur GLPI à la ligne //'server =....fusioninventory...'// (:!: en utilisant derrière %%http://…%%. la même syntaxe que pour accéder à l'interface web de GLPI dans le navigateur) :
{{ :agentfusion.png | }}
Puis on dé-commente la commande ‘no-task = deploy’ pour autoriser le déploiement de logiciels.
no-task = deploy
fusioninventory n'étant pas un service mais un programme, il n'est pas nécessaire de le relancer. Les paramètres seront pris en compte à la prochaine exécution.
== Lancer la remontée d'inventaire ==
On lance un inventaire manuellement à l’aide de la commande
fusioninventory-agent
La machine est désormais visible sur l’interface du serveur //GLPI/Fusioninventory//.
=== Installer et configurer l’agent FusionInventory sur Windows ===
* Téléchargement et installation du logiciel
On télécharge la dernière version de l’exécutable, en version 32 ou 64 bits selon la machine.
Une fois celui-ci lancé, on choisit l’installation complète qui inclut tous les composants de //FusionInventory//.
{{ :fusionInstallAgentWin.png |}}
* Deploy : Déploiement de paquets
* ESX : Inventaire des machines virtuelles
* Inventory : Inventaire de la machine
*
NetDiscovery : Découverte des matériels réseau
* NetInventory : Inventaire des matériels réseau
Faire attention a l'url, vérifier avant car il n'y a pas forcément "glpi" a mettre.
➔ On indique ici l’adresse du serveur //GLPI//, avant de cliquer sur “installer” (:!: en utilisant derrière %%http://…%%. la même syntaxe que pour accéder au serveur //GLPI// dans le navigateur)
{{ :fusionConfigAgentWin.png |}}
L'agent //FusionInventory// est désormais installé.
* Lancer la remontée d'inventaire
Pour forcer un inventaire, on ouvre un navigateur sur la page //**localhost:62354**//.
{{ :fusionagentwin.png |}}
➔ Ici, il suffit de cliquer sur **//Force an Inventory//**.
La machine est désormais visible sur l’interface du serveur //GLPI/Fusioninventory//.
===== Script de déploiement et d'installation silencieuse de fusion sur Windows =====
Ce script batch à titre d'exemple permet sous windows de déployer la version définie de l'agent fusion inventory. Il a été testé sur une maquette.
* Dans un premier temps il vérifie la clé de registre pour vérifier la version.
* Si ce n'est pas la bonne version ou si l'agent est absent il installe l'agent en 32 ou 65 bits puis force l'inventaire et désactive l'agent.
* Si il c'est la bonne version, le script vérifie l'ip du server GLPI et si ce n'est pas la bonne adresse il la change.
* Il va ensuite à la fin et force l'inventaire et désactive l'agent.
* Si c'est la bonne adresse il force l'inventaire, ce qui permet de mettre se script en démarrage et de faire remonter la machine à l'ouverture de sessions.
Le script peut être lancé localement en administrateur sur une machine, ce qui est plus rapide qu'installer à la main, en utilisant le Netlogon (absent dans la section) ou en GPO et s'exécute une fois lors de l'ouverture de session.
@echo off
echo detection de la version de Fusion Inventory
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory-Agent" /v DisplayVersion |find "2.4" && goto VerifIP
goto installation
:VerifIP
@echo off
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\FusionInventory-Agent" /v server |find "http://10.14.220.82/glpi/plugins/fusioninventory" && goto fin
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\FusionInventory-Agent" /v server /t reg_sz /d "http://10.14.220.82/glpi/plugins/fusioninventory" /f && goto fin
// Installe l'agent si il n'est pas présent ou remplace totalement l'ancien
:installation
// Vérifie si l'ordinateur est en 32 ou 64 bits et installe l'agent, on peut changer le dossier (et lecteur réseau) de localisation de l'executable et le serveur GLPI
IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto 64b
IF "%PROCESSOR_ARCHITECTURE%"=="x86" goto 32b
:64b
echo Installation de fusion inventory 64 bits version 2.4, ne pas fermer, merci de patienter
C:\Users\Documents\fusion\fusioninventory-agent_windows-x64_2.4.exe /runnow /server="http://10.14.220.82/glpi/plugins/fusioninventory" /debug=1 /acceptlicense /installtasks=full /S
goto fin
:32b
echo Installation de fusion inventory 32 bits version 2.4, merci de patienter
C:\Users\Documents\fusion\fusioninventory-agent_windows-x86_2.4.exe /runnow /server="http://10.14.220.82/glpi/plugins/fusioninventory" /debug=1 /acceptlicense /installtasks=full /S
goto fin
// Force la remontée de l'agent en lançant le fusioninventory-agent.bat
:fin
echo remontee de la machine dans l'inventaire, ne pas fermer, merci de patienter
"C:\Program Files\FusionInventory-Agent\fusioninventory-agent.bat"
NET STOP fusioninventory-agent
// A.TANNER 08/02/18