Integração do Zabbix com Grafana

Na Zabbix Conferece 2015 foi apresentado um estudo de caso em que o Zabbix estava integrado a outras ferramentas e uma delas chamou bastante a minha atenção e a do meu amigo André Déo. A ferramenta se chama Grafana.

Com ela é possível visualizar os dados coletados no Zabbix em gráficos e dashboards muito lindos e bem trabalhados. Veja algumas imagens abaixo ou acessando diretamente este site http://play.grafana-zabbix.org/

aExemplo de monitoramento de nível de serviço.

9e6ee67e-17a3-11e5-85de-fe9dcc2dd375Exemplo de dashboard.

622ec3be-17ad-11e5-8023-eba137369cfeExemplo de gráfico.

 A integração do Grafana com o Zabbix ocorre através do uso de um plugin desenvolvido pelo russo Alexander Zobnin, que fez um ótimo trabalho e bem documentado. O plugin e a documentação do mesmo estão acessíveis nestas páginas: https://github.com/alexanderzobnin/grafana-zabbix e http://docs.grafana-zabbix.org

Este plugin faz uso da API do Zabbix e a integração com o Grafana é possível a partir do Zabbix 2.0.

Para a execução deste tutorial foram utilizados os softwares abaixo:

Server A

  • Sistema operacional: Debian 9 64 bits e Ubuntu Server 16.04 64 bits
  • Zabbix 3.4.x
  • Grafana 4.4.x

Server B

  • Sistema operacional: CentOS 7 64 bits
  • Zabbix 3.4.x
  • Grafana 4.4.x

Atenção.:

Neste tutorial, não será mostrado a instalação do Zabbix.

Na execução deste tutorial, o Grafana foi instalado na mesma máquina que o Zabbix, mas se você preferir pode instalar em uma máquina à parte, conforme mostra a imagem abaixo.

grafana_zabbixCenários de integração do Zabbix com o Grafana.

Instalação do Grafana


Observação: O Grafana não possui pacotes para 32 bits, ele é disponibilizado oficialmente apenas para sistemas de 64 bits.

Para instalar o Grafana no Debian 9 64 bits ou no Ubuntu Server 16.04 64 bits execute os seguintes comandos:

cd /tmp 
VERSION=4.4.3_amd64
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_$VERSION.deb 
sudo apt-get install -y adduser libfontconfig 
sudo dpkg -i grafana_$VERSION.deb
sudo update-rc.d -f grafana-server defaults

Os comandos usados nos dois métodos foram obtidos no site oficial do Grafana, nas páginas:

No primeiro link é mostrado mais detalhes sobre o pacote, como por exemplo: local dos binários, local do arquivo de log, local dos arquivos de configuração, entre outros.

Inicie o Grafana com um dos comandos abaixo.

sudo service grafana-server start
ou
sudo systemctl start grafana-serve

Para instalar o Grafana no CentOS 7 64 bits crie o respositório:

vi /etc/yum.repos.d/grafana.repo

Conteúdo do arquivo /etc/yum.repos.d/grafana.repo:

