Inventaire natif GLPI : guide complet de configuration

Guide technique de l'inventaire natif de GLPI 10/11 avec GLPI Agent : activer l'inventaire sur le serveur, un agent.cfg standard, cron en mode CLI, SNMP discovery, blacklist de numeros de serie en double, SQL de diagnostic et matrice de troubleshooting, issus de l'experience de maintenance NexTool.

Dans cet article8 sections

Installer le GLPI Agent ne represente que 20% du travail. Ce qui decide si l'inventaire devient une donnee fiable, c'est la configuration cote serveur : activer l'inventaire, regler le cron, traiter les numeros de serie en double et blinder les regles d'import. Ce guide reprend la demarche que nous utilisons en maintenance de parcs GLPI clients, avec les ajustements qui evitent une CMDB gonflee de fantomes.

Etape 0 : activer l'inventaire sur le serveur (l'etape que tout le monde saute)

L'erreur la plus frequente que nous rencontrons est l'agent correctement installe sur les postes alors que l'inventaire est desactive dans GLPI. Sans cet interrupteur, les POST des agents atteignent un endpoint qui ne traite rien, et le support perd des heures a accuser le pare-feu. Avant d'installer le moindre agent, verifiez sur le serveur :

  • Dans Configuration > General > onglet Inventaire, cochez Activer l'inventaire.
  • Confirmez l'endpoint natif de GLPI 10/11 : https://glpi.votreentreprise.com/front/inventory.php (l'agent 1.x resout ce chemin seul a partir de l'URL de base).
  • Dans la configuration de l'inventaire, revoyez les options d'import : importer ordinateurs, ecrans, imprimantes et composants selon la politique du client.

Deploiement du GLPI Agent (Windows et Linux)

Sous Windows, le MSI silencieux est le standard pour la GPO. Le TAG est le parametre le plus important et le moins utilise : c'est lui que les regles d'import exploitent pour diriger l'actif vers la bonne entite et le bon emplacement.

glpi-agent-1.x-x64.msi /qn SERVER=https://glpi.votreentreprise.com TAG=agence-sp

Sous Linux, l'installeur officiel gere les dependances :

curl -sL https://raw.githubusercontent.com/glpi-project/glpi-agent/main/tools/linux-installer.sh | bash -s -- --server https://glpi.votreentreprise.com --tag agence-sp

Quel que soit l'OS, le comportement de l'agent vit dans un fichier de configuration. Voici la base que nous standardisons :

# /etc/glpi-agent/agent.cfg   (Linux)
# %ProgramFiles%\GLPI-Agent\etc\agent.cfg   (Windows)

# Endpoint natif GLPI 10/11 (l'agent 1.x resout /front/inventory.php) :
server = https://glpi.votreentreprise.com

# TAG utilise par les regles pour diriger entite/emplacement (ex. : agence) :
tag = agence-sp

# Frequence de renvoi en secondes (86400 = 1 fois par jour) :
delaytime = 86400

# Fenetre aleatoire : evite que tous inventorient a la meme minute de login :
lazy = 1

# UNIQUEMENT sur reseau interne avec certificat auto-signe :
# no-ssl-check = 1

Cron : garantir que l'inventaire est reellement traite

Ici se cache un piege classique. Par defaut, les actions automatiques de GLPI tournent en mode GLPI (declenchees quand quelqu'un navigue dans le systeme). C'est imprevisible : un week-end, sans personne de connecte, rien ne tourne. Pour un inventaire, une telemetrie et des files fiables, passez les actions automatiques en mode CLI (externe) et planifiez le cron du systeme d'exploitation. Sous GLPI 11 le point d'entree est front/cron.php (la console bin/console glpi:cron ne couvre pas tout) :

# /etc/cron.d/glpi  -  traite les actions automatiques et les files de GLPI
# Tourne sous l'utilisateur PHP (apache/www-data), toutes les 2 minutes :
*/2 * * * * apache /usr/bin/php /var/www/glpi/front/cron.php >/dev/null 2>&1

Ensuite, dans Configuration > Actions automatiques, ouvrez chaque tache concernee et changez le mode d'execution de GLPI a CLI. Sans cela, le client se plaint d'un "inventaire perime" et la cause n'est pas dans l'agent.

SNMP discovery : switches, routeurs et imprimantes

Les postes avec agent sont la partie facile. Les equipements reseau ne font pas tourner d'agent et dependent du SNMP. La sequence qui marche :

  1. Installez les taches reseau sur l'agent concentrateur (paquet glpi-agent-task-network sous Linux ; l'installeur Windows inclut deja les modules SNMP).
  2. Enregistrez les identifiants SNMP (community v2c ou v3) sous Administration > Inventaire > Identifiants SNMP.
  3. Definissez les plages d'IP a scanner sous Administration > Inventaire > Plages d'IP.
  4. Planifiez les taches Network discovery (decouvre ce qui existe) et Network inventory (collecte le detail de ce qui a ete decouvert).

L'erreur frequente ici est de planifier le Network inventory sans lancer d'abord le discovery : sans equipements decouverts et classifies, il n'y a rien a inventorier en detail.

Regles d'import et le probleme des numeros de serie en double

