Category Archives: GLPi

Migrando as tabelas de ID de chamados para Unsigned no GLPI – Behaviors

Uma ação em relação ao problema das IDs Integers do GLPI, que são chaves primárias e estrangeiras no banco de dados, foi tomada.

Após alguns debates por parte da equipe de desenvolvimento da Teclib’, foi definida uma alteração, que por ora, é opcional e não será executada automaticamente nem nas atualizações. Ou seja, é executada da mesma maneira que a migração do banco de dados para InnoDB: Através de um script na console do GLPI.

Devo alertar para 5 fatos importantes a serem considerados antes de executar qualquer comando que altere parâmetros dos bancos de dados:

  1. Sempre comece em uma base de homologação. Nunca em produção;
  2. Backup antes de tudo;
  3. Os plugins utilizados na sua base podem exigir execuções e correções manuais de alterações de IDs, updates em tabelas ou até recriação de constraints.
  4. Você tem acesso a todos os códigos e DEVE revisá-los para se certificar de que não impactarão negativamente no seu ambiente. Não terceirize suas decisões.
  5. Participe da discussão da solução lá no github caso o problema não seja resolvido na sua base.

O problema começou com 2022 pelo fato de um campo integer, utilizado nos IDs de chamados, aceitar caracteres limitados a 2.147.483.647, o que em Janeiro é facilmente ultrapassado por já iniciar em 202201010001 quando utilizado o formato ymd0001 do Behaviors.

Algumas correções de contorno foram sugeridas aqui, e a Teclib’ criou uma solução definitiva para que, quem quiser manter o formato de chamados, possa executar e continuar os IDs de chamados usando o padrão de protocolos com data na ID.

O script é executado da mesma maneira que o InnoDB – através da console do GLPI em pastadoglpi/bin usando o comando php console glpi:migration:unsigned_keys.

Dessa forma o script busca as tabelas que contêm chaves estrangeiras e primárias com formato integer e realiza a alteração para unsigned.

Na prática o script aumenta as possibilidades de IDs ao não mais reservar espaços de bits para números negativos que ocupam bits importantes no banco de dados.


Referência técnica:

Signed integers – YouTube
Unsigned integers – YouTube


Trouxe no vídeo uma maneira de aplicar o pull lá do github através do aplicativo ‘patch’ e como executar o comando de alteração, mais o update em uma das tabelas que traz um valor negativo e, por conta disso, o ‘script’ não consegue alterar o formato da tabela

Comandos utilizados no vídeo

apt-get install patch #instala o aplicativo patch
patch -p1 --dry-run < nomedopatch.patch #testa a integridade do patch 
patch -p1 < nomedopatch.patch #aplica o patch
php console glpi:migration:unsigned_keys #executa a migração das tabelas para unsigned
UPDATE glpi_events SET items_id = '0' WHERE items_id = '-1' AND type = 'system'; #atualiza os campos -1 na tabela glpi_events com tipo system para 0

Referências da solução proposta:

Add migration to use usigned int for primary/foreign keys; see #10262 by cedric-anne · Pull Request #10263 · glpi-project/glpi (github.com)

Você gostaria de ajudar o blog de alguma forma?

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

GLPI não abre mais chamado em 2022

Esse 2022 já veio que veio.

Para quem usa o Behaviors com o formato yymmaa0000 está sofrendo com uma limitação do Tipo campo no mysql do GLPI que é INT 32 bits e ao ultrapassar a ID 2.147.483.647 o banco não aceita novos incrementos na tabela.

Se você NÃO USA ESSE FORMATO de chamados no seu GLPI, esse artigo não se aplica a você!

Algumas soluções de contorno estão abaixo na ordem de mais para menos recomendado.

  1. Desativar o uso do Formato do número do chamado ymd0001 e Reiniciar o auto incremento para pegar o ID anterior e apenas incrementar para o próximo número
  2. Desativar o uso do Formato do número do chamado ymd0001 e Criar um novo incremento manualmente todos os anos ou meses
  3. Alterar as tabelas de ID para o formato BIGINT. Não recomendo neste momento por poucos testes realizados e por uma pequena parcela da comunidade ter colocado em produção.

