Geração de relatórios com o Grafana e agendamento de sua entrega

Neste post veremos algo muito interessante, se tivermos alguns painéis muito legais do Grafana, onde com gráficos personalizados vemos a todo momento a situação da nossa plataforma, Não? Imagine isso para isso, adicionamos a possibilidade de gerar um relatório do Dashboard que nos interessa em PDF, e agendamos seu e-mail para ver o resumo de ontem, da semana passada…

 

Direto ao ponto, Vir! Começamos com um utilitário que Izak Marais desenvolveu e temos no GitHub (da Microsoft já, Quem entende…), Nada mau, Temos um serviço que irá gerar um arquivo PDF do Dashboard que nos interessa através do PDFlatex, E então com SendEmail enviaremos o e-mail totalmente personalizado e com os relatórios que queremos!

 

Requisitos,

Primeiras coisas, em nossa máquina Grafana, no meu caso é um Centos 7.3 para o qual instalaremos os seguintes requisitos:

[Código-fonte]Yum install TexLive-pdftex Texlive-latex-bin Texlive-Texconfig* Texlive-Latex* Texlive-Metafont* Texlive-CMAP* Texlive-EC TexLive-FNCYCHAP* TexLive-pdfTex-Def TexLive-FancyHDR* Texlive-TitleSEC* Texlive-Multirow Texlive-framed* Texlive-Wrapfig* Texlive-Parskip* Texlive-Caption Texlive-ifluatex* Texlive-collection-fontsRecomendado Texlive-collection-Latex Recomendado TexInfo-Tex[/Código-fonte]

 

Nós baixamos o Go e instalamos:

[Código-fonte]wget https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.10.2.linux-amd64.tar.gz
CAMINHO DE EXPORTAÇÃO=$PATH:/usr/local/ir/bin[/Código-fonte]

 

E, finalmente, baixamos o Reporter que nos permitirá fazer o que dissemos, gerar um PDF com o Grafana Dashboards:

[Código-fonte]Vá buscar github.com/IzakMarais/reporter/…
vá instalar -v github.com/IzakMarais/reporter/cmd/grafana-reporter[/Código-fonte]

 

Acabamos abrindo a porta no firewall e recarregando a configuração:

[Código-fonte]firewall-cmd –zona=público –Permanente –add-port=8686/tcp
firewall-cmd –Recarregar[/Código-fonte]

 

Poderemos tentar executá-lo diretamente para validar que tudo funciona bem, ou use '–Ajuda’ para ver algum parâmetro interessante, como conectar-se a um Grafana remoto, etc… Correr:

[Código-fonte]/root/go/bin/grafana-repórter[/Código-fonte]

 

Olho! Antes de ir mais longe, Os painéis devem ser criados no Grafana v5 e não herdados da v4, Okey? Se tivermos um painel antigo, tão simples que será fazer um “Guardar Como…” e vamos transformá-lo numa versão 5.

 

Gerando um relatório manualmente,

Neste momento, poderíamos tentar gerar um relatório, Temos algumas opções, uma que seria criar um botão Relatório no próprio Painel para que, quando alguém quiser,, baixar um PDF do que você está visualizando. Seria tão fácil como em Grafana:

 

Dentro do Painel que nos interessa > Clicamos na porca ou “Configurações” > “Ligação” > “Adicionar link do painel” e indicamos os seguintes dados

  • Tipo: Ligação, Deixamos esse cara marcado.
  • URL: Referências HTTP://DIRECCION_IP_GRAFANA:8686/api/v5/relatório/{dashboardUID}
  • Título: Relatório PDF
  • Dica de ferramenta: Gerar um PDF deste Painel
  • Ícone: Doutoramento, ser um ícone de um documento.
  • Intervalo de tempo: Nós marcamos para permitir que você coloque períodos de tempo.
  • Valores das variáveis: Marcamos para brincar com as datas.
  • Abrir num novo separador: Nós o marcamos se quisermos que o PDF o gere em uma nova guia.

 

E nada, veríamos um botão que, quando pressionado, gerará o relatório em PDF!

 

Como podemos adivinhar, o URL para gerar o PDF seria algo como (obviamente podemos jogar com as margens das datas ou períodos do PDF):

[Código-fonte]Referências HTTP://DIRECCIÓN_IP_GRAFANA:8686/api/v5/report/ID-DASHBOARD?de=agora-24h&to=agora[/Código-fonte]

 

 

Geração de relatórios agendados,

Venha para as coisas interessantes! Primeiras coisas, Temos de fazer com que o graphana-reporter comece pela máquina, o mais rápido, para que comece no arranque, nós também adicionamos em Cron com 'crontab -e’ O seguinte:

[Código-fonte]@reboot /root/go/bin/grafana-reporter[/Código-fonte]

 

Se quisermos enviá-los por e-mail automaticamente, Vamos instalar o SendEmail:

[Código-fonte]Yum instalar SendEmail[/Código-fonte]

 

Vamos criar um script onde colocamos os URLs dos Relatórios que estamos interessados em gerar e baixá-los com wget, e, finalmente, enviámo-los por e-mail, Vou chamá-lo de 'grafana_report_diario.sh' como exemplo:

[Código-fonte]# Painel de servidores VMware
wget -O diario_VMware.pdf http://DIRECCION_IP_GRAFANA:8686/api/v5/report/NRkUakSik?de=agora-24h&to=agora

# Painel do Citrix Server
wget -o diario_Citrix.pdf http://DIRECCION_IP_GRAFANA:8686/api/v5/report/YpIJqYkik?de=agora-24h&to=agora

Dormir 40s
/usr/bin/sendemail -f de***@bu*****.cOm-t Pa**@bu*****.cOm -s mail.bujarra.com -m "Prezados Senhores,,\nOs relatórios com o consumo do seu datacenter estão anexados.nTenha um dia muito bom!" -u "Grafana – Relatório Diário" -Xu EUA*****@bu*****.cOm -xp XXXXXXXX -o tls=auto -a diario_VMware.pdf diario_Citrix.pdf[/Código-fonte]

 

Este script 'grafana_report_diario.sh’ Ele será executado, por exemplo, todos os dias à 0h e, como podemos ver, pegará novos dados e enviará por e-mail para nossos chefes, Clientes, Departamento de TI…

 

Resultado,

Este seria um exemplo do PDF que você vai receber, é claro, cada um terá seu próprio painel personalizado, Bem, que sirva de exemplo!

 

Não me diga não!!! Impressionante!!!

Espero que tenha achado interessante e que possa sempre contribuir com algo novo e positivo no seu trabalho!!

 

Postagens recomendadas

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Não hesite em contactar-me, Vou tentar ajudá-lo sempre que puder, Compartilhar é viver ;) . Desfrute de documentos!!!