Integrar Google Sheets com Grafana


Olá galera!

Há algum tempo venho trabalhando e buscando soluções criativas no tocante a monitoramento, visualização de alarmes de forma prática e assertiva, e o mais interessante (pra quem gosta de livro com figurinha) a visualização de forma gráfica! O artigo que trago hoje é sobre realizar a integração do Google Sheets com o Grafana e gerar dashboard com dados coletados em planilhas privadas (utilizando o JWF) e públicas.


Iniciando a integração...

No menu Configurações, navegue até guia Plugins e pesquise por "sheets", após encontrar o item acesse o mesmo e clique no botão instalar. Se tudo ocorrer bem deverá listar como Instalado.

plugin instalado e ativo

No mesmo menu, acesse a guia Data Sources e escolha o Google Sheets.

  1. Planilhas privadas com JWF

Vamos criar agora as credenciais necessárias via Google Cloud Console para atrelar ao data source, acesse no link abaixo:

Google Cloud Console - APIs e serviços

Crie um novo projeto (ou utilize um que já tens), acesse o item Credenciais no menu lateral esquerdo e clique no botão Criar Credenciais -> Conta de Serviço.


Na proxima página, role até em baixo e clique em Criar, avance Permissões da conta de serviço clicando em continuar.

Nesta etapa crie a chave da API clicando em Criar chave escolha o tipo JSON e clique no botão para finalizar, pronto! Arquivo JWF baixado no seu computador.

Agora precisamos inserir os serviços Sheets e Drive dentro do projeto, para isso utilize os links abaixo e clique em Ativar.

Google Sheets

Google Drive

Dentro do Data Source do Sheets, escolha a opção de JWF File e importe o arquivo baixado, note que os campos que antes estavam vazios agora estão preenchidos com os dados do arquivo

Clique no botão Save & Test para validar a integração.

-- ATENÇÃO

Para que funcione a integração de planilhas privadas se faz necessário autorizar o e-mail gerado pela API na planilha.

  1. Planilhas públicas

Neste formato o procedimento é mais simples, bastando aplicar a chave gerada pela API dentro do Data Source.


Dashboard

crie uma dash nova e adicione um novo painel

Para iniciar a configuração da dash do Grafana e a coleta dos dados, precisamos entender os itens abaixo:

Spreadsheet ID: link da planilha que está entre o /d/ e /edit

Range: nome-da-pagina-planilha!G3:H30 <- o range de onde quer coletar as informações, neste caso do G3 ao H30.

Cache Time - Setando o valor 0 indicará que não é necessário cache. Para planilhas volumosas e grande número de dados, utilize um valor dentro de 5m a 30m

Use Time Filter - Essa função permite que a primeira coluna seja filtrada por tempo.

exemplo de como ficará a consulta

Vamos trabalhar com algumas funções interessantes do Grafana nesta etapa, caso não esteja efetuando tratamentos diretamente pelo Sheets.

utilizando bar chart para essa dashboard

Com a query previamente configurada, note que automaticamente os dados irão aparecer no item que selecionamos, estou aplicando cores diferentes de acordo com o valor que configurei no treshold, esse foi o resultado:

Agora vamos limitar em no máximo 5 linhas e organizar por ordem decrescente utilizando as funções Transform, selecione Sort by e Limit.

Após aplicar os respectivos valores, esse é o novo resultado:

Salve a dashboard e artigo finalizado!




#zabbix #monitoramento #integracaozabbix #sheets #grafana #googlesheets #grafanadash

0 comentários: