You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2019-02-28 17:30:20

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Faire un inventaire SNMP immédiat en UNE ligne de commande avec Fusion

Hello,

Si votre serveur GLPI est sur une machine linux, vous pouvez forcer un inventaire SNMP avec une commande.

Pour ça, les prérequis sont :
L'agent FusionInventory doit être installé.
Le module NetInventory doit être installé.

Le principe est d'utiliser l'agent pour générer un fichier XML qui est ensuite poussé avec l'injecteur dans GLPI.
Avec la fonction ci-dessous, on peut faire un inventaire SNMP immédiat sur une imprimante ou un équipement réseau.

netinventory HOST [SNMP Version]

Par défaut, c'est la version v2c de SNMP qui est utilisée mais il suffit de mettre un v1 ou v3 derrière la commande pour utiliser une autre version.
Pour la v1 et la v2c, la communauté utilisée est écrite en dur dans la fonction.
Pour la v3, le login et le mot de passe sont en dur dans la fonction. Prévoyez donc un user avec des droits de lecture seule et sécurisez correctement l'accès à votre serveur.


1. Créer une fonction dans votre fichier .bashrc
Pour ça, éditer le fichier ~/.bashrc
ajouter ce qui suit en modifiant les paramètres entre crochets suivant votre configuration

netinventory() {
        version=${2:-2c}
        if [ $version = "v1" ]
        then
                echo SNMP V1
                fusioninventory-netinventory --host "$1" --credentials version:1,community:[public] > /tmp/"$1".xml
        else
                if [ $version = "v3" ]
                then
                        echo SNMP V3
                        fusioninventory-netinventory --host "$1" --credentials version:3,username:[UserName],authprotocol:sha,authpassword:[Password] > /tmp/"$1".xml
                else
                        echo SNMP V2c
                        fusioninventory-netinventory --host "$1" --credentials version:2c,community:[public] > /tmp/"$1".xml
                fi
        fi

        echo Importing into GLPI
        fusioninventory-injector -d /tmp -u https://[MonServeur/glpi]/plugins/fusioninventory/ -x -r -v --no-ssl-check | ts "\%F \$T" >> /var/log/fusioninventory-injector.log 2>$1
}

2. Recharger votre fichier .bashrc

source ~/.bashrc

3. Tester

root@GLPI-SNMP:~# netinventory 10.148.128.32
SNMP V2c
Importing into GLPI
root@GLPI-SNMP:~# netinventory 10.148.128.30 v1
SNMP V1
Importing into GLPI

4. Le log
On peut trouver une trace de ce qui est fait dans /var/log/fusioninventory-injector.log

root@GLPI-SNMP:~# tail -5 /var/log/fusioninventory-injector.log
\2019-02-28 $T Loading /tmp/10.148.128.32.xml...OK (ssl check disabled)
\2019-02-28 $T Loading /tmp/10.148.128.30.xml...OK (ssl check disabled)
\2019-02-28 $T Loading /tmp/10.148.128.29.xml...OK (ssl check disabled)
\2019-02-28 $T Loading /tmp/10.148.128.32.xml...OK (ssl check disabled)
\2019-02-28 $T Loading /tmp/10.148.128.30.xml...OK (ssl check disabled)

Offline

#2 2019-02-28 17:40:29

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Faire un inventaire SNMP immédiat en UNE ligne de commande avec Fusion

J'ai fait une petite erreur et je ne trouve pas comment éditer mon post.
La ligne qui concerne l'injecteur, il faut remplacer

fusioninventory-injector -d /tmp -u https://[MonServeur/glpi]/plugins/fusioninventory/ -x -r -v --no-ssl-check | ts "\%F \$T" >> /var/log/fusioninventory-injector.log 2>$1

par

fusioninventory-injector -d /tmp -u https://[MonServeur/glpi]/plugins/fusioninventory/ -x -r -v --no-ssl-check | ts "%F %T" >> /var/log/fusioninventory-injector.log 2>$1

pour avoir des logs propres.

Si un admin passe par là et éditer mon post, merci de supprimer ce commentaire :-)

Offline

#3 2019-03-07 12:17:52

rreglpimc
Member
Registered: 2018-02-09
Posts: 95

Re: Faire un inventaire SNMP immédiat en UNE ligne de commande avec Fusion

pratique comme méthode, merci ça peut servir.

Offline

#4 2019-06-13 17:40:23

neosoda
Member
Registered: 2019-06-13
Posts: 2

Re: Faire un inventaire SNMP immédiat en UNE ligne de commande avec Fusion

Ca c'est génial !
...mais je suis sous windows :'(
Une adaptation possible ? big_smile

Offline

#5 2019-06-14 16:33:37

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Faire un inventaire SNMP immédiat en UNE ligne de commande avec Fusion

neosoda wrote:

Ca c'est génial !
...mais je suis sous windows :'(
Une adaptation possible ? big_smile

Oui, sans doute big_smile

La logique reste la même, il faut juste adapter l'appel aux scripts et les chemins des fichiers...
J'avoue que mon serveur est sous Linux et que je n'ai pas de serveur Windows pour essayer, je vais donc passer mon tour.

Offline

Board footer

Powered by FluxBB