Pular para o conteúdo principal

Integração Zabbix + GLPI


Versão atualizada

Essa atualização é em consequência de pedidos vindo dos gringos e também a pedido da Zabbix SIA por ser o 4.º conteúdo mais popular no recém criado https://share.zabbix.com/ e o 1.º entre os brasileiros. Para conferir a lista dos mais populares, acesse https://share.zabbix.com/popular

Há um tempo que eu queria desenvolver algo para integrar o Zabbix a algum outro sistema. Esse ano surgiu uma oportunidade de implementação de alguns sistemas de inventário e gerenciamento de chamados. Logo pensei em fazer uma integração para abertura e fechamento automático dos tickets quando ocorresse algum problema que o Zabbix identificasse.


Porém, o meu entusiasmo foi logo caindo quando eu percebi que não era uma coisa tão trivial de se fazer. Pesquisei várias fontes em busca de informações a respeito dessa integração, porém não passavam de tutoriais ensinando como abrir tickets no GLPI enviando um e-mail. Estudando mais um pouco o GLPI, percebi que não era possível fazer o fechamento do ticket por outro e-mail. Num dos fóruns que eu participo, surgiu a idéia de tentar fazer essa integração atráves do plugin Webservices que tem disponível para o GLPI. Em outra mensagem, uma pessoa enviou um link onde foi feito a integração do GLPI com a ferramenta Nagios utilizando esse plugin. Foi aí que eu ressolvi atacar e comecei a estudar como essa integração foi feita para que eu pudesse desenvolver para integrar com o Zabbix.


A partir desse momento surgiram várias dúvidas e também a necessidade de utilização de outros recursos, como a API do Zabbix. Pois, além da abertura do ticket, eu queria reconhecer o evento gerado pelo Zabbix de forma automática. Sendo assim, esse projeto iniciou com os seguintes propósitos:
  • Identificar uma trigger com status PROBLEM no Zabbix e executar uma ação.
  • Disparar a execução de um script PHP para abrir o ticket no GLPI usando o plugin Webservices.
  • Enviar o número de evento gerado pela ação juntamente com o identificador da trigger e o nome do host onde o problema aconteceu. Essas informações serão gravadas no ticket criado no GLPI.
  • Reconhecer o evento no Zabbix executando um script Python que faz uso da API do próprio Zabbix.
  • Identificar uma trigger com status OK no Zabbix e disparar a execução de um script PHP para fechar o ticket no GLPI, além de incluir um followup no ticket informando que o problema foi resolvido.
  • Utilizar o recurso de notificação de chamados disponível no GLPI.

Para seguir este tutorial, você deverá ter o Zabbix e o GLPI instalados. Não vou comentar sobre a instalação desses dois sistemas. Existem muitos tutoriais de instalação na web. Porém, os que eu recomendo são:

https://www.zabbix.com/documentation/2.2

http://zabbixbrasil.org/?page_id=7
http://www.glpi-project.org/spip.php?rubrique18
http://www.thiagopassamani.com.br/tags/glpi

As seguintes versões de software foram usadas nesta integração:

  • Zabbix 2.2
  • GLPI 0.84.3
  • Python 2.6.6
  • MySQL 5.1.69
  • PHP 5.3.3
  • Plugin Webservices 1.4

Creio não ter problemas de funcionar com a versão do Zabbix 2.x, pois a biblioteca Python API foi desenvolvida para funcionar a partir da versão 1.8. Mas quem vai querer usar versão anterior depois do lançamento da 2.2? A única dependência para o zabbix-glpi funcionar é a versão do GLPI e do plugin Webservices, que devem ser no mínimo as versões listadas acima.

Instalando o plugin Webservices no GLPI.

Antes de instalarmos o plugins, devemos suprir as dependências instalando os seguintes pacotes:
  • php-soap
  • php-xmlrpc
Obs.: Se o Zabbix estiver instalado em servidor separado do GLPI, você deverá instalar o pacote php-xmlrpc também no servidor do Zabbix.
 yum install php-soap php-xmlrpc -y
service httpd reload
Baixar e descompactar o plugin webservices dentro do diretório plugins do GLPI.
cd /var/www/html/glpi/plugins
wget https://forge.indepnet.net/attachments/download/1623/glpi_webservices-1.4.0.tar.gz
tar xf glpi_webservices-1.4.0.tar.gz

Ajustar as permissões do diretório que foi descompactado.
chown -R apache.apache webservices

