Integrando Zabbix e Grafana

Como realizar a integração entre o Zabbix e Grafana

Peterson Basso
Zabbix Brasil
4 min readJun 19, 2020

--

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

Esse artigo tem por objetivo abordar a integração do Grafana com o Zabbix, permitindo exibir os dados/métricas coletadas pelo Zabbix em dashboards criados no Grafana.

O Grafana é uma ferramenta de visualização de dados que permite conectar em diversas fontes de dados ou datasources distintos, permitindo criar dashboards iterativos reunindo dados dessas diversas fontes em um mesmo dashboard, inclusive mesclando dados de diferentes fontes em um mesmo gráfico, facilitando a visualização e o correlacionamento dessas informações.

Para o acompanhar esse tutorial é necessário que as ferramentas Zabbix e Grafana já estejam instaladas, não é escopo desse artigo cobrir a instalação, somente a integração das ferramentas.

Fazendo a integração

A integração entre as ferramentas Grafana e Zabbix é realizada através de um plugin que deve ser instalado no Grafana, ele é responsável por permitir a criação de um datasource que irá consumir a API do Zabbix.

Criando um usuário no Zabbix para integração

Toda a comunicação entre o Grafana e o Zabbix é realizada através da API, apesar de em versões mais recentes do plugin, ser possível configurá-lo para buscar os dados de history e trends diretamente no banco de dados do Zabbix, a API será sempre utilizada.

Para tanto é uma boa prática realizar a criação de um usuário administrativo para uso exclusivo pelo Plugin, permitindo dessa forma um ajuste fino das permissões que o Grafana possui para acesso no Zabbix.

Primeiramente criamos um User Group com o frontend desabilitado e com as permissões de visualização necessárias.

Criando o user group com as permissões necessárias e com frontend desabilitado

Após a criação do grupo, criamos o User administrativo que será utilizado pelo Grafana.

Criando um usuário administrativo para ser usado pelo Grafana

Instalando o plugin no Grafana

O plugin pode ser instalado através de um utilitário de linha de comando do Grafana chamado grafana-cli, usando os comandos abaixo:

grafana-cli plugins install alexanderzobnin-zabbix-app
systemctl restart grafana-server

Em versões mais recentes Grafana 7+ e plugin 4+ é necessário incluir o parâmetro abaixo no arquivo de configuração grafana.ini, abaixo da sessão [plugins], atenção para o nome que deve terminar com datasource.

[plugins]
allow_loading_unsigned_plugins = alexanderzobnin-zabbix-datasource

Instalando e posteriormente reiniciando o serviço do Grafana, após a instalação é necessário habilitar o plugin na interface do Grafana, como na imagem abaixo.

Configurando o Datasource

Ao finalizar o processo de instalação do plugin, estará disponível a opção de criar datasource do tipo Zabbix, lembrando que no Grafana os datasources são separados por organizations, para cada org será necessário criar um novo datasource, essa flexibilidade permite criar orgs separadas por clientes com datasources independentes.

Name: Defina um nome para esse datasource

URL: A url que responde pela API do Zabbix.

Access: O tipo de acesso que será realizado, Server indica que as requisições serão realizadas pelo backend do Grafana, partindo do Grafana Server, browser as requisições são realizadas a partir do navegador do usuário. Vale ressaltar que se escolhida a opção browser, o cliente também necessita ter acesso a interface web do Zabbix, uma vez que as requisições irão partir diretamente do cliente para o servidor Zabbix.

Trends: Selecione se quiser que o plugin também utilize dados armazenados na tabela trends.

After: O período que o plugin irá considerar para buscar da tabela trends, ex: se configurado para 4d , quando selecionado um intervalo de tempo maior do que 4 dias os dados serão recuperados da tabela trends.

Range: O intervalo de tempo no qual o plugin deverá buscar os dados da tabela trends, ex: se configurado para 3d , quando o intervalo selecionado for maior que 3 dias, os dado serão recuperados da tabela trends, mesmo que sejam dados anteriores a 4 dias configurado no passo anterior.

Essas são as principais configurações para ter uma integração funcional, para outras configurações pode ser consultada a documentação do plugin em: https://alexanderzobnin.github.io/grafana-zabbix/configuration/

Problemas Comuns

  • Usuário do Zabbix utilizado para integração não possui permissão de acesso aos hosts no Zabbix.
  • O Grafana por padrão mantém um cache dos dados coletados do Zabbix, eventualmente pode ocorrer desse cache não refletir mudanças recentes no Zabbix, uma forma de forçar a atualização desse cache é ir até a configuração do datasource Zabbix e salvar as configurações, isso fará com que o cache seja descartado atualizando as informações.
  • Alguns itens não aparecem para seleção na interface do Grafana, lembrar que por padrão os panels exibem métricas do Zabbix, ou seja, valores numéricos, se por ventura precisar exibir algum texto será necessário alterar para opção text na configuração do panel.
  • Instalação foi realizada com sucesso porém não aparece a opção para seleção do datasource Zabbix, normalmente esta relacionado a falta do parâmetro allow_loading_unsigned_plugins no arquivo de configuração do Grafana.

Referências

--

--