Integração do Zabbix com Grafana

Atualizado em: 30 de Dezembro de 2019

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 18.04 64 bits
    • Zabbix 4.4.x
    • Grafana 6.4.x

Server B

    • Sistema operacional: CentOS 7 64 bits
    • Zabbix 4.4.x
    • Grafana 6.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 10 64 bits ou no Ubuntu Server 18.04 64 bits execute os seguintes comandos:

cd /tmp 
VERSION=6.5.2_amd64
wget https://dl.grafana.com/oss/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-server

Para instalar o Grafana no CentOS 8 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://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key 
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

Mais informações sobre a instalação do Grafana no CentOS podem ser obtidas em: http://docs.grafana.org/installation/rpm/

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

O binário do grafana-server fica em: /usr/sbin/grafana-server

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 (Debian/Ubuntu) ou /etc/sysconfig/grafana-server (CentOS/Red Hat).

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 engrenagem (menu esquerdo),  depois clique no menu Plugins, em seguida, pesquise pelo plugin Zabbix. Clique em cima do ícone da app e, em seguida, clique no botão Enable.

Agora clique na engrenagem (menu esquerdo), depois clique no menu  Data Sources e, em seguida, no botão Add new datasource. Pesquise pelo datasource Zabbix e clique nele.

Preencha os campos conforme o exemplo da figura abaixo.

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 ícone + (menu esquerdo), depois clique no menu Dashboards.

Clique em Choose Visualization e, seguida, escolha a opção Zabbix Problems.

Este painel serve para mostrar os problemas reportados pelo Zabbix que são associadas as triggers cadastradas e acionadas no Zabbix. Configure os detalhes da visualização do painel e crie outros tipos de visualizações para os dados vindos do Zabbix.

Pronto! O Zabbix está integrado ao Grafana!

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

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.

http://docs.grafana.org

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.

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

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

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/

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

  1. Bom dia!

    Estou tentando integrar o Grafana com o Zabbix 3.2. Baixei a iso do site do zabbix , o site do zabbix esta acessivel mas nao consigo acessar o grafana na porta 3000.

    Tem algum passo que estou esquecendo?

  2. Talvez o firewall do servidor esteja bloqueando a porta de acesso…

    Dê um iptables -F e teste…

    Caso ok, crie uma regra para liberar no iptables

  3. Olá! Fiz o procedimento, e está funcionando. Porem, quando starto o Grafana, o uso da CPU vai a 100%, ficando impossível de usar o Centos 7 aqui. Eu mato ele, volta ao normal. Nesse Linux, tenho rodando, Zabbix + GLPI + OCS Inventory, tudo em cima de uma Vmware ESXI.

  4. Olá, Diego!

    Acredito que terá que aumentar a capacidade de processamento da VM, para continuar atendendo a demanda do uso pelos softwares instalados e pelos usuários.

    Abraço.

  5. Muito legal, mas quando tento criar um dashboards novo ele não acha o datasource alguma ideia ?

    Obrigado

  6. Ótimo post, mas estou com um problema.
    Instalei tudo certinho, consigo visualizar meus hosts no Grafana, porém quando tento criar um dashboard, ele não me traz os dados.

    Sabe o que possa ser?

  7. Excelente tutorial, rodou tudo certinho como orientado.
    Parabéns!

  8. Boa tarde

    Excelente tutorial

    Eu tenho o grafana instalado em Centos e zabbix em outro servidor Ubuntu, na hora de fazer a autenticação no datasource ocorre um erro: Zabbix API Error: Invalid params. Login name or password is incorrect.

    Estou utilizando o caminho correto http://10.10.1.188/zabbix/api_jsonrpc.php

    O usuario e senha são os mesmos para acessar o zabbix.

    Alguem poderia ajudar?

  9. Muito bom Aecio! Consegue fazer o mesmo tutorial, só que para Arch Linux ? pra mim ao menos, seria simples em teoria, mas não consegui nem instalar o zabbix 100%, empaquei na hora de acessá-lo no navegador, ao invés de abrir e mostrar a página de config do zabbix, mostrou o “index html” (index of /zabbix) no lugar. O problema creio eu que seja depois de criar o BD inicial dele, e importar o schema inicial e os dados com esse comando: “zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix”
    Sobre instalação e comandos, segui todos os passos do site oficial do Zabbix, apenas trocando o comando de instalação, e no passo 2A, não consegui dar o wget, porque o repositório é para Debian/Ubuntu, o Arch Linux não aceitou o mesmo repositório deles.
    Grato desde já!

  10. Boa noite, Jhony!

    Eu ainda não cheguei a usar o Arch Linux. =( Infelizmente não posso ajudá-lo.
    Em ambientes de produção é mais comum encontrar o Zabbix instalado em Debian/Ubuntu/CentOS/Red Hat. Já tentou instalar alguma das versões mais recentes dessas distros GNU/Linux?

    Se conseguir instalar no Arch Linux, faz um tutorial e compartilha com os membros da comunidade Zabbix-BR.

    Abraço e fica com Deus.

  11. Essa integração de colocar o mapa do zabbix no grafana ainda funciona? Pois o meu também não funcionou..

  12. ola boa noite. Nao consigo alterar a url do meu grafana. Nao tem opcao de apagar o localhost e colocar o ip no lugar.

  13. Não estou conseguindo fazer o ZABBIX se comunicar com o GRAFANA, pois meu ZABBIX está com conexão LDAP. Como faço nesses casos

  14. Bom dia,

    Fiz todo o procedimento e até então nenhum erro em todas as etapas porém não consegui o acesso ao grafana, consegue me ajudar?

    O Zabbix que estou utilizando é o 5.0 no CentOS8

  15. Bom dia, Patrick!

    Verifique se o plugin do Zabbix para Grafana foi instalado e habilitado corretamente conforme mostrado no tutorial.

    Atenção ao trecho do tutorial: “Clique na engrenagem (menu esquerdo), depois clique no menu Plugins, em seguida, pesquise pelo plugin Zabbix. Clique em cima do ícone da app e, em seguida, clique no botão Enable.”

    Depois disso, o Zabbix deve ser listado no datasource.

    Abraço.

  16. Ainda no 2021 nao é possivel ter um mapa do zabbix no grafana dashboard?????

Deixe um comentário

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