Acessar o menu Configurar > Plugins na interface web do GLPI, aparecerá a tela conforme figura abaixo:



Após, clique no botão Instalar e em seguida no botão Habilitar.

O próximo passo é realizar a configuração do plugin, no qual fazemos acessando o menu Plugins > Web Services.

Será exibida apenas uma configuração com o nome Local. Clique no link para abrir a configuração, conforme tela abaixo:




Aqui, só precisamos informar o IP ou faixa de IP que terá acesso ao Webservice. No campo IPv4 address range, informe o IP do servidor Zabbix. Altere o campo Nome para Zabbix, apenas para ficar mais organizado.

Observando a imagem acima, você verá que eu coloquei a range 192.168.0.169-192.168.0.170. Isto porque eu utilizo servidores separados para o Zabbix e o GLPI. Se você utiliza apenas um único servidor, informe apenas o IP desse servidor nos dois campos.

O restante dos campos pode ficar sem alteração.

zabbix-glpi - Instalação e configuração

Baixe os scripts de intregração disponíveis em https://github.com/janssenlima/zabbix-glpi
Recomendo a instalação do pacote git para clonar o repositório.
yum install git
Após, clone o repositório:
cd /tmp/
git clone https://github.com/janssenlima/zabbix-glpi.git

Mova os scripts para o diretório externalscripts da instalação do Zabbix (ou um diretório de sua preferência).
mv *zabbix* /opt/zabbix/externalscripts/

Ajuste a permissão para o usuário zabbix e dê permissão de execução para os scripts.

