Inventario nativo de GLPI: guia completa de configuracion

Guia tecnica del inventario nativo de GLPI 10/11 con GLPI Agent: habilitar el inventario en el servidor, un agent.cfg estandar, cron en modo CLI, SNMP discovery, blacklist de seriales duplicados, SQL de diagnostico y una matriz de troubleshooting, con la experiencia de mantenimiento de NexTool.

En este artículo8 secciones

Instalar el GLPI Agent es apenas el 20% del trabajo. Lo que decide si el inventario se convierte en dato fiable es la configuracion del lado del servidor: habilitar el inventario, ajustar el cron, tratar los seriales duplicados y blindar las reglas de importacion. Esta guia recorre el camino que usamos manteniendo parques GLPI de clientes, con los ajustes que evitan un CMDB inflado de fantasmas.

Paso 0: habilitar el inventario en el servidor (el paso que todos saltan)

El error mas comun que encontramos es el agente correctamente instalado en las estaciones mientras el inventario esta apagado en GLPI. Sin ese interruptor, los POST de los agentes llegan a un endpoint que no procesa nada, y el soporte pierde horas culpando al firewall. Antes de instalar agentes, confirme en el servidor:

  • En Configurar > General > pestana Inventario, marque Habilitar el inventario.
  • Confirme el endpoint nativo de GLPI 10/11: https://glpi.suempresa.com/front/inventory.php (el agente 1.x resuelve esa ruta por si mismo a partir de la URL base).
  • En la configuracion del inventario, revise las opciones de importacion: importar equipos, monitores, impresoras y componentes segun la politica del cliente.

Despliegue del GLPI Agent (Windows y Linux)

En Windows, el MSI silencioso es el estandar para GPO. La TAG es el parametro mas importante y el que menos gente usa: es lo que las reglas de importacion usan para dirigir el activo a la entidad y ubicacion correctas.

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

En Linux, el instalador oficial se encarga de las dependencias:

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

Sea cual sea el SO, el comportamiento del agente vive en un archivo de configuracion. Este es el baseline que estandarizamos:

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

# Endpoint nativo de GLPI 10/11 (el agente 1.x resuelve /front/inventory.php):
server = https://glpi.suempresa.com

# TAG usada por las reglas para dirigir entidad/ubicacion (ej.: sucursal):
tag = sucursal-sp

# Frecuencia de reenvio en segundos (86400 = 1 vez al dia):
delaytime = 86400

# Ventana aleatoria: evita que todos inventarien en el mismo minuto del login:
lazy = 1

# SOLO en red interna con certificado autofirmado:
# no-ssl-check = 1

Cron: asegurar que el inventario se procesa de verdad

Aqui vive una trampa clasica. Por defecto, las acciones automaticas de GLPI corren en modo GLPI (se disparan cuando alguien navega por el sistema). Eso es impredecible: un fin de semana, sin nadie conectado, no corre nada. Para inventario, telemetria y colas fiables, cambie las acciones automaticas a modo CLI (externo) y programe el cron del sistema operativo. En GLPI 11 el punto de entrada es front/cron.php (la consola bin/console glpi:cron no cubre todo):

# /etc/cron.d/glpi  -  procesa acciones automaticas y colas de GLPI
# Corre como el usuario de PHP (apache/www-data), cada 2 minutos:
*/2 * * * * apache /usr/bin/php /var/www/glpi/front/cron.php >/dev/null 2>&1

Despues, en Configurar > Acciones automaticas, abra cada tarea relevante y cambie el modo de ejecucion de GLPI a CLI. Sin esto, el cliente se queja de "inventario desactualizado" y la causa no esta en el agente.

SNMP discovery: switches, routers e impresoras

Las estaciones con agente son la parte facil. Los dispositivos de red no corren agente y dependen de SNMP. La secuencia que funciona:

  1. Instale las tareas de red en el agente concentrador (paquete glpi-agent-task-network en Linux; el instalador de Windows ya incluye los modulos SNMP).
  2. Registre las credenciales SNMP (community v2c o v3) en Administracion > Inventario > Credenciales SNMP.
  3. Defina los rangos de IP a escanear en Administracion > Inventario > Rangos de IP.
  4. Programe las tareas de Network discovery (descubre lo que existe) y Network inventory (recoge el detalle de lo ya descubierto).

El error comun aqui es programar el Network inventory sin ejecutar antes el discovery: sin los equipos descubiertos y clasificados, no hay nada que inventariar en detalle.

Reglas de importacion y el problema de los seriales duplicados

