You are not logged in.
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
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
pratique comme méthode, merci ça peut servir.
Offline
Ca c'est génial !
...mais je suis sous windows :'(
Une adaptation possible ?
Offline
Ca c'est génial !
...mais je suis sous windows :'(
Une adaptation possible ?
Oui, sans doute
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