Grafana — Configurando Google Sheets como Data Source
Saaaalve galera!
Tudo bem? Espero que sim!
Hoje eu vou demonstrar como podemos exibir dados de uma planilha do Google Sheets com nosso glorioso Grafana. Vamos lá!!
Primeiro passo devemos instalar o nosso Grafana, para facilitar o trampo, criei um Docker Compose já com o contêiner e o plugin do Google Sheets configurado.
Confira aqui: grafana-google-sheets
Qualquer dúvida, basta ler o README.
Com o nosso container já configurado e no ar, vamos começar as configurações do Data Source, mas antes você vai precisar de três coisas:
- Conta na Google;
- Google Drive;
- Planilha para coleta de dados;
Gerando API Google Console Developer
Para acessar o workspace da Google para gerar a API Clique Aqui
No search da página pesque por Google Sheets API e ative-a:
Clique em “Cria Credenciais” e selecione Chave de API será gerado a API, guarde essa informação.
Como é apenas um ambiente de Lab, não estamos restringindo alguns itens na API. Para saber mais leia Como usar chaves de API.
Configurando Data Source no Grafana
Após criado o Grafana seguindo o repositório do github, acesse em seu navegador a URL http://localhost:3000 ou http://IP_our_DNS:3000:
Busque a fonte de dados do Google Sheets em Configuração > Data Source
Em API Key insira o ID gerado no Console da Google:
Execute o Save & Test e se estiver tudo certo, a mensagem de Success será exibida.
Configurando a planilha
Antes de começarmos a desenvolver os dashboards, precisamos de um planilha que será consumida as informações. Para isso, vamos usar a planilha de exemplo abaixo que mostra os jogadores que estão disputando a Chuteira de Ouro 2021. Ela está no Google Drive com acesso público para visualização, para facilitar a nossa coleta.
Para planilhas privadas, se utiliza o JWT, que não é o foco do nosso artigo e por isso não será comentado. Mas para mais informações leia o Configuring the Google Sheets data source.
Para que a planilha fique acessível, no Google Sheets clique em Compartilha e selecione “Qualquer pessoa com link” para que qual individuo que tenha o link possa visualizar os dados:
Construindo o Dashboard
Vá no Grafana e clique em “Add Dashboard” e posteriormente em “Add new Painel”
Em Data Source, selecione Google Sheets. O Spreadsheet ID é o valor entre “/d/” e “/edit” no URL de sua planilha.
Spreadsheet ID : 10Xg8NiNeuechm-mEgb2–1PmKNd0BT72Qqlqn2mmE7s
Para o Gráfico de Tabelas:
Visualization: Table
Para o Gráfico de Gols:
Visualization: Bar Gauge
Para o Gráficos de médias de Gols por jogo:
Visualization: Guage
Spreadsheet ID — Seleciona o spreadsheetId que é usado para identificar qual planilha deve ser acessada ou alterada.
Range — A string Sheet1!A1:B, se refere a um grupo de células na planilha . Para limitar o tamanho usa-se por exemplo: Sheet1!A1:B100
Cache Time — Defina como 0 se nenhum cache for necessário. Se for um grande conjunto de dados, então defina o cache de 5 a 30 minutos
Use Time Filter — A primeira coluna será filtrada por tempo, você poderá filtrar todas as linhas da planilha que estão fora dos limites do intervalo de tempo especificado no painel do Grafana.
Seguido todos esses passos teremos o seguinte resultado:
Feito!!! E a surpresa não é a ausência do Cristiano Ronaldo e do Messi na corrida da Bola de Ouro e sim como podemos deixar a visão de dados em planilhas com uma visão de dashboard que facilita o entendimento das informações.
É isso pessoal, testem esse plugin, melhorem e compartilhem. O mundo open-source agradece. Qualquer dúvida, sugestões de melhoria só mandar.
Abraços.