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/
Exemplo de monitoramento de nível de serviço.
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.
Cená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:
- http://docs.grafana.org/installation/configuration/
- http://docs.grafana.org/installation/debian/
- https://grafana.com/grafana/download
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.
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
https://grafana.net/dashboards
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/
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?
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
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.
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.
Muito legal, mas quando tento criar um dashboards novo ele não acha o datasource alguma ideia ?
Obrigado
Ó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?
Excelente tutorial, rodou tudo certinho como orientado.
Parabéns!
Seu tutorial ficou ótimo, parabéns
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?
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á!
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.
Olá, tentei colocar um mapa que fiz no zabbix no grafana, porém não mostra o mapa o que pode estar errado?
link do meu mapa = http://192.168.0.199/zabbix/zabbix.php?action=map.view&sysmapid=2&fullscreen=1&severity_min=0
Essa integração de colocar o mapa do zabbix no grafana ainda funciona? Pois o meu também não funcionou..
ola boa noite. Nao consigo alterar a url do meu grafana. Nao tem opcao de apagar o localhost e colocar o ip no lugar.
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
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
O zabbix não aparece em Add data source o que pode ser?
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.
Ainda no 2021 nao é possivel ter um mapa do zabbix no grafana dashboard?????