Base de Conhecimento no GLPI: Como Criar e Engajar a Equipe

Guia técnico de base de conhecimento no GLPI: taxonomia enxuta, a armadilha de visibilidade que faz artigos sumirem, o ajuste de innodb_ft_min_token_size que corrige a busca por siglas, matriz de FAQ pública e o KPI de engajamento que realmente reduz chamados - com as queries que a NexTool roda na sustentação.

Conhecimento que vive na cabeça de um técnico morre quando ele sai - mas uma base de conhecimento mal configurada é pior: parece documentação e devolve zero resultado. Na sustentação de parques GLPI para clientes, os dois fracassos que mais vemos são artigos que ninguém encontra (problema de configuração) e artigos que ninguém escreve (problema de engajamento). Este guia trata os dois, com as queries e os ajustes que rodamos em campo.

Estruture a taxonomia antes do primeiro artigo

A base de conhecimento do GLPI é nativa (tabela glpi_knowbaseitems) e já traz categorias, FAQ, busca full-text, controle de visibilidade, histórico de revisões e vínculo a chamados. O erro comum é começar pelos artigos e deixar a árvore de categorias crescer sozinha: em seis meses você tem doze níveis e ninguém acha nada. Trave a estrutura primeiro:

  • No máximo dois níveis de categoria. Se precisa de um terceiro, provavelmente é uma tag, não uma categoria.
  • Títulos acionáveis: "Como resetar senha no AD" funciona melhor que "Active Directory". O usuário busca pela ação, não pelo sistema.
  • Quatro famílias cobrem 90% dos casos: Como fazer (tutoriais), Solução de problemas (erros conhecidos), Políticas (regras) e FAQ (pública).
  • Um artigo pode ficar em várias categorias no GLPI 10/11 (tabela glpi_knowbaseitems_knowbaseitemcategories). Use com parcimônia: categoria demais é o mesmo que categoria nenhuma.

O erro que faz artigos "sumirem": visibilidade

Na sustentação, a falha número 1 que encontramos não é falta de artigo - é artigo publicado que ninguém enxerga. O técnico escreve, salva, marca como publicado e assume que está no ar. Só que a visibilidade do GLPI é por alvo explícito: se ninguém adicionou um perfil, grupo, entidade ou usuário na aba de destinatários, o artigo fica visível apenas para o autor - e o GLPI não emite aviso nenhum. Já auditamos bases com centenas de artigos onde dezenas estavam nesse limbo. Por isso, no onboarding de sustentação, a primeira coisa que rodamos é a query de artigos órfãos de visibilidade, antes de discutir taxonomia ou engajamento:

-- Artigos NAO-FAQ sem nenhum alvo de visibilidade:
-- existem, contam no total e sao invisiveis para todos, menos o autor.
SELECT k.id, k.name
FROM glpi_knowbaseitems k
LEFT JOIN glpi_knowbaseitems_profiles p ON p.knowbaseitems_id = k.id
LEFT JOIN glpi_knowbaseitems_users    u ON u.knowbaseitems_id = k.id
LEFT JOIN glpi_groups_knowbaseitems   g ON g.knowbaseitems_id = k.id
LEFT JOIN glpi_entities_knowbaseitems e ON e.knowbaseitems_id = k.id
WHERE k.is_faq = 0
  AND p.knowbaseitems_id IS NULL
  AND u.knowbaseitems_id IS NULL
  AND g.knowbaseitems_id IS NULL
  AND e.knowbaseitems_id IS NULL;

Um detalhe que só morde quem escreve essa query: os nomes das quatro tabelas de visibilidade não são simétricos. Usuários e perfis usam glpi_knowbaseitems_users e glpi_knowbaseitems_profiles, mas grupos e entidades invertem para glpi_groups_knowbaseitems e glpi_entities_knowbaseitems. Trocar a ordem é passar horas depurando um LEFT JOIN que nunca casa.

Por que "AD", "VM" e "PC" não retornam nada na busca

A busca da KB não é LIKE: o GLPI monta um MATCH(name, answer) AGAINST(... IN BOOLEAN MODE) sobre o índice FULLTEXT da tabela. No MariaDB/MySQL com InnoDB (padrão no GLPI 10 e 11), o parâmetro innodb_ft_min_token_size define o tamanho mínimo de palavra indexada, e o default é 3. Consequência: siglas de duas letras - "AD", "VM", "PC", "TI", "BD" - não entram no índice, e a busca por elas volta vazia mesmo havendo dezenas de artigos que as citam. Esse é o motivo número 1 do "a busca da KB não presta" que ouvimos de clientes. Diagnóstico:

SHOW VARIABLES LIKE 'innodb_ft_min_token_size';

Baixe o limite para 2 no arquivo de configuração do MariaDB e reinicie o serviço:

# /etc/mysql/mariadb.conf.d/50-server.cnf  (MariaDB)
[mysqld]
innodb_ft_min_token_size = 2

A parte que quase todo mundo esquece: mudar a variável não reindexar os artigos existentes. O token size é gravado na criação do índice, então você precisa reconstruí-lo. A forma mais direta é forçar o rebuild da tabela:

-- Reinicie o MariaDB e reconstrua o indice FULLTEXT
-- (o novo token size so vale apos recriar o indice):
ALTER TABLE glpi_knowbaseitems ENGINE=InnoDB;

