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.
No mesmo menu, acesse a guia Data Sources e escolha o Google Sheets.
- 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.
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.
- Planilhas públicas
Neste formato o procedimento é mais simples, bastando aplicar a chave gerada pela API dentro do Data Source.
Dashboard
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.
Vamos trabalhar com algumas funções interessantes do Grafana nesta etapa, caso não esteja efetuando tratamentos diretamente pelo Sheets.
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: