Base de Conhecimento no GLPI: Como Criar e Envolver a Equipa

Guia técnico da base de conhecimento no GLPI: taxonomia enxuta, a armadilha de visibilidade que faz os artigos desaparecerem, o ajuste de innodb_ft_min_token_size que corrige a pesquisa por siglas, matriz de FAQ pública e o KPI de envolvimento que reduz mesmo os chamados - com as consultas que a NexTool executa na sustentação.

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 resultados. 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 envolvimento). Este guia trata os dois, com as consultas e os ajustes que executamos no terreno.

Estruture a taxonomia antes do primeiro artigo

A base de conhecimento do GLPI é nativa (tabela glpi_knowbaseitems) e já traz categorias, FAQ, pesquisa full-text, controlo de visibilidade, histórico de revisões e ligação a chamados. O erro comum é começar pelos artigos e deixar a árvore de categorias crescer sozinha: em seis meses tem doze níveis e ninguém encontra nada. Fixe a estrutura primeiro:

  • No máximo dois níveis de categoria. Se precisa de um terceiro, provavelmente é uma etiqueta, não uma categoria.
  • Títulos acionáveis: "Como repor a palavra-passe no AD" funciona melhor que "Active Directory". O utilizador procura pela ação, não pelo sistema.
  • Quatro famílias cobrem 90% dos casos: Como fazer (tutoriais), Resolução de problemas (erros conhecidos), Políticas (regras) e FAQ (pública).
  • Um artigo pode estar em várias categorias no GLPI 10/11 (tabela glpi_knowbaseitems_knowbaseitemcategories). Use com parcimónia: categorias a mais equivalem a nenhuma.

O erro que faz os artigos "desaparecerem": a visibilidade

Na sustentação, a falha número 1 que encontramos não é a falta de artigo - é um artigo publicado que ninguém vê. O técnico escreve-o, guarda-o, marca-o como publicado e assume que está no ar. Mas a visibilidade do GLPI funciona por alvo explícito: se ninguém adicionou um perfil, grupo, entidade ou utilizador no separador de destinatários, o artigo fica visível apenas para o autor - e o GLPI não emite qualquer aviso. Já auditámos bases com centenas de artigos onde dezenas estavam nesse limbo. Por isso, no onboarding de sustentação, a primeira coisa que executamos é a consulta de artigos órfãos de visibilidade, antes de falar de taxonomia ou de envolvimento:

-- Artigos NAO-FAQ sem qualquer 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 esta consulta: os nomes das quatro tabelas de visibilidade não são simétricos. Utilizadores 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 a depurar um LEFT JOIN que nunca encaixa.

Porque é que "AD", "VM" e "PC" não devolvem nada na pesquisa

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

SHOW VARIABLES LIKE 'innodb_ft_min_token_size';

Baixe o limite para 2 no ficheiro 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 toda a gente esquece: mudar a variável não reindexar os artigos existentes. O token size é gravado na criação do índice, por isso tem de o reconstruir. A forma mais direta é forçar a reconstrução 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 cantar vitória - a variável muda, mas o índice antigo continua a ignorar as siglas até à reconstrução. Em instalações antigas 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 pesquisa qualquer artigo cujo begin_date esteja no 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 uma data de início sem querer. Se um artigo recém-criado não surge na pesquisa e a visibilidade está correta, verifique a janela de validade antes de tudo o resto.

FAQ pública para self-service

Para um artigo aparecer no portal do utilizador final, marque-o como FAQ (campo is_faq) e defina a visibilidade por entidade com a opção recursiva ligada, para propagar às subentidades. Se quiser a FAQ acessível sem sessão iniciada, ative a FAQ para utilizadores anónimos na configuração de Assistência do GLPI. A matriz que usamos para decidir onde cada artigo vive:

Objetivois_faqAlvo de visibilidadeOnde aparece
FAQ pública (self-service)1Entidade + recursivoPortal do utilizador; sem sessão se a FAQ anónima estiver ligada
Base técnica interna0Perfil (ex.: Técnico)Separador Base de conhecimento, só perfis com direito
Procedimento por cliente0Entidade específicaSó técnicos dessa 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.

Envolvimento: 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: artigos escritos para bater a meta, que ninguém consulta. O que funciona na prática é ligar a criação ao trabalho que já acontece - o fecho de chamado de categoria recorrente. Em vez de exigir volume, identifique o repetitivo e transforme-o em artigo. Esta consulta 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 virarem artigos da base.
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 reduz reaberturas e tempo de atendimento de forma mensurável. E meça pelo lado certo: a coluna view de cada artigo conta as consultas. Um artigo muito consultado está a pagar o investimento; um artigo com view perto de zero e date_mod antigo é candidato a revisão ou arquivo - não a mais um item no total.

Faça a manutenção antes de envelhecer

Uma base de conhecimento não é um projeto, é uma rotina. O GLPI guarda o histórico em glpi_knowbaseitems_revisions, por isso pode editar sem receio de perder a versão anterior. Defina um ritmo de revisão (trimestral costuma chegar), dando prioridade aos artigos mais consultados - um passo a passo errado sobre reposição de palavra-passe gera mais chamados do que a sua ausência. Um artigo desatualizado não é neutro: custa credibilidade e o técnico volta a "perguntar ao fulano".

Precisa de uma base de conhecimento que reduza mesmo os chamados, com a pesquisa afinada e a visibilidade sob controlo? Conheça a sustentação de GLPI da NexTool.


Revisto pela equipa 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 utilizador) no separador de destinatários do artigo. Sem alvo, fica visível só para o autor. Execute a consulta de artigos órfãos para os encontrar todos de uma vez.

É o innodb_ft_min_token_size (predefinição 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 alteração 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 ative a FAQ para utilizadores anónimos na configuração de Assistência do GLPI. Sem a FAQ anónima ligada, só os utilizadores autenticados a veem.

Verifique 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 desapareceu'.

Na prática, não. Uma meta por volume gera artigos escritos para bater um número que ninguém consulta. Ligue a criação ao fecho de chamado de categoria recorrente e meça pela contagem de visualizações (coluna view), não pela quantidade produzida.

Precisa de ajuda?