O erro comum é baixar o token para 2, reiniciar e declarar vitória - a variável muda, mas o índice antigo continua ignorando as siglas até a reconstrução. Em instalações legadas em MyISAM, o parâmetro equivalente é ft_min_word_len.

Janela de validade: o artigo que só aparece amanhã

Outra armadilha silenciosa são os campos begin_date e end_date do artigo. O GLPI filtra da busca qualquer artigo cujo begin_date seja futuro ou cujo end_date já tenha passado. É útil para publicar um procedimento só a partir de uma data - mas também é a causa clássica de "criei o artigo e ele não aparece": alguém preencheu a data de início sem querer. Se um artigo recém-criado não surge na busca e a visibilidade está correta, confira a janela de validade antes de qualquer outra coisa.

FAQ pública para self-service

Para um artigo aparecer no portal do usuário final, marque-o como FAQ (campo is_faq) e defina a visibilidade por entidade com a opção recursiva ligada, para propagar às sub-entidades. Se você quer a FAQ acessível sem login, habilite a FAQ para usuários anônimos na configuração de Assistência do GLPI. A matriz que usamos para decidir onde cada artigo mora:

Objetivois_faqAlvo de visibilidadeOnde aparece
FAQ pública (self-service)1Entidade + recursivoPortal do usuário; sem login se a FAQ anônima estiver ligada
Base técnica interna0Perfil (ex.: Técnico)Aba Base de conhecimento, só perfis com direito
Procedimento por cliente0Entidade específicaSó técnicos daquela entidade
Rascunho / em revisão0Nenhum (só o autor)Invisível - use por intenção, nunca por esquecimento

Repare na última linha: "nenhum alvo" é um estado válido para rascunho, mas deve ser uma escolha consciente, nunca o resultado de esquecer de preencher a visibilidade.

Engajamento: o KPI que funciona (e o que não funciona)

O KPI de "X artigos por técnico por mês" que a literatura de ITSM adora produz lixo: artigo escrito para bater meta, que ninguém consulta. O que funciona na prática é amarrar a criação ao trabalho que já acontece - o fechamento de chamado de categoria recorrente. Em vez de pedir volume, identifique o repetitivo e transforme-o em artigo. Esta query lista os assuntos que mais se repetiram nos últimos 90 dias, os candidatos de maior retorno:

-- Assuntos de chamado repetidos nos ultimos 90 dias:
-- os candidatos de maior retorno para virar artigo de KB.
SELECT t.name AS assunto, COUNT(*) AS total
FROM glpi_tickets t
WHERE t.date >= DATE_SUB(NOW(), INTERVAL 90 DAY)
  AND t.is_deleted = 0
GROUP BY t.name
HAVING total >= 5
ORDER BY total DESC
LIMIT 20;

Documentar o topo dessa lista derruba reabertura e tempo de atendimento de forma mensurável. E meça pelo lado certo: a coluna view de cada artigo conta as consultas. Artigo com muitas visualizações está pagando o investimento; artigo com view perto de zero e date_mod antigo é candidato a revisão ou arquivamento - não a mais um item no total.

Mantenha antes de envelhecer

Base de conhecimento não é projeto, é rotina. O GLPI guarda o histórico em glpi_knowbaseitems_revisions, então dá para editar sem medo de perder a versão anterior. Defina um ritmo de revisão (trimestral costuma bastar), priorizando os artigos mais consultados - um passo a passo errado sobre reset de senha gera mais chamado do que a ausência dele. Artigo desatualizado não é neutro: custa credibilidade e o técnico volta a "perguntar pro fulano".

Precisa de uma base de conhecimento que realmente reduza chamados, com a busca afinada e a visibilidade sob controle? Conheça a sustentação de GLPI da NexTool.


Revisado pela equipe NexTool Solutions.

Perguntas Frequentes

Provavelmente falta o alvo de visibilidade. No GLPI, publicar não basta: é preciso adicionar pelo menos um alvo (perfil, grupo, entidade ou usuário) na aba de destinatários do artigo. Sem alvo, ele fica visível só para o autor. Rode a query de artigos órfãos para achar todos de uma vez.

É o innodb_ft_min_token_size (default 3) do InnoDB. Baixe para 2 no my.cnf, reinicie o MariaDB e reconstrua o índice FULLTEXT com ALTER TABLE glpi_knowbaseitems ENGINE=InnoDB. Sem reconstruir, a mudança não vale para os artigos já existentes.

Marque o artigo como FAQ (is_faq), defina a visibilidade por entidade com a opção recursiva e habilite a FAQ para usuários anônimos na configuração de Assistência do GLPI. Sem a FAQ anônima ligada, só usuários autenticados enxergam.

Confira a janela de validade (begin_date / end_date). O GLPI oculta qualquer artigo cujo begin_date esteja no futuro ou cujo end_date já tenha passado. Uma data de início preenchida por engano é a causa clássica de 'o artigo sumiu'.

Na prática, não. Meta por volume gera artigo escrito para bater número, que ninguém consulta. Amarre a criação ao fechamento de chamado de categoria recorrente e meça pela contagem de visualizações (coluna view), não pela quantidade produzida.

Precisa de ajuda?