[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

E em seguida execute os seguintes comandos:

yum install -y grafana
systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server

A saída do comando de status deve ser:

grafana-server.service - Grafana instance
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Seg 2016-12-12 14:59:40 BRST; 1 day 1h ago
     Docs: http://docs.grafana.org
 Main PID: 7229 (grafana-server)
   ...

Em seguida basta configurar o serviço para inicializar automaticamente:

systemctl enable  grafana-server

O log do Grafana fica em: /var/log/grafana/

O arquivo de configuração do Grafana fica em: /etc/grafana/grafana.ini

O arquivo de variáveis de ambiente do Grafana fica em: /etc/default/grafana-server

O script de inicialização do Grafana fica em: /etc/init.d/grafana-server

O banco de dados do Grafana é em Sqlite3 e fica em: /var/lib/grafana/grafana.db

O Grafana é acessível a partir da URL http://IP-SERVIDOR:3000.

O usuário é admin e a senha padrão é admin.

Integrando o Grafana com o Zabbix

Liste os plugins disponíveis para serem instalados no Grafana

sudo grafana-cli plugins list-remote

Deve ser exibido um resultado semelhante a este:

id: abhisant-druid-datasource version: 0.0.2
id: alexanderzobnin-zabbix-app version: 3.1.2
id: bosun-app version: 0.0.25
id: bosun-datasource version: 0.0.5
id: briangann-gauge-panel version: 0.0.1
id: crate-datasource version: 0.1.0
id: digiapulssi-breadcrumb-panel version: 1.0.0
id: fastweb-openfalcon-datasource version: 1.0.0
id: fetzerch-sunandmoon-datasource version: 0.1.1
id: foursquare-clouderamanager-datasource version: 0.9.2
id: grafana-clock-panel version: 0.0.8
id: grafana-example-app version: 1.0.1
id: grafana-influxdb-08-datasource version: 1.0.2
id: grafana-kairosdb-datasource version: 1.0.1
id: grafana-piechart-panel version: 1.1.4
id: grafana-simple-json-datasource version: 1.2.3
id: grafana-worldmap-panel version: 0.0.16
id: gridprotectionalliance-openhistorian-datasource version: 1.0.1
id: gridprotectionalliance-osisoftpi-datasource version: 1.0.0
id: hawkular-datasource version: 1.0.5
id: jdbranham-diagram-panel version: 1.3.0
id: kentik-app version: 1.0.4
id: mtanda-heatmap-epoch-panel version: 0.1.7
id: mtanda-histogram-panel version: 0.1.6
id: ns1-app version: 0.0.5
id: opennms-datasource version: 2.0.1
id: percona-percona-app version: 1.0.0
id: praj-ams-datasource version: 1.0.1
id: rackerlabs-blueflood-datasource version: 0.0.2
id: raintank-snap-app version: 0.0.3
id: raintank-worldping-app version: 1.1.0
id: ryantxu-ajax-panel version: 0.0.2
id: savantly-heatmap-panel version: 0.1.0
id: sileht-gnocchi-datasource version: 1.0.6
id: sraoss-sunburst-panel version: 1.0
id: stagemonitor-elasticsearch-app version: 0.26.0
id: udoprog-heroic-datasource version: 0.1.0
id: voxter-app version: 0.0.1

Restart grafana after installing plugins . <service grafana-server restart>

Para integrar o Grafana ao Zabbix, instale o plugin alexanderzobnin-zabbix-app executando os comandos abaixo.

sudo grafana-cli plugins install alexanderzobnin-zabbix-app
sudo service grafana-server restart

Configurando o acesso do Grafana a API do Zabbix

Acesse o Grafana a partir da URL http://IP-SERVIDOR:3000. O usuário é admin e a senha padrão é admin.

Clique na logo do Grafana (canto superior esquerdo),  depois clique no menu Plugins, em seguida, acesse a aba App. Será listada a app do Zabbix. Clique em cima do ícone da app e, em seguida, clique no botão Enable.

Agora clique na logo do Grafana (canto superior esquerdo), depois clique no menu  Data Sources e, em seguida, no botão Add new.

a

 

 

 

 

 

Preencha os campos conforme o exemplo da figura abaixo.

b

 

Atenção.:

No campo URL, você deve informar a URL da API do Zabbix. Se o seu Zabbix é acessível na URL http://IP-Servidor, então o valor deste campo deve ser http://IP-Servidor/api_jsonrpc.php.

Se o seu Zabbix é acessível na URL http://IP-Servidor/zabbix, então o valor deste campo deve ser http://IP-Servidor/zabbix/api_jsonrpc.php.

 

 

 

 

 

 

 

 

Visualizando Dados do Zabbix no Grafana

Clique na logo do Grafana (canto superior esquerdo), depois clique no menu Dashboards e, em seguida, no botão + New.

c

Clique em Zabbix Triggers e arraste para a area de trabalho da primeira linha do dashboard.

b

Este painel serve para mostrar as triggers cadastradas e acionadas no Zabbix. Clique no nome Painel Title e em seguida no ícone Edit para configurar o painel, se necessário. Veja o exemplo da figura abaixo.

e

 

Clique no botão Add row para adicionar uma nova linha no dashboard e, em seguida, clique no ícone Graph e arraste para a área de trábalhoSerá exibido a configuração do gráfico na aba Metrics. Conforme mostra a figura abaixo, escolha o grupo de host, o nome do host, o nome da aplicação (entenda aqui como o grupo de item, que você configura no Zabbix ao cadastrar um item) e por fim escolha o item que será monitorado. O gráfico será atualizado automaticamente. Para adicionar mais um item ao gráfico, clique no botão Add query.

d1

Perceba que aparecerá a linha B referente a configuração do segundo item do gráfico. Configure o segundo item conforme mostrado na figura abaixo. Quando terminar clique no link General (ao lado de Metrics)

e

Conforme mostra a figura abaixo, informe o nome do gráfico. O nome do gráfico será atualizado automaticamente.

f

Conforme mostra a figura abaixo, clique no botão em formato de disquete para salvar as alterações.

g1

Pronto! O Zabbix está integrado ao Grafana!

Você também pode baixar dashboards prontos no site https://grafana.com/dashboards?dataSource=alexanderzobnin-zabbix-datasource e importar no Grafana clicando em Dashboards > Imports, conforme mostrado abaixo.

grafana_import

Depois é só customizar o dashboard para atender as necessidades do seu ambiente.

OBS.: Alguns dashboards podem requerer que outros plugins do Grafana sejam instalados para exibir todas as funcionalidades.

Agora é só se aprofundar nos estudos desta ferramenta para criar gráficos e dashboards mais elaborados.

Se quiser configurar o Grafana para usar HTTPS, siga os passos deste tutorial: http://blog.aeciopires.com/configurando-o-grafana-para-funcionar-sobre-https/

Se quiser configurar o Grafana para disponibilizar dashboards para cada cliente, siga os passos deste tutorial: http://andredeo.blogspot.com.br/2016/12/zabbix-e-grafana-disponibilizando-um.html

Abaixo estão alguns links para começar os estudos no Grafana.

https://grafana.com/blog/2017/03/22/grafana-4.2-release/

https://community.grafana.com/t/release-notes-for-grafana-v4-2-0/167

http://docs.grafana.org/guides/whats-new-in-v4-1/

http://docs.grafana.org/guides/whats-new-in-v4/

http://docs.grafana.org/guides/whats-new-in-v3/

http://grafana.org/blog/2016/11/09/grafana-4.0-beta-release/

http://grafana.org/blog/2016/05/11/grafana-3-0-stable-released.html

https://github.com/alexanderzobnin/grafana-zabbix/wiki/Usage

http://docs.grafana-zabbix.org

http://docs.grafana.org/

https://grafana.net/dashboards

https://grafana.net/plugins

https://grafana.net/resources/getting-started-with-grafana-net

https://grafana.net/resources/getting-started-with-plugins

http://docs.grafana.org/plugins/installation/

http://docs.grafana.org/guides/basic_concepts/

http://docs.grafana.org/guides/gettingstarted/

http://docs.grafana.org/http_api/overview/

http://docs.grafana.org/reference/graph/

http://docs.grafana.org/reference/templating/

http://docs.grafana.org/alerting/rules/

http://docs.grafana.org/features/shortcuts/

http://docs.grafana.org/installation/configuration/

http://docs.grafana.org/guides/screencasts/

http://docs.grafana.org/tutorials/

56 thoughts on “Integração do Zabbix com Grafana”

  1. Aécio,

    Show de bola, estou fazendo os piloto aqui, mas percebi um negócio. Estou usando o Zabbix 2.4.4, quando coloco “Singlestat” e lá em “Options” no campo Value seto como “Current” ele zera o contador.

    O que pode estar ocasionando isso??

  2. Aecio,

    Consegui resolve aqui, bobeira minha. Era só arrumar os intervalos de atualização. hehehe

    Mas valeu ai.

  3. Não precisa colocar usuário e senha no arquivo “/usr/share/grafana/public/app/plugins/datasource/zabbix/plugin.json”, adicione apenas no momento da criação do datasouce.

  4. Bom dia Aécio ,
    O grafana tá rolando um erro que não dá pra conectar a base ….
    Já chequei tudo…
    mas verifiquei que não consigo localizar o arquivo, api-jsonrpc.php.

    Será que faltou alguma dependencia?
    Usando: Zabbix 2.4.6

  5. Olá, Cícero!

    Obrigado pela dica. Já retirei a parte referente a edição do arquivo plugin.json.

    Fellipe, apenas para registro o arquivo certo é “api_jsonrpc.php”. Já corrigi este erro no tutorial.

    Abraço.

  6. Prezado, boa noite!

    Segui o seu tutorial e não hora de selecionar o type a opção zabbix não aparce, já verifiquei as opções padrão, já restatei o serve do grafana e do zabbix e até rebotei o servidor e nada.

    Pode acaso já viu isso?

    Att.

  7. Achei legal, mas na hora de adicionar o zabbix no campo type ele não aparece essa opção como no seu apareceu.

  8. Boa noite, Leandro e Willian!

    Eu acabei de instalar o Grafana no Debian 8, seguindo o tutorial à risca, e funcionou de primeira. No campo “Type” a opção “Zabbix” foi exibida.

    Infelizmente não sei explicar o motivo de não ter aparecido com vocês.

    Abraço e fiquem com Deus.

  9. Aecio blz ?

    Cara o erro foi meu na verdade, acabei sem querer pulando uma parte do tutorial, para ser mais exata esta:

    $ cd /tmp
    $ wget https://github.com/alexanderzobnin/grafana-zabbix/archive/master.zip
    $ unzip master.zip
    $ cd /tmp/grafana-zabbix-master
    $ sudo mv zabbix /usr/share/grafana/public/app/plugins/datasource/
    $ sudo service grafana-server restart

    Na correria, acabei distraido e pulei …agora deu tudo certo..

    abraços e obrigado pelo retorno.

  10. Aecio,
    Desliguei o lab e no dia seguinte quando liguei tudo a opção do zabbix aparecereu.

    Agora to com outra dúvida, criei conforme demonstra o artigo um dashboard mas ele não aparace na página inicial, como eu faço? Já inclusive marquei ele como favorito e nada.

    Outra coisa crie um usuários (usando o usuário admin) e depois esse usuário que eu crie não aparece na lista de usuários do sistema por acaso isso é erro meu ou pode ser um bug?

  11. Boa Noite!
    Fiz todos os passos, porém ocorreu a falha : o campo “Type” a opção “Zabbix” foi exibida.
    O procedimento foi executado duas vezes.
    No meu Debian, não instala o unzip, usei o 7z.
    Versão: Linux debian 3.16.0-4-amd64.
    Aguardo apoio.

  12. Aécio,

    Assiti seu vídeo sobre o uso do grafana e pelo que ententi meu grafana esta corretamente instalado mas não exibe nada do que eu configuro, por exemplo configurei um dashboard “zabbix server” ele aparece so se eu pesquisar se tentar criar outro com o mesmo nome ele retorna que já existe um dashboard com esse nome e se eu quero sobrescrever.

    Já viu algo assim?

  13. Aécio,

    Descobri o problema estava usando o internet explorer abri no Firefox e tudo apareceu!.

    Faca a dica pra galera, grafana + IE não combinam.

  14. Oi, Leandro!

    Que bom que conseguiu resolver os problemas. Realmente nos meus testes só usei Firefox e Google Chrome.

    William, o Debian 3 é muito antigo. Use Debian 8 que funciona.

  15. Aécio boa tarde. Gostaria de tira uma duvida com voce. Eu tenho vários clientes remotos que pretendo usar o Grafana. A pergunta é: Uso com Zabbix Proxy ou Uso o Zabbix rodando local e aponto para o Grafana que t[a rodando em meu servidor remoto?

    Gostaria muito que você pudesse me esclarecer isso e se possível passar quais as portas que preciso abrir em meu firewall onde roda o Grafana para poder capturar os dados vindos dos Zabbix remotos.

    Muito obrigado.

    Abraços

  16. É possivel criar relatorios como TOP 100 TRIGGERS do zabbix , atraves do grafana ?

    ou algo semelhante ?…

    o que eu preciso é criar um relatorio com os principais “incidentes” hosts que acionaram mais triggers !

  17. Bom dia, Breno!

    A integração do Grafana deve ser feita com cada servidor Zabbix, conforme mostrei o exemplo no tutorial.

    O Zabbix Proxy não possui interface web. A função dele é, a grosso modo, repassar os dados coletados dos agentes para o servidor Zabbix.

    No seu caso, se em cada cliente remoto você só tem o Zabbix Proxy instalado, repassando os dados do agente para o servidor Zabbix que está na rede da sua empresa, então a integração com o Grafana ocorre apenas com o servidor Zabbix da sua empresa.

    Mas se em cada cliente você tem um servidor Zabbix instalado, então a integração ocorrerá entre o Grafana e cada servidor Zabbix.

    Na integração com o Zabbix, o Grafana se comunica através da mesma porta que a interface web do Zabbix é acessada: 80 (HTTP) ou 443 (HTTPS).

    Bons testes.

    Abraço e fica com Deus.

  18. Bom dia, Jefte!

    Eu não sei se é possível. Eu não fiz isso ainda e também não tenho conhecimento suficiente para fazê-lo.

    Abraço e fica com Deus.

  19. Oi Aécio,

    Meu grafana estava funcionando bem durante alguns meses, porém, essa semana ele parou de exibir dados. O zabbix ta funcionando corretamente, o Source está conectando normalmente com test connection, mas continua sem exibir dados. O histórico está aparecendo normalmente. Tem alguma dica, já reiniciei os serviços, restart no server, mas nada ainda.

    Abraço!

  20. Bom dia,

    Muito bom o tutorial, parabéns….fiz a integração com o zabbix 3.0 porém no gráfico aparece “No datapoints” . No teste de conexão está tudo ok……O que poderia ser?

    grato!

  21. Olá, Lucas!

    Segundo o ticket abaixo, o desenvolvedor, do plugin de integração do Zabbix com o Grafana, disse que dará suporte oficial ao Zabbix 3 na nova versão do plugin, que se encontra em desenvolvimento.

    https://github.com/alexanderzobnin/grafana-zabbix/issues/155

    Aguarde a nova versão do plugin e teste novamente.

    Na elaboração deste tutorial o plugin foi testando usando versões betas do Zabbix 3. Ainda não teste

  22. Pessoal, auguem sabe se temos por aqui no Brasil um curso de Grafana ou algum consultor que possa ministrar tal treinamento in house??

  23. Bom dia, Rogério!

    Não sei informar. Tente aprender por conta própria. Veja os links e documentação que estão no fim do tutorial.

    Abraço e fica com Deus.

  24. Galera no passo cão consegui achar o diretorio zabbix. Segue erro quando tento mover.
    sudo mv zabbix /usr/share/grafana/public/app/plugins/datasource/
    mv: impossível obter estado de “zabbix”: Arquivo ou diretório não encontrado

  25. Bom dia, Rodrigo!

    Conforme está escrito no início do tutorial, o Grafana e o Plugin receberam uma atualização que mudou muita coisa e hoje estão na versão beta (Testes). Aguarde algumas semanas até que a versão estável destes dois softwares sejam lançadas para eu poder testar e atualizar o tutorial.

    Abraço e fica com Deus.

  26. Aecio, boa boite!

    Segue o tutorial, fiz a instalação só que o plugin do zabbix não apare na relação de datatources disponíveis, andei dando uma fuçada e vi que o owner da pasta do plugin é root, alguma idéia?

    Att.

  27. Bom dia, Leandro!

    Confesso que ainda não vi este erro. Eu testei o tutorial duas vezes no Debian 8 64 bits e deu certo. Sugiro você testar novamente numa máquina virtual.

    PS.: Estou usando o Grafana 3.0.1.

    Abraço.

  28. Aécio, descobri o problema se puder colocar como observação no seu artigo depois que instala tem que clicar na logo do grafana, clicar em plugin em seguida na aba app, lá va estar o app do zabbix tem que clicar em cima dele clicar em enable.

    Isso resolve o problema instalei 3 vezes e todas as vezes o datasource do zabbix só apareceu depois que fiz esse procedimento.

    Att.

  29. Boa tarde, Leandro!

    Muito obrigado pela contribuição. Já adicionei esta informação no segundo parágrafo da seção “Configurando o acesso do Grafana a API do Zabbix”.

    Aproveitei e fiz mais ajustes no texto e documentei a instalação do Grafana no Ubuntu Server 16.04 64 bits. Os comandos para instalar o Grafana no Debian e Ubuntu são os mesmos.

    Abraço e fica com Deus.

  30. Bom dia amigo, estou com o seguinte problema aqui, configurei o UPTIME, mas coloquei ele em dias, horas e nada de ficar certo agora está aqui com 4012416, year, como consigo acerta ele?
    Posso colocar o grafico de outros hosts na dashboard tb?

    Obrigado pela atenção

  31. Instalei o grafana e o plugin funcionou tudo direitinho mas percebi que a senha do usuário usado para conectar o data source ao zabbix fica em claro no código html da pagina do grafana. Queria saber se isso aconteceu apenas comigo e como resolver isso?
    Desde já agradeço.

  32. Bom dia, Edvarton!

    Parabéns pela descoberta e curiosidade!

    Infelizmente isso é uma grande vulnerabilidade e sugiro fortemente você reportar ao desenvolvedor do plugin em: https://github.com/alexanderzobnin/grafana-zabbix/issues/

    Enquanto a solução definitiva não sai, sugiro você deixar o Grafana rodando apenas sobre HTTPS (no tutorial tem um link para fazer esta configuração). Também sugiro desabilitar as cifras fracas e os protocolos SSLv2, SSLv3, TLSv1.0 e TLSv1.1. Deixe habilitado apenas o TLSv1.2. A interface web do Zabbix também precisa ser disponibilizada pelo Apache somente em HTTPS. Somado a tudo isso, sugiro você deixar o Zabbix e o Grafana acessível apenas dentro da sua rede interna e apenas para os IPs do Sysadmins. Se precisar ter acesso externo ao Grafana e Zabbix, sugiro que seja liberado apenas para os IPs públicos das pessoas que vão acessar a interface web destes sistemas.

    Abraço e fica com Deus.

  33. Boa tarde, Aécio… Tudo bem, depois que comecei a trabalhar com o zabbix… Acompanho o seu trabalho e aprendi muito contigo. Mas nessa eu estou tendo problemas com Macros na Interpretação do Grafana, pois o meu zabbix está repleto de macros. poderia me ajudar? já teve esse problema?

  34. Bom dia, Fábio!

    Que bom que pude lhe ajudar de alguma forma. Fico contente em saber disso. 🙂

    Infelizmente, dessa vez não poderei ajudá-lo… ainda não precisei usar macros na integração entre Zabbix e Grafana. Se conseguir resolver, compartilha a solução com a comunidade.

    Abraço e fica com Deus.

  35. Bom Dia, alguém consegue me ajudar a mudar o formato de data do grafana para DD/MM/YYYY . Dia/Mês/Ano? Obrigado.

  36. Parabéns pelo trabalho .
    Irei iniciar a integração gostaria de saber se existe algum grupo
    zabbix / grafana no telegran ?

  37. Senhores, bom dia.

    Tudo bem ?

    Estou tendo dificuldade para instalaçao do plugin zabbix para integração com grafana, estamos em um cenario onde o servidor red hat não possui conexão com a internet ou seja, preciso realizar a instalação manualmente. Baixei o arquivo através do site https://github.com/alexanderzobnin/grafana-zabbix, preciso de ajuda para concluir a instalação, alguém poderia me ajudar ?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *