Inventário nativo do GLPI: guia completo de configuração

Guia técnico do inventário nativo do GLPI 10/11 com GLPI Agent: ativar o inventário no servidor, um agent.cfg padrão, cron em modo CLI, SNMP discovery, blacklist de números de série duplicados, SQL de diagnóstico e matriz de troubleshooting, com a experiência de manutenção da NexTool.

Neste artigo8 secções

Instalar o GLPI Agent é apenas 20% do trabalho. O que decide se o inventário se torna um dado fiável é a configuração do lado do servidor: ativar o inventário, ajustar o cron, tratar os números de série duplicados e blindar as regras de importação. Este guia cobre o caminho que usamos na manutenção de parques GLPI de clientes, com os ajustes que evitam uma CMDB inchada de fantasmas.

Passo 0: ativar o inventário no servidor (o passo que toda a gente salta)

O erro mais comum que encontramos é o agente corretamente instalado nos postos enquanto o inventário está desligado no GLPI. Sem esse interruptor, os POST dos agentes chegam a um endpoint que não processa nada, e o suporte perde horas a culpar a firewall. Antes de instalar qualquer agente, confirme no servidor:

  • Em Configuração > Geral > separador Inventário, marque Ativar o inventário.
  • Confirme o endpoint nativo do GLPI 10/11: https://glpi.suaempresa.com/front/inventory.php (o agente 1.x resolve este caminho sozinho a partir do URL base).
  • Na configuração do inventário, reveja as opções de importação: importar computadores, monitores, impressoras e componentes conforme a política do cliente.

Instalação do GLPI Agent (Windows e Linux)

No Windows, o MSI silencioso é o padrão para GPO. A TAG é o parâmetro mais importante e o que menos gente usa: é por ela que as regras de importação encaminham o ativo para a entidade e a localização certas.

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

No Linux, o instalador oficial trata das dependências:

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

Independentemente do SO, o comportamento do agente vive num ficheiro de configuração. Esta é a baseline que padronizamos:

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

# Endpoint nativo do GLPI 10/11 (o agente 1.x resolve /front/inventory.php):
server = https://glpi.suaempresa.com

# TAG usada pelas regras para encaminhar entidade/localizacao (ex.: filial):
tag = filial-sp

# Frequencia de reenvio em segundos (86400 = 1x/dia):
delaytime = 86400

# Janela aleatoria: evita que todos inventariem no mesmo minuto do login:
lazy = 1

# APENAS em rede interna com certificado self-signed:
# no-ssl-check = 1

Cron: garantir que o inventário é mesmo processado

Aqui mora uma armadilha clássica. Por predefinição, as ações automáticas do GLPI correm em modo GLPI (disparadas quando alguém navega no sistema). Isto é imprevisível: num fim de semana, sem ninguém com sessão iniciada, nada corre. Para inventário, telemetria e filas fiáveis, mude as ações automáticas para modo CLI (externo) e agende o cron do sistema operativo. No GLPI 11 o ponto de entrada é o front/cron.php (a consola bin/console glpi:cron não cobre tudo):

# /etc/cron.d/glpi  -  processa acoes automaticas e filas do GLPI
# Corre como o utilizador do PHP (apache/www-data), a cada 2 minutos:
*/2 * * * * apache /usr/bin/php /var/www/glpi/front/cron.php >/dev/null 2>&1

Depois, em Configuração > Ações automáticas, abra cada tarefa relevante e troque o modo de execução de GLPI para CLI. Sem isto, o cliente queixa-se de "inventário desatualizado" e a causa não está no agente.

SNMP discovery: switches, routers e impressoras

Os postos com agente são a parte fácil. Os dispositivos de rede não correm agente e dependem de SNMP. A sequência que funciona:

  1. Instale as tarefas de rede no agente concentrador (pacote glpi-agent-task-network no Linux; o instalador Windows já inclui os módulos SNMP).
  2. Registe as credenciais SNMP (community v2c ou v3) em Administração > Inventário > Credenciais SNMP.
  3. Defina os intervalos de IP a varrer em Administração > Inventário > Intervalos de IP.
  4. Agende as tarefas de Network discovery (descobre o que existe) e Network inventory (recolhe o detalhe do que já foi descoberto).

O erro comum aqui é agendar o Network inventory sem executar antes o discovery: sem os equipamentos descobertos e classificados, não há o que inventariar em detalhe.

Regras de importação e o problema dos números de série duplicados