chown zabbix.zabbix /opt/zabbix/externalscripts/*
chmod +x /opt/zabbix/externalscripts/*

O conteúdo do diretório ficará assim:

tree /opt/zabbix/externalscripts/
/opt/zabbix/externalscripts/
├── ack_zabbix_glpi.py
└── tickets_zabbix_glpi.php

Onde:

ack_zabbix_glpi.py é o script que faz o reconhecimento do evento no Zabbix via API.

tickets_zabbix_glpi.php é o script que faz abertura e fechamento de tickets no GLPI utilizando o plugin Webservices.

Instale a API Zabbix com o seguinte comando:
pip install zabbix-api


Agora, está faltando criarmos as ações para disparar a abertura e fechamento dos tickets.
Acesse o menu Configuração > Ações na interface web do Zabbix.

Criaremos duas ações. A primeira para abrir o ticket. Clique no botão Criar ação. Na tela seguinte dê o nome da ação. Vou chamá-la "Abrir Chamado". Na aba Ação não é preciso alterar os demais campos. Na aba Condições, podemos deixar como está, pois já vai satisfazer o que precisamos. Vale lembrar que a condição Valor da trigger = PROBLEMA é obrigatória. Na aba Ações criaremos uma nova operação com os seguintes dados:
  • Duração padrão do passo da operação: 60
  • Tipo da opração: Comando remoto
  • Lista alvo: Host: Zabbix server 
  • Tipo: Script personalizado
  • Executar em: Agent Zabbix
  • Comandos: php /opt/zabbix/externalscripts/tickets_zabbix_glpi.php eventhost="{HOSTNAME}" event="DOWN" state="{TRIGGER.STATUS}" hostproblemid=0 lasthostproblemid=0 servico="{TRIGGER.NAME}" triggerid="{TRIGGER.ID}" eventzabbix="{EVENT.ID}"
Algumas observações das configurações acima: A lista alvo deverá ser o host onde os scripts de integração se encontram; Não altere os parâmetros do campo comando, com exceção do caminho onde você gravou o script.

Crie outra ação com o nome "Fechar chamado". As únicas configurações que você precisa fazer são:
  • Na aba Condições, remova a condição de problema da trigger e inclua Valor da trigger = OK.
  • Altere o comando na aba Ações para: php /opt/zabbix/externalscripts/tickets_zabbix_glpi.php eventhost="{HOSTNAME}" event="UP" state="{TRIGGER.STATUS}" hostproblemid=1 lasthostproblemid=1 servico="{TRIGGER.NAME}" triggerid="{TRIGGER.ID}" eventzabbix="{EVENT.ID}"
Novamente. Não altere os parâmetros do comando, apenas o caminho do script no seu servidor, caso for diferente do que está.

Dica: Clone a ação para não precisar fazer tudo novamente, já que são apenas duas alterações a fazer, além de trocar o nome da ação.

Neste primeiro momento não se preocupe com as condições. Vá testanto aos poucos. Uma dica é você filtrar por grupo de hosts. Por exemplo, você deseja abrir chamados automaticamente apenas dos servidores, impressoras e roteadores, deixando fora equipamentos como desktop.

O parâmetro EnableRemoteCommands do arquivo zabbix_agentd.conf deve estar com o valor 1, que habilita a execução de comandos remotos.


Toda a configuração para fazer a integração entre o Zabbix e o GLPI foi realizada. 


Isso funciona mesmo?

O teste que eu vou fazer é forçar a parada do serviço SSH do próprio servidor do Zabbix. A imagem foi tirada da tela de Dashboard após o Zabbix identificar a que o serviço parou.




Observe na figura que após o incidente ser reconhecido, ele já executou uma ação e foi reconhecido. Isso significa que o ticket foi aberto. Temos outras formas de verificar o evento através do menu Monitoramento > Eventos. Clicando na data e horário do evento, obtemos informações detalhadas sobre o mesmo, conforme pode ser visualizado na figura abaixo:




Agora, vamos verificar o ticket criado no GLPI.



A figura acima exibe o ticket de ID 5 aberto e com status de novo e a descrição do problema com o número do evento gerado no Zabbix. É através desse número que o script ack_zabbix_glpi.py faz o reconhecimento do evento no Zabbix via API.

Ao abrirmos o ticket, podemos verificar outros campos, tais como a descrição do problema que exibe informações como nome do host, ID da trigger e seu status. Outra informação importante é a Origem da requisição, onde informa que este ticket foi criado por Webservices. Observe na figura abaixo:


Agora vamos iniciar o serviço SSH para o ticket ser fechado automaticamente. Acesse o menu Monitoramento > Eventos no Zabbix e verifique que o serviço já está OK.


Voltamos para o GLPI e verificamos que o ticket foi fechado.


 

Observe na coluna Status que mudou para Solucionado.

Clicando no ticket, veremos que o Followup foi inserido no registro após o seu fechamento automático. Observe a figura abaixo:



E assim a integração está realizada. Você poderá verificar os tickets abertos automaticamente quando uma trigger for disparada e ser fechado quando a trigger voltar ao normal. Existe um plugin de relatórios que podemos ver de forma gráfica a quantidade de registros que foram abertos e solucionados via Webservices. Mas isso é um assunto para outro post.

A respeito do recurso de notificação por e-mail, já está incluído e funcionando. Se você utiliza esse recurso do GLPI mas não quer receber os e-mails dos tickets abertos via Webservice, deverá comentar a linha no código do arquivo tickets_zabbix_glpi.php. Quando eu automatizar a instalação essa opção poderá ser escolhida no momento da instalação.

O próximo passo será empacotar o zabbix-glpi nos formatos RPM e DEB e automatizar a instalação. Atualizações e correções de erros serão informadas em posts neste blog.

Eu gostaria muito da opinião de vocês para que possamos manter esse projeto sempre atualizado, buscando melhorias de qualidade e performance, alterando opções que são geradas automaticamente etc. Para isso, preciso do feedback, tanto de crítica como de sugestões.

Comentários

  1. Olá Janssen,
    Primeiramente queria agradecer pela iniciativa excelente...
    Incrível ter funcionado, pois encontrei alguns erros que não consegui deixar funcional em meu ambiente.

    1º erro (não é na sua aplicação e sim no webservices)
    O erro encontra-se no arquivo methodhelpdesk.class.php (glpi/plugins/webservices/inc/methodhelpdesk.class.php)
    'status' => 'new',

    Com esse erro, o banco de dados do GLPI não aceite, porque o valor do STATUS é INTEIRO. Desta forma, alterei para 1, ficando:
    'status' => '1',

    2º erro (desta vez na sua aplicação)
    Esse erro fazia com que o webservices não solucionasse o problema porque não conseguia dar um select no campo correto, segue a linha com erro:

    $consulta_chamado = mysql_query("SELECT id FROM glpi_tickets WHERE status <> 5 AND name like '%$eventhost%' AND content like '%$triggerid%'");

    troquei para:

    $consulta_chamado = mysql_query("SELECT id FROM glpi_tickets WHERE status <> 5 AND name like '%$tiggerid%' AND content like '%$eventhost%'");

    Espero ter contribuido para seu projeto, excelente !!!

    ResponderExcluir
  2. Ainda não instalei e configurei, mas desde ja está de muito parabéns Janssen!!!

    ResponderExcluir
  3. Valeu mesmo!! estava atrás dessa solução...
    vou tentar implementar aqui na empresa
    PARABÉNS!!!

    ResponderExcluir
  4. Boa noite Janssen,

    Primeiramente, parabéns pelo projeto e pelo seu livro. São muito bons.

    Como havia falado com você anteriormente, ainda não consegui fazer funcionar a integração do Zabbix com o GLPI. Estou procurando um jeito de fazer um INSERT manual para o banco de dados do GLPI pra ver o que ha de errado, você tem como dizer como isso é possível de ser feito?

    Outra coisa, analisando a tabela do banco de dados glpidb glpi_plugin_webservices_clients verifiquei que os endereços ips estão com valores negativos tipo -1062706159. Será que o problema não é na conversão desse ip?

    Desde já agradeço bastante a sua atenção.

    ResponderExcluir
  5. Vou começar a testar o script e qualquer coisa aviso. Ótima iniciativa.

    ResponderExcluir
  6. boa tarde, acabei de realizar a integração tendo o zabbix e glpi no mesmo servidor, ma so meu caso o zabbix manda o evento, mas nao registro nada no glpi, alguem saberia o pq?

    ResponderExcluir
  7. Ótimo post, ótimo conteúdo, consegui integrar os dois no mesmo servidor, abre o chamado no GLPI, porém quando o evento é solucionado ele não fecha o chamado, faltou apenas isso para ficar perfeito, segui os passos do derfops e também não deu certo solucuionar o chamado automaticamente, voltei como pede o tutorial, eu uso GLPI 0.85.4 e Webservices 1.5.0, alguma ajuda de como posso fazer funcionar ? Muito Obrigado

    ResponderExcluir
    Respostas
    1. Ainda não testes com as versões que você está utilizando.

      Excluir
    2. Comigo aconteceu a mesma coisa.
      Abre chamado no GLPI, mas não reconhece o evento no Zabbix executando um script Python que faz uso da API do próprio Zabbix.
      Também não encerrou o chamado automaticamente no GLPI, vi o erro bad parameter (ticket) pelo debug do webservice.
      Versões:
      GLPI - 0.85.2
      Zabbix - 2.0
      Plugin Webservice 1.5

      Excluir
  8. Hi Janssen,

    Thanks a lot for this script and tutorial. I managed to implement it in our environment and it works perfectly especially with specifications I wanted.

    I want to ask you if it's possible to assign an en entity to the ticket by joining an attribute from the two databases (Zabbix's and GLPI's)

    I have the group names of Zabbix similar to the names of GLPI's entities but I can't find a way to do it.

    Do you think this could be possible ?

    Thank you a lot.

    ResponderExcluir
    Respostas
    1. Hello Samih,

      Yes, it's possible.
      Please let me know what is the field in the registration screen that you want to add this information that I check for you.

      If possible, please printscreen highlighting what you want. Can be to my email janssenreislima@gmail.com.

      Excluir
  9. Janssen, tenho o zabbix instalado no debian, aparentemente tudo funciona mas quando acontece o evento, mostra que o script foi executado porém não abre o chamado. Poderia me ajudar ?

    ResponderExcluir
    Respostas
    1. Executa o comando no terminal do servidor (o mesmo que você configurou na ação passando os parâmetros corretos). Verifique se o chamado será aberto. Caso não for, poste aqui a saída da execução para eu analisar o erro.

      Excluir
    2. Consegui fazer ele abrir o chamado, separando os servidores, que antes estavam rodando na mesma máquina. Mas agora tem outro problema ele abre o chamado mas não encerra.

      php /usr/local/share/zabbix/externalscripts/tickets_zabbix_glpi.php eventhost="Zabbix server" event="UP" state="OK" hostproblemid=1 lasthostproblemid=1 servico="Zabbix server is unavailable by ICMP" triggerid="13557" eventzabbix="137"
      + Calling 'glpi.test' on http://192.168.0.225 /glpi/plugins/webservices/xmlrpc.php
      + Calling 'glpi.doLogin' on http://192.168.0.225 /glpi/plugins/webservices/xmlrpc.php
      PHP Warning: mysql_connect(): Access denied for user 'glpi'@'srv-zbx.veloo.com.br' (using password: YES) in /usr/local/share/zabbix/externalscripts/tickets_zabbix_glpi.php on line 122
      Access denied for user 'glpi'@'srv-zbx.empresa.com.br' (using password: YES)

      Excluir
    3. Instalei 2 maquinas do zero pra ver se resolvia, apareceu agora outro erro quando copio o código com os parâmetros.

      php /usr/local/share/zabbix/externalscripts/tickets_zabbix_glpi.php eventhost="Zabbix server" event="DOWN" state="PROBLEM" hostproblemid=0 lasthostproblemid=0 servico="Zabbix server has just been restarted" triggerid="13502" eventzabbix="72"
      + Calling 'glpi.test' on http://192.168.4.22/glpi/plugins/webservices/xmlrpc.php
      PHP Fatal error: Call to undefined function xmlrpc_encode_request() in /usr/local/share/zabbix/externalscripts/tickets_zabbix_glpi.php on line 76

      Excluir
    4. Você instalou o pacote php-xmlrpc? Deu permissão para servidor Zabbix fazer chamadas ao plugin webservices? Se quiser, pode me passar e-mail. Ao resolvermos o problema, postamos aqui a solução.

      Excluir
  10. Boa Tarde, gostaria de sua ajuda para resolver meu problema com a instalação, fiz o passo a passo mas quando ocorre um evento, no Dashboard mostra que o comando foi executando, porem ao ir em eventos, não tem nada lá e tambem não abre o chamado no GLPI. o que pode ser

    ResponderExcluir
  11. Boa Tarde, gostaria de sua ajuda para resolver meu problema com a instalação, fiz o passo a passo mas quando ocorre um evento, no Dashboard mostra que o comando foi executando, porem ao ir em eventos, não tem nada lá e tambem não abre o chamado no GLPI.

    ResponderExcluir
  12. Janssen,
    teste o script na mesma versão que esta no post, funcionou perfeitamente.

    Agora estou com dificuldades para fazer esse funcionar na versão 0.9.1 do GLPI e WebServices 1.6.0.


    zabbix:/usr/share/zabbix/glpi # php /usr/share/zabbix/glpi/tickets_zabbix_glpi.php eventhost="Zabbix server" event="DOWN" state="PROBLEM" hostproblemid=0 lasthostproblemid=0 servico="Zabbix server VPN DOWN" triggerid="16039" eventzabbix="4131285"

    Calling 'glpi.test' on http://10.1.1.249/glpi/plugins/webservices/xmlrpc.php
    Calling 'glpi.doLogin' on http://10.1.1.249/glpi/plugins/webservices/xmlrpc.php
    Calling 'glpi.createTicket' on http://10.1.1.249/glpi/plugins/webservices/xmlrpc.php?session=3fa69uvfaedfppmjluu4rbkgq7 xmlrpc error(16): Command not allowed Traceback (most recent call last): File "/usr/share/zabbix/glpi/ack_zabbix_glpi.py", line 15, in reconhecer_evento = conexao.event.acknowledge({"eventids": sys.argv[1], "message": "Ticket " + str(sys.argv[2]) + " criado no GLPI."}) IndexError: list index out of range
    Calling 'glpi.doLogout' on http://10.1.1.249/glpi/plugins/webservices/xmlrpc.php?session=3fa69uvfaedfppmjluu4rbkgq7


    ResponderExcluir
    Respostas
    1. Ainda não tive tempo de testar com essas versões que você mencionou.

      Excluir
  13. Excelente iniciativa, parabéns! Vou testar assim que possivel.

    Obrigado.

    ResponderExcluir
  14. Ola Janssen.
    Obrigado funcionou a integração, ainda estou com o problema de fechamento automático no GLPI, mas estou trabalhando para resolver. Se conseguir posto a solução.

    ResponderExcluir
  15. Boa tarde Janssen,

    Otimo artigo, porem estou com o mesmo erro do Rodrigo Juliano Brunetto acima. estou com zabbix em um servidor e o glpi em outro. quando pego a saida do dashboard do zabbix e executo no console, ai abre o chamado.

    Poderia me dar uma ajuda para encontrar uma solução.

    Obrigado.

    ResponderExcluir
    Respostas
    1. Você executa na console do servidor Zabbix ou do GLPI?
      Provavelmente pode ser a permissão na range de IP que está configurada no Webservices do GLPI.

      Excluir
  16. Boa noite Janssen,

    Quando paro o ssh, ele marca no zabbix que executou o comando, porem não abre o chamado. no glpi o webservice está com o range da rede inteira, inclusive eu tenho outro plugin abrindo chamados no glpi, de forma diferente. quando pego a saida do comando do zabbix e executo no console, ai ele cria o chamado.

    ResponderExcluir
    Respostas
    1. Não deu erro na execução da ação?
      Se você executou o comando no terminal e abriu o chamado, a comunicação enter o Zabbix e o GLPI está OK.
      Seu problema está relacionado com o Zabbix executar o comando. Dá uma conferida nisso.

      Excluir
  17. Boa tarde Janssen, revisei toda a minha configuração e estava tudo ok. Estranhamente coloquei na opção Executar em: Agent Zabbix server, em vez de Executar em: Agent Zabbix e funcionou. outra coisa que fiz voi colocar o php com o path absoluto /bin/php.

    ResponderExcluir
    Respostas
    1. Na minha configuração estava dando o erro de "agent not supported" fiz a alteração que você informou de "Agent Zabbix" para "Agent Zabbix Server" e resolveu meu problema...

      Excluir
  18. Bom dia Janssen,

    Estou com o seguinte erro na saida do comando:

    + Calling 'glpi.test' on http://10.10.10.200/glpi/plugins/webservices/xmlrpc.php
    + Calling 'glpi.doLogin' on http://10.10.10.200/glpi/plugins/webservices/xmlrpc.php
    + Calling 'glpi.addTicketFollowup' on http://10.10.10.200/glpi/plugins/webservices/xmlrpc.php?session=3k9l6c0md19rrlmtagdj7jbsk0
    xmlrpc error(14): Bad parameter (ticket)
    + Calling 'glpi.doLogout' on http://10.10.10.200/glpi/plugins/webservices/xmlrpc.php?session=3k9l6c0md19rrlmtagdj7jbsk0

    Pode me ajudar?

    ResponderExcluir
    Respostas
    1. Posso sim.

      Abre uma issue no meu projeto do GitHub: https://github.com/janssenlima/zabbix-glpi/issues

      É por lá que estou resolvendo os problemas dos usuários.

      Excluir
    2. Hi Janssen, I did it

      https://github.com/janssenlima/zabbix-glpi/issues/7

      Thanks for all your collaboration.

      Excluir
  19. Ola amigo nao conseguir fazer funcionar. ao executar o scrip
    [root@localhost /]root@localhost /]# + Calling 'glpi.test' on http://localhost/glpi/plugins/webservices/xmlrpc.php
    # xmlrpc error(1): Acesso negado
    bash: syntax error near unexpected token `('

    ResponderExcluir
    Respostas
    1. Abra uma issue no GitHub. Por lá que eu dou o suporte a essa integração.

      Excluir
  20. Hi Janssen,

    I want to know if it's possible create the tickets executing the script directly in Zabbix Server instead the host, not all my hosts has permissions to execute commands.

    Thanks for all your work it's great!!

    ResponderExcluir
    Respostas
    1. Hi Janssen, how it could be possible? just changing the "target" to a host and choosing the zabbix server ? thanks!

      Excluir
    2. Hi Janssen, I just made the change in the actions and also in the zabbix_agent.conf (EnableRemoteCommands=1) and restart the service. but the event logs it's showing "Not supported by Zabbix Agent". I need to perform any other change?

      Excluir
  21. BOm dia !
    PArabens pelo tutorial
    Janssem, essa integração funciona no GLPI 0.90.3 ?

    ResponderExcluir
  22. Olá,
    O script funcionou após algumas alterações que encontrei nos comentários deste post.
    Apenas a action de fechamento do chamado não funciona, ela é dada como executada no Zabbix mas no GLPI os chamados permanecem abertos.

    Tem alguma informação para este problema?

    Gratx

    ResponderExcluir
  23. Boa tarde! O plugin WebServices só funciona para GLPI 8.5?

    ResponderExcluir
  24. Boa tarde Janssem,
    Estou usando o zabbix 3.0 e glpi 0.90.3, fiz todo o procedimento, chega a abrir os chamados, mas não está fechando os mesmos, não sei o que está acontecendo, se puder me orientar no que pode estar errado.

    Obrigado.

    ResponderExcluir
    Respostas
    1. O problema é o status da triger, aqui estou com este mesmo erro.
      Você conseguiu alguma solução?

      Excluir
  25. Bom dia, por favor Janssen sabe informar se funciona o Zabbix 3 com GLPi 9.1? ah! comprei o livro Livro - Monitoramento de Redes com Zabbix, muito bom! Obrigado e parabéns!

    ResponderExcluir
    Respostas
    1. Não funciona. o GLPI nessa versão não utiliza mais WebServices. Agora tem API própria.

      Excluir
    2. Janssen, dei uma olhada mas não consegui encontrar essa API do glpi que vc mencionou, tem algum link q possa me ajudar?

      Excluir
  26. Amigo tem algum tutorial para Debian 8 ? to apanhando desse tutorial

    ResponderExcluir
  27. Tem algum tutorial para debian 8 e zabbix 3

    ResponderExcluir
  28. Hello,

    I have a problem with the opening/closing ticket in GLPI.

    I tried to launch the script manually from de Zabbix server with the command :

    php /usr/lib/zabbix/externalscripts/tickets_zabbix_glpi.php eventhost="{HOSTNAME}" event ="DOWN" state="{TRIGGER.STATUS}" hostproblemid=0 lasthostproblemid=0 servico="{TRIGGER.NAME}" triggerid="{TRIGGER.ID}" eventzabbix="{EVENT.ID}"

    It returns only : Calling 'glpi.test' on http://X.X.X.X/glpi/plugins/webservices/xmlrpc.php

    Can you help me ?

    Zabbix version 3.0.7 on Ubuntu
    GLPI version 0.90.3 and WebServices 1.6

    Thank's for your answer!

    ResponderExcluir
  29. Olá Jenssen. Não sei se tu ainda responde por aqui, enfim. Tenho um problema na parte do tutorial que pede pra eu dar um pip install zabbix-glpi.

    Recebo o seguinte erro: Could not find a version that satisfies the requirement zabbix-glpi (from versions: )
    No matching distribution found for zabbix-glpi


    Estou usando Zabbix 3.2.4 e o GLPI 0.90.5 em servidores diferentes.

    ResponderExcluir
  30. Saudações amigo, quando o chamado é solucionado no GLPI ele não deveria setar a data de solucionado no momento do fechamento?

    ResponderExcluir
  31. Alguém conseguiu instalar esse zabbix-api ?

    ResponderExcluir
  32. Global configuration : edit the bundled .htaccess
    Dynamic deactivation (by client) available
    Dynamic activation requires > 5.3.0

    ResponderExcluir
  33. Global configuration : edit the bundled .htaccess
    Dynamic deactivation (by client) available
    Dynamic activation requires > 5.3.0

    ResponderExcluir
  34. root@debian:/opt/zabbix/externalscripts# php tickets_zabbix_glpi.php
    + Calling 'glpi.test' on http://localhost//var/www/html/glpi/plugins/webservices/xmlrpc.php
    PHP Warning: file_get_contents(http://localhost//var/www/html/glpi/plugins/webservices/xmlrpc.php): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
    in /opt/zabbix/externalscripts/tickets_zabbix_glpi.php on line 80
    + No response

    ResponderExcluir
  35. root@debian:/opt/zabbix/externalscripts# php tickets_zabbix_glpi.php
    + Calling 'glpi.test' on http://localhost//var/www/html/glpi/plugins/webservices/xmlrpc.php
    PHP Warning: file_get_contents(http://localhost//var/www/html/glpi/plugins/webservices/xmlrpc.php): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
    in /opt/zabbix/externalscripts/tickets_zabbix_glpi.php on line 80
    + No response

    ResponderExcluir
  36. root@debian:/opt/zabbix/externalscripts# php tickets_zabbix_glpi.php
    + Calling 'glpi.test' on http://localhost//var/www/html/glpi/plugins/webservices/xmlrpc.php
    PHP Warning: file_get_contents(http://localhost//var/www/html/glpi/plugins/webservices/xmlrpc.php): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
    in /opt/zabbix/externalscripts/tickets_zabbix_glpi.php on line 80
    + No response

    ResponderExcluir
  37. Parabéns! Muito bom seu trabalho. Estou implementando, mas parei numa incompatibilidade entre o plugin webservices e meu glpi que ja está na versão atual 9.2.1. Sabe me informar se já existe plugin pra essa versão. Fiz algumas pesquisas, mas não encontrei. Essa é a mensagem apresentada no GLPI: Web Services 1.7. GPLv2+ Não instalado Remi Collet, Nelly Mahu-Lasson Web Sim This plugin requires GLPI >= 9.1 and GLPI < 9.2

    ResponderExcluir
  38. Parabéns pela contribuição. Excelente trabalho!
    Gostaria de tirar uma dúvida com vcs.
    Estou com dificuldade em instalar o Webservices 1.7 no GLPI 9.2.1 usando o Debian.

    Pesquisei, mas não achei a versão do plugin compatível com esta versão do GLPI (atualizada).

    A mensagem apresentada é:

    Web Services 1.7. GPLv2+ Não instalado Remi Collet, Nelly Mahu-Lasson Web Sim This plugin requires GLPI >= 9.1 and GLPI < 9.2

    Desde já, agradeço a atenção!

    ResponderExcluir
  39. Buenas noches, mi nombre es JORGE QUESADA - Colombia. Excelente iniciativa, yo le pediría que en el tutorial de configuracion de las acciones de zabbix pusieras las imagenes de como deben quedar, pues he tratado de seguir paso a paso la instalación en versiones mas recientes sobre un server ubuntu 16.04 y hasta el momento todo marcha ok, pero no he podido terminar de configurar las acciones porque hay algunas opciones que no observo, no se si sea porque estoy trabajando con versiones mas nuevas. Cordial saludo desde Bucaramanga - Colombia, excelente tu trabajo.

    ResponderExcluir
  40. I willing to test this, I am thinking to install Zabix and GLPi on the same machine. Can anyone please help me to get the Pre-Requisites for this. I have bit confusions still. Should I install GLPi on Linux machine?

    ResponderExcluir
  41. Hello janssenlima,
    Salute to you for this integration
    how we should do this in java REST API?
    Can we only update your python code to Java code and Run it on the zabbix and glpi machine.
    Thanks in advance.

    ResponderExcluir
  42. any updates for the newest zabbix and GLPI?

    ResponderExcluir
  43. Janssen pela API como configurar o fechamento do Chamado? seria da mesma forma do WebServices?

    Obrigado

    ResponderExcluir
  44. Boa tarde, ele funciona com o GLPI 9.3 ? Eu vi que você respondeu outro comentário e mencionou uma API do Glpi, você poderia passar o link ?

    ResponderExcluir
  45. Olá, fiz toda a configuração no meu glpi 9.4.4, versão 2.0 do webservice, e zabbix 4.4.3. Ele fez a abertura do chamado no GLPI, mas nao fez o fechamento nem registrou o reconhecimento. Sabe me dizer o que pode ser ?

    ResponderExcluir
  46. Bom dia,
    Janssen estou com problema na hora de executar o comando tree /opt/zabbix/externalscripts/ ( Utilizou o Debian 10 ) ai ele me retorna -bash: tree: comando não encontrado

    ResponderExcluir
  47. Boa Tarde janssen tudo bem?
    estou com problemas para configurar a abertura do chamado poderia me ajudar??
    Quando eu testo a opção service ssh stop, ele envia o email para mim como configurei mas não executa as açoes de abrir e fechar o chamado.

    GLPI v 9.4.5
    Zabbix v 4.4
    Debian V 10

    ResponderExcluir
  48. Olá Janssen tudo bem?
    Estou com dificuldades em fazer funcionar a abertura de chamados no GLPI.
    Quando eu executo o service ssh stop, o Zabbix executa a tarefa de envio de email mas não a de abertura e fechamento de chamados no GLPI.
    Poderia me ajudar?

    Versões
    Glpi - 9.4.5
    Zabbix - 4.4
    Debian - 10

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Primeiros passos com API do Zabbix

Bom galera, Faz tempo que não posto nada sobre Zabbix. Então, quis presentear vocês com um conteúdo mais avançado. Espero que ao menos 1 vez por mês coloco mais assuntos como esse no blog. Vou mostrar para vocês como utilizar a API do Zabbix. Antes vou explicar de forma básica o que API para os que não sabem do que se trata. Programadores tem a obrigação de saber.  :P - API  - Application Programming Interface  - é um conjunto de rotinas e padrões estabelecidos por um software. Isso permite que aplicações de terceiros utilizem as funcionalidades oferecidas pelo software.

Usando LSOF para verificar porta usada por determinado processo

Outro dia fui realizar alguns testes em aplicações rodando no JBoss e verifiquei que nenhuma aplicação estava funcionando. Verifiquei no log do JBoss que o serviço iniciava e ocorria vários erros, informando que não conseguia fazer o deploy das aplicações. Mesmo parando o serviço do JBoss, verifiquei com a ferramenta nmap que a porta 8080 continuava aberta.