En maintenance de parcs de centaines de machines, ce qui genere le plus de "fantomes" dans l'inventaire n'est pas l'agent : c'est le numero de serie generique. Les portables et postes assembles remontent un numero de serie To be filled by O.E.M., System Serial Number ou 0000000000 ; les machines virtuelles clonees depuis le meme modele portent le MEME UUID. Si la regle d'import correspond par numero de serie, GLPI relie toutes ces machines au MEME actif, ou cree des dizaines de doublons a chaque cycle d'inventaire. Nous avons decide de standardiser deux controles chez chaque client : d'abord, enregistrer ces numeros de serie et MAC parasites dans l'onglet Blacklist de la configuration d'inventaire, pour que GLPI les ignore ; ensuite, ajouter dans la regle d'import (Administration > Regles > Regles d'import et de liaison des equipements) un critere par UUID en plus du numero de serie. L'erreur courante est de se fier au seul numero de serie et de decouvrir les degats trois mois plus tard, avec une CMDB gonflee et un comptage de licences logicielles fausse par les doublons.

Diagnostic : SQL pour reperer les agents silencieux

Quand le client demande "combien de machines ont cesse de remonter ?", l'interface ne repond pas vite. Cette requete liste les agents sans contact depuis plus de 7 jours, candidats a une machine eteinte, une reinstallation ou un service d'agent arrete :

-- Agents sans contact depuis plus de 7 jours
SELECT a.name AS agent, a.last_contact, c.name AS ordinateur
FROM glpi_agents a
LEFT JOIN glpi_computers c
       ON c.id = a.items_id AND a.itemtype = 'Computer'
WHERE a.last_contact < (NOW() - INTERVAL 7 DAY)
ORDER BY a.last_contact ASC;

Executez-la via un client SQL en lecture seule. Un pic d'agents silencieux coincide souvent avec un changement de GPO, un certificat expire ou une nouvelle regle de pare-feu.

Matrice de troubleshooting de terrain

SymptomeCause probableCorrection
L'agent n'apparait pas dans Administration > InventaireInventaire desactive sur le serveur ou URL/port erroneActiver dans Configuration > General ; verifier /front/inventory.php et pare-feu 443/80
Le POST renvoie 413 ou inventaire tronquepost_max_size / upload_max_filesize trop bas en PHPMonter a 20M ou plus et redemarrer php-fpm ; les serveurs avec beaucoup de logiciels produisent un gros XML
Erreur SSL dans le log de l'agentCertificat auto-signe non fiableInstaller la CA sur la machine ou no-ssl-check = 1 (reseau interne uniquement)
Machines dupliquees a chaque cycleNumero de serie generique ou UUID de modele cloneBlacklist de numeros de serie/MAC + critere par UUID dans la regle d'import
Les equipements reseau ne sont pas inventoriesTache reseau ou identifiant SNMP manquantInstaller glpi-agent-task-network ; enregistrer l'identifiant SNMP et les plages d'IP
Donnees toujours perimeesActions automatiques en mode GLPI (ne tourne pas sans trafic)Passer en mode CLI et planifier front/cron.php dans le cron de l'OS

De l'inventaire au cycle de vie de l'actif

Collecter n'est que la moitie du travail. L'inventaire ne devient de la gestion que lorsque la donnee entrante est classifiee, normalisee et auditee : les regles d'import dirigent entite et categorie, les dictionnaires normalisent les noms de fabricant et de modele, et la piste d'audit enregistre l'entree d'un actif, son changement de proprietaire ou sa disparition de l'inventaire. C'est cette chaine qui separe "installer le GLPI Agent" de "maintenir un inventaire fiable".

Si votre inventaire GLPI est plein de doublons, avec des agents qui disparaissent ou des equipements reseau hors carte, l'equipe de maintenance GLPI de NexTool revoit les regles d'import, ajuste la blacklist et connecte l'inventaire au cycle de vie des actifs. Parlez-nous de la maintenance GLPI.


Révisé par l'équipe NexTool Solutions.

Questions fréquentes

Non. Depuis GLPI 10 l'inventaire est natif : on installe GLPI Agent sur les postes et on le pointe vers le serveur. Mais il faut d'abord activer l'inventaire dans GLPI lui-meme (Configuration > General > onglet Inventaire). Sans cet interrupteur, les agents postent vers un endpoint qui ne traite rien.

Trois causes couvrent presque tous les cas : inventaire desactive sur le serveur ; URL du serveur erronee (elle doit resoudre /front/inventory.php) ou pare-feu bloquant 443/80 ; ou le POST depassant le post_max_size de PHP sur des machines avec beaucoup de logiciels. Verifiez le log de l'agent avec glpi-agent --debug --force avant d'accuser le reseau.

Le coupable est le numero de serie generique : 'To be filled by O.E.M.', 'System Serial Number' ou des zeros, et l'UUID identique des VM clonees du meme modele. Enregistrez ces numeros de serie et MAC parasites dans l'onglet Blacklist de la configuration d'inventaire et ajoutez un critere par UUID a la regle d'import, plutot que de vous fier au seul numero de serie.

Oui, via SNMP. Installez la tache reseau sur l'agent concentrateur (glpi-agent-task-network), enregistrez les identifiants SNMP (v2c ou v3) et les plages d'IP sous Administration > Inventaire, et planifiez d'abord le Network discovery puis le Network inventory. Lancer l'inventory sans le discovery ne collecte rien.

Par defaut toutes les 24 heures, controle par le delaytime de l'agent. Pour forcer une collecte immediate, lancez glpi-agent --force sur la machine. Et assurez-vous que les actions automatiques de GLPI tournent en mode CLI via cron (front/cron.php toutes les 2 minutes) ; en mode GLPI elles ne se declenchent que quand quelqu'un navigue, ce qui laisse l'inventaire perime le week-end.

Besoin d'aide ?