Na manutenção de parques com centenas de máquinas, o que mais gera "fantasmas" no inventário não é o agente: é o número de série genérico. Portateis e computadores montados reportam número de série To be filled by O.E.M., System Serial Number ou 0000000000; as máquinas virtuais clonadas do mesmo template carregam o MESMO UUID. Se a regra de importação corresponde por número de série, o GLPI liga todas essas máquinas ao MESMO ativo, ou cria dezenas de duplicados em cada ciclo de inventário. Decidimos padronizar dois controlos em cada cliente: primeiro, registar esses números de série e MAC lixo no separador Blacklist da configuração de inventário, para o GLPI os ignorar; segundo, adicionar na regra de importação (Administração > Regras > Regras de importação e ligação de equipamentos) um critério por UUID além do número de série. O erro comum é confiar apenas no número de série e descobrir o estrago três meses depois, com a CMDB inchada e a contagem de licenças de software disparada por causa dos duplicados.

Diagnóstico: SQL para encontrar agentes silenciosos

Quando o cliente pergunta "quantas máquinas deixaram de reportar?", a interface não responde depressa. Esta consulta lista os agentes sem contacto há mais de 7 dias, candidatos a máquina desligada, reimagem ou serviço do agente parado:

-- Agentes sem contacto ha mais de 7 dias
SELECT a.name AS agente, a.last_contact, c.name AS computador
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;

Execute-a através de um cliente SQL somente-leitura. Um pico de agentes silenciosos costuma coincidir com uma mudança de GPO, um certificado expirado ou uma nova regra de firewall.

Matriz de troubleshooting de campo

SintomaCausa provávelCorreção
O agente não aparece em Administração > InventárioInventário desativado no servidor ou URL/porta erradaAtivar em Configuração > Geral; confirmar /front/inventory.php e firewall 443/80
O POST devolve 413 ou inventário truncadopost_max_size / upload_max_filesize baixos no PHPSubir para 20M ou mais e reiniciar o php-fpm; servidores com muito software geram XML grande
Erro de SSL no registo do agenteCertificado self-signed não fiávelInstalar a CA na máquina ou no-ssl-check = 1 (apenas rede interna)
Máquinas duplicadas em cada cicloNúmero de série genérico ou UUID de template clonadoBlacklist de números de série/MAC + critério por UUID na regra de importação
Os dispositivos de rede não são inventariadosTarefa de rede ou credencial SNMP em faltaInstalar glpi-agent-task-network; registar credencial SNMP e intervalos de IP
Dados sempre desatualizadosAções automáticas em modo GLPI (não corre sem tráfego)Mudar para modo CLI e agendar front/cron.php no cron do SO

Do inventário ao ciclo de vida do ativo

Recolher é metade do trabalho. O inventário só se torna gestão quando o dado que chega é classificado, normalizado e auditado: as regras de importação encaminham entidade e categoria, os dicionários normalizam nomes de fabricante e modelo, e a trilha de auditoria regista quando um ativo entra, muda de dono ou desaparece do inventário. É este encadeamento que separa "instalar o GLPI Agent" de "manter inventário fiável".

Se o seu inventário GLPI está cheio de duplicados, com agentes que desaparecem ou dispositivos de rede fora do mapa, a equipa de manutenção GLPI da NexTool revê as regras de importação, ajusta a blacklist e liga o inventário ao ciclo de vida de ativos. Fale connosco sobre manutenção de GLPI.


Revisto pela equipa NexTool Solutions.

Perguntas Frequentes

Não. A partir do GLPI 10 o inventário é nativo: instala-se o GLPI Agent nos postos e aponta-se para o servidor. Mas antes disso é preciso ativar o inventário no próprio GLPI (Configuração > Geral > separador Inventário). Sem esse interruptor, os agentes enviam para um endpoint que não processa nada.

Três causas cobrem quase todos os casos: inventário desativado no servidor; URL do servidor errado (deve resolver /front/inventory.php) ou firewall a bloquear 443/80; ou o POST a exceder o post_max_size do PHP em máquinas com muito software instalado. Verifique o registo do agente com glpi-agent --debug --force antes de culpar a rede.

O vilão é o número de série genérico: 'To be filled by O.E.M.', 'System Serial Number' ou zeros, e o UUID idêntico de VMs clonadas do mesmo template. Registe esses números de série e MAC lixo no separador Blacklist da configuração de inventário e adicione um critério por UUID na regra de importação, em vez de confiar apenas no número de série.

Sim, via SNMP. Instale a tarefa de rede no agente concentrador (glpi-agent-task-network), registe as credenciais SNMP (v2c ou v3) e os intervalos de IP em Administração > Inventário, e agende primeiro o Network discovery e depois o Network inventory. Executar o inventory sem o discovery antes não recolhe nada.

Por predefinição a cada 24 horas, controlado pelo delaytime do agente. Para forçar uma recolha imediata, execute glpi-agent --force na máquina. E garanta que as ações automáticas do GLPI correm em modo CLI via cron (front/cron.php a cada 2 minutos); em modo GLPI só disparam quando alguém navega, o que deixa o inventário desatualizado nos fins de semana.

Precisa de ajuda?