Manteniendo parques de cientos de maquinas, lo que mas genera "fantasmas" en el inventario no es el agente: es el serial generico. Portatiles y equipos ensamblados reportan numero de serie To be filled by O.E.M., System Serial Number o 0000000000; las maquinas virtuales clonadas del mismo template llevan el MISMO UUID. Si la regla de importacion coincide por serial, GLPI vincula todas esas maquinas al MISMO activo, o crea decenas de duplicados en cada ciclo de inventario. Decidimos estandarizar dos controles en cada cliente: primero, registrar esos seriales y MAC basura en la pestana Blacklist de la configuracion de inventario, para que GLPI los ignore; segundo, agregar en la regla de importacion (Administracion > Reglas > Reglas de importacion y vinculo de equipos) un criterio por UUID ademas del serial. El error comun es confiar solo en el serial y descubrir el destrozo tres meses despues, con el CMDB inflado y el conteo de licencias de software disparado por los duplicados.

Diagnostico: SQL para hallar agentes silenciosos

Cuando el cliente pregunta "cuantas maquinas dejaron de reportar?", la interfaz no responde rapido. Esta consulta lista los agentes sin contacto por mas de 7 dias, candidatos a maquina apagada, reimagen o servicio del agente detenido:

-- Agentes sin contacto por mas de 7 dias
SELECT a.name AS agente, a.last_contact, c.name AS equipo
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;

Ejecutela con un cliente SQL de solo lectura. Un pico de agentes silenciosos suele coincidir con un cambio de GPO, un certificado vencido o una nueva regla de firewall.

Matriz de troubleshooting de campo

SintomaCausa probableCorreccion
El agente no aparece en Administracion > InventarioInventario deshabilitado en el servidor o URL/puerto erroneoHabilitar en Configurar > General; verificar /front/inventory.php y firewall 443/80
El POST devuelve 413 o inventario truncadopost_max_size / upload_max_filesize bajos en PHPSubir a 20M o mas y reiniciar php-fpm; servidores con mucho software generan XML grande
Error SSL en el log del agenteCertificado autofirmado no confiableInstalar la CA en la maquina o no-ssl-check = 1 (solo red interna)
Maquinas duplicadas en cada cicloSerial generico o UUID de template clonadoBlacklist de seriales/MAC + criterio por UUID en la regla de importacion
Los dispositivos de red no se inventarianFalta la tarea de red o la credencial SNMPInstalar glpi-agent-task-network; registrar credencial SNMP y rangos de IP
Datos siempre desactualizadosAcciones automaticas en modo GLPI (no corre sin trafico)Cambiar a modo CLI y programar front/cron.php en el cron del SO

Del inventario al ciclo de vida del activo

Recopilar es la mitad del trabajo. El inventario solo se convierte en gestion cuando el dato que llega se clasifica, se estandariza y se audita: las reglas de importacion dirigen entidad y categoria, los diccionarios normalizan nombres de fabricante y modelo, y la traza de auditoria registra cuando un activo entra, cambia de dueno o desaparece del inventario. Esa cadena es lo que separa "instalar el GLPI Agent" de "mantener inventario fiable".

Si su inventario GLPI esta lleno de duplicados, con agentes que desaparecen o dispositivos de red fuera del mapa, el equipo de mantenimiento GLPI de NexTool revisa las reglas de importacion, ajusta la blacklist y conecta el inventario al ciclo de vida de activos. Hable con nosotros sobre mantenimiento de GLPI.


Revisado por el equipo de NexTool Solutions.

Preguntas Frecuentes

No. Desde GLPI 10 el inventario es nativo: se instala GLPI Agent en las estaciones y se apunta al servidor. Pero antes hay que habilitar el inventario en el propio GLPI (Configurar > General > pestana Inventario). Sin ese interruptor, los agentes postean en un endpoint que no procesa nada.

Tres causas cubren casi todos los casos: inventario deshabilitado en el servidor; URL del servidor erronea (debe resolver /front/inventory.php) o firewall bloqueando 443/80; o el POST superando el post_max_size de PHP en maquinas con mucho software instalado. Revise el log del agente con glpi-agent --debug --force antes de culpar a la red.

El villano es el serial generico: 'To be filled by O.E.M.', 'System Serial Number' o ceros, y el UUID identico de VMs clonadas del mismo template. Registre esos seriales y MAC basura en la pestana Blacklist de la configuracion de inventario y agregue un criterio por UUID a la regla de importacion, en vez de confiar solo en el numero de serie.

Si, via SNMP. Instale la tarea de red en el agente concentrador (glpi-agent-task-network), registre las credenciales SNMP (v2c o v3) y los rangos de IP en Administracion > Inventario, y programe primero el Network discovery y despues el Network inventory. Ejecutar el inventory sin el discovery antes no recoge nada.

Por defecto cada 24 horas, controlado por el delaytime del agente. Para forzar una recoleccion inmediata, ejecute glpi-agent --force en la maquina. Y asegurese de que las acciones automaticas de GLPI corran en modo CLI via cron (front/cron.php cada 2 minutos); en modo GLPI solo se disparan cuando alguien navega, lo que deja el inventario desactualizado los fines de semana.

?Necesitas ayuda?