Merci Asko pour le lien vers cet autre POST qui est très instructif. Mais cela ne répond pas tout à fait à ce que j'ai besoin de savoir. Voici mon questionnement qui est sur le point de vue du mode PULL (Le client exécute l'action):
Lorsqu'on utilise le client FusionInventory-Agent dans un but de simple inventaire du poste de travail en lui-même, il est simple de pousser manuellement une inventaire à jour vers le serveur GLPI (Sous Windows, il suffit d'exécuter le FusionInventory-Agent.BAT et sous Linux d'exécuter la commande "fusioninventory-agent" (si le mode daemon est arrêté) ou encore de passer par l'interface web h-t-t-p//localhost:62354/now.
Lorsqu'on utilise le client FusionInventory-Agent-task-ESX dans un but de faire un inventaire des hôtes VMware ESX/ESXi (toujours en mode PULL), c'est un peu le même principe mais avec une nécessite de créer son propre script pour ajouter les informations ESX et ensuite faire une commande d'injection dans GLPI.
REM Exécute un inventaire ESX et le résultat est dépose dans le dossier C:\Scripts\fi-esx\
call "C:\Program Files\FusionInventory-Agent\fusioninventory-esx.bat" --host nom_hote_esx --user UserESX --password PwdESX --directory "c:/scripts/fi-esx"
REM Injecte le contenu retrouvée dans C:\Scripts\fi-esx dans le serveur GLPI, puis purge le dossier C:\Scripts\fi-esx
call "C:\Program Files\FusionInventory-Agent\fusioninventory-injector" -v --directory "c:/Scripts/fi-esx" -u h-t-t-p//glpiserver/plugins/fusioninventory/ --remove
Et voilà où je me questionne, comment peut-on faire une découverte réseau par un poste de travail dédié pour faire une découverte réseau (NetDiscovery) en mode PULL pour qu'ensuite le tout soit envoyé au serveur GLPI ?
J'ai regardé les options disponibles et il ne semble pas possible de faire la découverte réseau et de l'enregistrer dans un fichier local pour ensuite l'envoyer avec une injection au serveur GLPI. Comme on le fait avec une tâche ESX.
Usage:
fusioninventory-netdiscovery [options] --first <start> --last <stop>
Options:
--first address IP range first address
--last address IP range last address
--credential SNMP credential (default: version:1,community:public)
--entity GLPI entity
--threads nb number of discovery threads (default: 1)
--timeout val SNMP timeout (default: 1s)
--control output control messages
--debug debug output (execution traces)
-h --help print this message and exit
--version print the task version and exit
Par contre, je peux voir qu'il existe un paramètre --entity (GLPI entity)... mais j'ai cherché partout et étrangement ce paramètre n'est pas documenté. Est-ce que celui-ci permet de pousser directement le résultat dans le serveur GLPI ? Si oui, comment la valeur doit être formulée ? Et dans un contexte d'utilisation en mode hors ligne comment puis-je générer le résultat dans un fichier pour ensuite l'injecter dans GLPI ?
Finalement, j'ai un peu le même problème de compréhension avec l'agent de découverte SNMP (NetInventory). Les paramètres disponibles sont très limités pour exécuter une tâche combinée avec la découverte réseau (NetDiscovery) en mode PULL.
Usage:
fusioninventory-netinventory [options] [--host <host>|--file <file>]
Options:
--host host host to inventorize (use multiple time to inventorize more hosts)
--file snmpwalk output file
--community community string (default: public)
--credentials SNMP credentials
--timeout val SNMP timeout (default: 15s)
--threads nb number of invenroty threads (default: 1)
--control output control messages
--debug debug output (execution traces)
-h --help print this message and exit
--version print the task version and exit
Ces paramètres exigent de spécifier chaque équipement (un à un) sur lesquels je veux faire une découverte SNMP. Il n'est pas possible de spécifier l'utilisation, par exemple d'un fichier XML/OCS sur des tags (Ex.: hostname et/ou IP), qui viendrait tout juste d'être généré par une découverte réseau (NetDiscovery) pour que le SNMP génère à son tour un résultat également en format XML/OCS qui pourrait être injecté au serveur GLPI ?
Le tout est dans le but de faire des inventaires d'un réseau qui compte plus de 50000 équipements, dont certains segments réseaux sont isolés (impossible d'être en contact direct avec le serveur GLPI)