Lembre-se de realizar ‘backups’ e testar em bases de homologação sempre que for mexer em bancos de dados ou arquivos do GLPI

Solução 1 — Reiniciar o autoincrement

ALTER TABLE glpi_tickets AUTO_INCREMENT = 1;

Se seu 2021 terminou com o chamado 2112310523, o próximo será 2112310524 e assim por diante.

Prós

  • Você volta a abrir chamados instantaneamente
  • Se for alterado agum parâmetro que permita reutilizar o formato de ID, você pode voltar, pois, não serão usados IDs que se tornarão datas futuras (Não existem 37 dias em meses de dezembro.

Contra

  • Você perde a referência de ano, mês e dias do ID do chamado
  • Você terá “apenas” pouco mais de 35 milhões de IDs disponíveis para novos chamados.

Solução 2 — Criar um padrão regularmente

ALTER TABLE glpi_tickets AUTO_INCREMENT=2122010001;

Você precisa alterar todos os meses ou anos e vai perdendo os IDs entre esses avanços.

O campo anterior para Ano, se manterá 21 para sempre. O campo posterior é que será o ano e ignora-se os dois primeiros campos.

xx22010001
xx22020001

Exemplos:

Em Janeiro ALTER TABLE glpi_tickets AUTO_INCREMENT=2122010001;
Em Fevereiro ALTER TABLE glpi_tickets AUTO_INCREMENT=2122020001;
Em Março ALTER TABLE glpi_tickets AUTO_INCREMENT=2122030001;

Ou apenas alterar anualmente.

Prós

  • Você volta a abrir chamados instantaneamente
  • Você permanece com a referência de Ano e/ou Mês. A depender da maneira escolhida de incrementar o ID.

Contra

  • Você vai perdendo alguns milhares de ID a cada incremento futuro
  • Não tem volta. Você vai usando IDs de datas posteriores e não tem como voltar.

Solução 3 – Alterar o tipo de campo direto no MySQL

Para esse deixarei a discussão do github do plugin.

Invalide ticket format number · Issue #4 · yllen/behaviors (github.com)

Não tem como voltar o campo depois. Faça por sua conta e risco.

Se, em algum momento sair uma solução para a limitação de IDs em 2.147.483.647, podemos voltar a usar o behaviors com o parâmetro de ymd0001.

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Como Ativar a API para integrar sistemas com o GLPI

A API de um sistema é o que permite escalabilidade, integração e continuidade das ferramentas usadas em qualquer empresa.

O GLPI é aquele software open-source que não tem como premissa bloquear ou congelar expansões nas empresas, a ponto de dificultar integrações entre sistemas.

Na versão 9.1 o uso do plugin webservices deixou de ser um requisito para integrar sistemas. Era engessado, trazia dificuldades de administração e nem sempre funcionava como queríamos. Pensando em aprimorar essas integrações a Teclib’ adicionou uma API ao sistema.

Da versão 9.1 até a 9.5, que estamos agora (Dezembro de 2021), diversos aprimoramentos foram sendo inseridos. E hoje é possível realizar uma infinidade de integrações que fazem alterações, consultas, cadastros, atualizações diretamente no GLPI sem ser preciso milhares de triggers em bancos de dados, selects acessando o banco de dados de modo inseguro, VPNs infinitas e nem acesso aos arquivos do sistema do GLPI.

Com a API muita coisa foi simplificada.

O processo de consumo e consulta à documentação das APIs depende, primariamente da ativação e adequada configuração do módulo dentro do GLPI.


  • Certifique-se de que a URL da aplicação está correta. É a partir dessa configuração que o seu GLPI fará todas as ligações de URL do sistema.
    • Em Configurar > Geral > URL da Aplicação
Configurar URL da Aplicação no GLPI
  • Habilite a API e ceritfique-se de que a URL da API está correta e ative a API Rest
    • Em Configurar > Geral > API
Ativar API do GLPI
  • Escolha quais serão os métodos de Autenticação que serão permitidos
    • Em Configurar > Geral > API > Autenticação
      • Habilitar login com credenciais – Permite que se acesse a API e seja obtido um token de sessão com credenciais de usuário
      • Habilitar que se faça login com token externo – Permitie que se acesse a API e seja obtido um token de sessão com o token externo de usuário. Será necessário gerar o token na aba de Configurações do Usuário

Adicionar Cliente de API

O cliente de API é mais uma camada de Segurança que permite a granularização e auditoria dos acessos.

É recomendado que:

  • Cada aplicação que acesse a API do sistema use um cliente de API diferente
  • Cada serviço deve ter um usuário no sistema
    • Indiferente de você usar o login com credenciais ou com token externo, o ideal é que cada serviço tenha seu acesso para:
      • Facilitar a alteração de token
      • Desativação de serviço
      • Auditoria de acessos à API
      • Organização e continuidade do negócio
    • Até acessos de cada funcionário ou fornecedor que usa um aplicativo móvel, pode ser adicionado um cliente de API distinto

Cada cliente de API é composto de:

  • Nome
    • Identifique de maneira fácil a que cada cliente se refere.
    • Padronize a forma de nomear as aplicações.
  • Comentário
    • É onde você pode elaborar uma descrição mais completa do que se refere essa aplicação.
    • Facilita a continuidade do negócio em momentos os quais alguém que não participou da criação inicial desse cliente possa entender do que se trata.
  • Ativar ou não
  • Registro de Log
    • Histórico, salva o registro apenas na aba Histórico da API – Ver nível de Logs em Configurar > Geral > Sistema
    • Log, salva na pasta de logs do GLPI
  • Filtro de Acesso
    • Intervalo de endereço IPv4
      • Defina um intervalo mais próximo possível do que você precisa.
      • Use o princípio do menor acesso necessário. Se você não precisa liberar para todos os IPs do mundo, você simplesmente não o faz. Nem por preguiça de entender o escopo.
      • Exemplos
        • 0.0.0.0 – 0.0.0.0 libera para todos os endereços de IP que tentarem acessar o sistema
        • 127.0.0.1 – 127.0.0.1 libera apenas ao próprio GLPI
        • 192.168.0.1 – 192.168.0.50 libera o acesso apenas aos endereços IP da rede local com IP 1 ao 50.
    • Endereço IPv6
      • Quando a sua aplicação usa IPv6
    • Token de aplicação (app_token)
      • Pode ser resetado sempre que a aplicação for comprometida ou por necessidade de alteração da “senha” da aplicação.
Adicionar Cliente de API

Depois de configurado, você vai usar a URL da API, app_token e ou user_token para configurar o acesso à API do seu GLPI.

No vídeo eu faço os testes e demonstro o uso.

Você pode também testar o uso com o nosso Script de Backup que abre chamados no seu GLPI

Você gostaria de ajudar o blog de alguma forma?

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Meet the new GLPI 10 Beta Release

This is the most powerful and beautiful GLPI version which I’ve already had access to!

To celebrate this important date, December 15th, 2021, I want to present my English speaker followers who ask me to make more videos and explore the new tool with you!

Você gostaria de ajudar o blog de alguma forma?

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Conheça o novo GLPI 10 BETA – Dezembro 2021

Essa é a versão mais poderosa e bonita do GLPI a que eu já tive acesso!

E para brindar uma data importante, que é esse dia 15 de Dezembro de 2021, eu quero trazer-vos um pouquinho do que já explorei dessa maravilha!

Não tem textão. As imagens mostram mais do que palavras.

Você gostaria de ajudar o blog de alguma forma?

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Imagem com o Arthur com cara de pergunta e uma caixinha de perguntas do Instagram com a pergunta, Quanto custa o GLPI?

Quanto custa o GLPI?

Olá, seja bem-vindo a mais um vídeo do quadro pergunte ao Arthur, onde vocês mandam as perguntas na caixinha e eu respondo aqui pelos vídeos para eles ficarem salvos já que lá na caixinha eles somem em 24h.

No vídeo de hoje eu quero falar sobre uma pergunta frequente: Quanto custa o GLPI?

O GLPI é um software francês Gestionnaire Libre de Parc Informatique sob o licenciamento GNU General Public License, o que permite a liberdade para usuários finais executarem, estudarem, compartilharem, e modificarem o software.

Ou seja, não tem custo de licenciamento. É grátis. É free. 0800, Vasco, Na Faixa.

Mas isso não significa que para que ele funcione 100% ele não vá gerar algum custo. Seja de aprendizado, hospedagem ou suporte especializado.

Acredito que só essa informação já merecia uma curtida aqui em baixo, não é mesmo?

Embora seja gratuito, o software é mantido pela editora francesa, Teclib desde 2015. Que dispõe de equipe especializada e preparada para manter o desenvolvimento constante da ferramenta. Visto os novos anúncios dos últimos 2 anos. A equipe é forte e tem seus níveis avançados de suporte, garantias e até sua própria nuvem compartilhada ou privada.

A GLPI Network:

  • Suporte de nível 3
  • Acesso aos parceiros integradores
  • Acesso a plugins exclusivos do novo marketplace
  • Garantia da editora

A GLPI Cloud na opção compartilhada ou privada, a depender da necessidade do seu negócio para

  • Conexão via VPN ao GLPI
  • Conexão direta ao banco de dados para BI

Ou então os canais da comunidade que envolvem desde a colaboração com traduções testes de bugs, reportes e sugestões a até doações em dinheiro.

Vou deixar os links aqui em baixo.

Alguém aqui já sabia que podia fazer doações ao projeto? Vale a pena visto o quanto ele nos auxilia, não?

Outros investimentos podem ser necessários a depender da expertise ou do tempo de aprendizado que a sua equipe tiver. Você pode contratar um parceiro para realizar treinamentos ou implantações completas, simplesmente seguir o seu projeto com as próprias pernas. É uma escolha a ser feita.

Mas me conta aí. Sabendo que o software é 0800, conta pra mim se você vai tocar esse projeto ou se precisaria de um banho de loja para tocar esse projeto aqui nos comentários.

GLPI Gratuito
GLPI Essencial e Fundamental
GLPI Expert – Torne-se um Especialista em GLPI
GLPI UX + CSC – Melhore a Experiência do Usuário
GLPI BI com Metabase – BI Open Source
GLPI – Pacote Completo Travessia 2020

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Plugin OS para GLPI 9.5 está de volta e tem easter egg nessa versão

Faz um tempo que muitos pedem pelo plugin de Ordens de Serviços, desenvolvido pelo Junior Marcati e ele atualizou o responsável por prover a impressão de chamados em PDF com assinatura e tem até um plus nessa versão.

O plugin encontra-se em fase beta, segundo o desenvolvedor, mas não temos tido problemas com o mesmo até o momento.

No vídeo eu mostrei como instalar um plugin no GLPI se ser pelo marketplace e mostrei como imprimir o chamado em PDF para assinatura ou a etiqueta com QR Code para colar no equipamento que entra no laboratório para agilizar o processo de atendimento pela equipe técnica.

Veja abaixo algumas telas

Tela de configuração do plugin ordem de serviço
Pré visualização da Ordem de Serviço já em PDF
O campo de solução em branco para preencher a mão caso necessário
Visualização da etiqueta com QR Code que direciona para o chamado no GLPI

Sim, é compatível com GLPI 9.5.x

Você gostaria de ajudar o blog de alguma forma?

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Configurações e dificuldades frequentes com as notificações no GLPI 9.5

Você gostaria de ajudar o blog de alguma forma?

Eu abri a câmera numa tarde e falei sobre algumas das maiores dificuldades do pessoal com as notificações do GLPI na versão 9.5. Mas o vídeo pode servir para as versões anteriores também, apenas com algumas alterações de nomes nas ações automáticas ou menus.

Aqui você vai encontrar estes pontos:

00:00 Introdução
01:19 Configurando as notificações por e-mail no GLPI
06:14 Apanhei pro Ubuntu que veio sem Cron 🙈
09:44 Instalando a Crontab no Ubuntu 20.04
10:10 Configurando a Cron do Linux para executar scripts do GLPI
10:24 Explicação sobre a Cron e o comando php no Linux
11:48 Ajuste da ação automática queuednotifications para executar via Cron do Linux
13:18 Explicação rápida sobre o Mailgate que também costuma congelar para recebimento de chamados por e-mail
14:00 Gatilhos das notificações e Destinatários
16:00 Checklist das notificações no #GLPI
16:50 Investigando o problema com as notificações
18:13 Ação automática travada


➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Treinamentos GLPI

GLPI Gratuito
GLPI Essencial e Fundamental
GLPI Expert – Torne-se um Especialista em GLPI
GLPI UX + CSC – Melhore a Experiência do Usuário
GLPI BI com Metabase – BI Open Source
GLPI – Pacote Completo Travessia 2020

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Interface Simplificada abrindo chamado em nome de outro usuário do seu grupo

Você gostaria de ajudar o blog de alguma forma?

Você gostaria de ajudar o blog de alguma forma?

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud

Você gostaria de ajudar o blog de alguma forma?

Backup do GLPI e Abertura de Chamado com API

Resumo do script:

Este script desenvolvido pela Servicedesk Brasil faz o backup do banco de dados e aplicação do GLPI e em seguida já abre um chamado com o resultado do script + informações que podem ser importante em uma tarefa de verificação da execução deste backup.

Pense nas possibilidades que trabalhar com APIs podem ser trazidas para a operação:

  • Conceito de variáveis para qualquer integração em Shell
  • Select via BD
  • Search dentro da API (script)
    • Dependendo do valor, abrir um chamado
  • Faz select em outro banco e abre chamado no GLPI
  • Dados de formulário e abrir chamado dentro do GLPI
  • Trigger do Zabbix e joga para dentro de um chamado de GLPI

Vamos ao que interessa:

Para quem tiver interesse, o Danilo Santos explicou tim-tim por tim-tim cada passo para fazer o script ser executado.

O acesso ao script para download você tem no nosso repositório do Github

O vídeo você encontra no meu canal ou no da Servicedesk Brasil. Aproveita e já se inscreve nos dois!

Você gostaria de ajudar o blog de alguma forma?

Configurar a URL da API

Liberar os hosts e conexões com permissão a conectar na API

Nome para a conexãoEntidades Filhas SimAtivo SimRegistrar log de conexões

  • Histórico: vai para o banco de logs – Menos acessos, cresce o banco de dados de logs
  • Logs: Gerar arquivo de log – Muito acesso, cresce o arquivo de log

Configurar e Habilitar a API

Configurar > Geral > API

  • Habilitar a API Rest = Sim
  • Habilitar login com credenciais = Sim
  • Habilitar que se faça login com token externo = Sim
  • Se você tiver entidades filhas, marque a caixinha Entidades Filhas = Sim para que você consiga executar a API não só na Entidade Raíz mas também nas filhas

Configurar Cliente de API

Por segurança a API do GLPI precisa ser habilitada e também devemos definir quais serão os hosts que terão acesso à esta API. Este é o princípio do menor privilégio.

  • Se você for usar a API apenas na rede interna, libere apenas para a rede interna.
  • Se apenas um host criará sessões na API, libere apenas para o endereço deste host.
  • Exemplos de Endereços de Cliente de API:
    • Toda rede interna 10.1.1.0 – 10.1.1.254
    • Qualquer rede (ZONA DE PERIGO) 0.0.0.0 – 0.0.0.0
      • Lembre-se que qualquer equipamento conectado e com acesso ao seu servidor pode ter acesso à API e a amarração de token e credenciais deve ser ainda mais ajustada.
    • Apenas um IP 10.1.1.254 – 10.1.1.254
    • Apenas Localhost 127.0.0.1 – 127.0.0.1
  • Na primeira configuração do Cliente da API você deve usar o re-gerar no token da aplicação para que a ferramenta crie um token para ser usado no script depois

Configurada a API e o cliente de API, que para este caso será o próprio localhost o executor do backup, partimos para a configuração do perfil e usuário para o serviço de backup.

Criação de perfil e usuário de Serviço específico para o Backup

Outra boa prática é você gerar um perfil ESPECÍFICO para um usuário reservado para realização de Backups. Desta maneira você não corre dois riscos:

  1. O script para de funcionar porque alguém mexeu num usuário que é usado para mais de uma finalidade e talvez nem todos saibam todas estas finalidades
  2. Você tem certeza de quais são os acessos e permissões que o usuário tem dentro do GLPI.

Criando um perfil para o backup

  • Em Administração > Perfis, crie um novo perfil.
  • Dê um nome para este perfil e selecione a Interface padrão como a Interface do perfil.
  • Navegue em cada módulo e desmarque TODAS AS CAIXINHAS de permissões que este usuário não precisará acessar.
  • Para este exemplo, o usuário precisa APENAS de acesso à CRIAÇÃO DE CHAMADOS. Portanto
    • Aba Assistência > Chamados > Criar
  • Os demais acessos podem e devem ficar desativados por segurança

Criando um usuário

  • Em Administração > Usuários, crie um novo usuário.
  • Atribua o perfil criado anteriormente na Entidade desejada. Neste exemplo deixarei na Raiz com acesso Recursivo

Você vai precisar criar uma Regra de Negócio, Grupo, Categoria e buscar as IDs destes itens para alimentar o script posteriormente.O script:

  • Liga com Grupo via Regra de Negócio
  • Insere origem da Requisição
  • Insere o Tipo de chamado definido na API
  • Insere um título definido via script Título – Texto + Data e Hora
  • Descrição
    • Ele executa comandos do Linux para descrever o que foi salvo, tamanho salvo e etc.

Estruturação do Backup no Linux

  • Crie uma estrutura de pasta para armazenar o seu script de backup
  • Neste exemplo vamos usar a seguinte estrutura:
    • Pasta /backup
      • Dentro desta pasta, duas outras chamadas, app e sql
      • Na app vamos salvar a Aplicação do GLPI
      • Na sql vamos salvar o MySQLdo GLPI

Definindo os diretórios do GLPI via downstream.php

Documentação oficial sobre o downstream e dicas de segurança

  • Por padrão a configuração dos diretórios do GLPI, ou seja, o caminho que o GLPI vai usar para encontrar os diretórios, pode ser verificada ou alterada no arquivo glpi/inc/downstream.php.
    • Estes caminhos podem ser alterados para quando você precisa colocar a aplicação ou seus anexos em uma storage, por exemplo, e retirar a pasta files de dentro da pasta do servidor de aplicação.
  • Para o exemplo, vamos abrir o arquivo e verificar onde estão definidos os caminhos da pasta de anexos e de logs para fazer o backup destas também.
  • Veja que os arquivos de anexos está em /var/lib/files
  • Os logs em /var/log/glpi

Entendendo o script de Backup

Acesse o script no nosso github.

  • Faça o download do script e salve no seu servidor do GLPI
  • Configure os acessos da API dentro do script
#!/bin/bash
#Backup + Chamado no GLPi via API
#Autor = Servicedesk Brasil | Danilo Santos, Danilo Motta
#Versao = 2.1 - Data atualizacao = 05-MAI-21
#API GLPI Acessos

GLPI_URL_API='https://travessia.glpibrasil.com.br/apirest.php'
GLPI_APP_TOKEN='GZU5W7PEadpt9arPgFXt8LGsYiC7GnSsuOkxNHY5';
GLPI_USER_TOKEN='3AU4DS1s1Dcjy09Y5EkSktc2mm3tqiwSimuJHfPf';
GLPI_ID_ENTIDADE=0;						#ID da entidade de abertura do chamado
GLPI_ID_CATEGORIA=148;						#ID da categoria
GLPI_ID_TIPO=2;							#Tipo de chamado [1=Incidente, 2=Requisição]
GLPI_ID_ORIGEM_REQUISICAO=8;					#Origem da requisição, é de onde veio o chamado(Exemplo '1' é o Helpdesk)
  • GLPI_URL_API que é a URL da API que definimos lá no primeiro passo Configurar > Geral > API;
  • GLPI_APP_TOKEN que é o token da aplicação que liberamos na configuração da API Configurar > Geral > API;
  • GLPI_USER_TOKEN que é o token de segurança do usuário que criamos para o usuário de serviço para o backup Configurar > Administração > Usuários > Usuário do backup > API Token;
  • GLPI_ID_ENTIDADE aqui vamos usar a Raiz, então vai ser 0 mas pode ser a entidade que você precisar;
  • GLPI_ID_CATEGORIA Buscar a ID da categoria criada para este tipo de chamado;
  • GLPI_ID_TIPO Aqui será Incidente, se fosse Requisição seria, 1;
  • GLPI_ID_ORIGEM_REQUISICAO é de onde este chamado está vindo. Exemplo ID = 1 é Helpdesk.

Definidos os parâmetros de acesso à API, vamos para a parte de definição dos diretórios a serem salvos e para onde vão os arquivos

BACKUP_DIR_SQL='/backup/glpi/sql';				#Diretorio de destino Backup SQL 
BACKUP_DIR_APP='/backup/glpi/app';				#Diretorio de destino Backup Aplicacao
BACKUP_DIR_FILE='/backup/glpi/app';				#Diretorio de destino Backup Files/Anexos
BACKUP_DIR_LOG='/backup/glpi/app';				#Diretorio de destino Backup Logs
LOGFILE='/var/log/glpi/backup.log';				#Saida do LOG

Acima estão os diretórios PARA ONDE o sistema vai enviar os arquivos de backup

DBCONFIG='/etc/glpi/config_db.php';
DBUSER=`grep "dbuser" $DBCONFIG | cut -d "'" -f 2`;
DBPASS=`grep "dbpassword" $DBCONFIG | cut -d "'" -f 2`;
DBNAME=`grep "dbdefault" $DBCONFIG | cut -d "'" -f 2`;

Nestes parâmetros o sistema vai buscar os dados de acesso ao banco de dados do GLPI
Se você usa o modo de instalação tarball, talvez precise colocar os parâmetros de login e senha do banco no arquivo do script conforme abaixo.

  • Aqui uma dica é usar um usuário com acesso apenas de leitura no banco de dados.
  • Jamais o root.
#DBNAME='glpi';
#DBUSER='glpi';
#DBPASS='[email protected]';

A execução do script você pode acompanhar a partir dos 41:30 no vídeo.

Referências citadas no vídeo:
Thiago Passamani – http://www.thiagopassamani.com.br/blog/script-backup-do-glpi-mysql-e-diretorios-para-linux.html
Allan Lopes – https://github.com/allanlopesprado/Backup-GLPI


Treinamentos GLPI

GLPI Gratuito
GLPI Essencial e Fundamental
GLPI Expert – Torne-se um Especialista em GLPI
GLPI UX + CSC – Melhore a Experiência do Usuário
GLPI BI com Metabase – BI Open Source
GLPI – Pacote Completo Travessia 2020

➤ Site: https://www.arthurschaefer.com.br
➤ Instagram: https://instagram.com/arthurrschaefer
➤ Facebook: https://facebook.com/arthurschaefercombr
➤ LinkedIn: https://br.linkedin.com/in/arthurramosschaefer
➤ Twitter: https://www.twitter.com/arthurrschaefer
➤ Inscreva-se no Canal: https://www.youtube.com/ArthurSchaefer
➤ Canal no Telegram: https://t.me/arthurschaefer
➤ Baviera TI: https://www.bavierati.com.br
➤ Servicedesk Brasil: https://www.servicedeskbrasil.com.br
➤ Conheça a Teclib Cloud: https://www.arthurschaefer.com.br/glpicloud