
使用 Grafana 生成报告并安排其投放
在这篇文章中,我们将看到一些非常有趣的事情, 如果我们有一些非常酷的 Grafana 仪表板, 通过个性化图形,我们可以随时看到我们平台的情况, 不? 想象一下, 我们增加了在 PDF 中生成我们感兴趣的仪表板报告的可能性, 我们安排您的电子邮件查看昨天的摘要, 从上周开始…
切中要害, 来! 我们从 Izak Marais 开发的实用程序开始,我们在 GitHub 上也有 (已从 Microsoft, 谁懂…), 不错, 我们有一个服务,可以通过 PDFlatex 生成我们感兴趣的仪表板的 PDF 文件, 然后,使用 SendEmail,我们将发送完全个性化的电子邮件,并包含我们想要的报告!
要求,
第一件事, 在我们的 Grafana 机器上, 就我而言,它是一个 Centos 7.3 我们将安装以下要求:
[源代码]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-fonts推荐 Texlive-collection-Latex 推荐 TexInfo-Tex[/源代码]
我们下载 Go 并安装它:
[源代码]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
export PATH=$PATH:/usr/local/go/bin[/源代码]
最后,我们下载 Reporter,这将允许我们按照我们所说的去做, 使用 Grafana 仪表板生成 PDF:
[源代码]去 Get github.com/IzakMarais/reporter/…
go install -v github.com/IzakMarais/reporter/cmd/grafana-reporter[/源代码]
我们最终在防火墙中打开端口并重新加载配置:
[源代码]防火墙 CMD –区域 = 公共 –永久 –添加端口 = 8686/TCP
防火墙 CMD –重新加载[/源代码]
我们将能够尝试直接运行它以验证一切是否正常运行, 或使用 '–帮助’ 查看一些有趣的参数, 例如连接到远程 Grafana, 等… 跑:
[源代码]/根/去/bin/grafana-reporter[/源代码]
眼睛! 在你继续之前, 仪表板必须在 Grafana v5 中创建,而不是从 v4 继承, 还行? 如果我们有一个旧的仪表板, 如此简单,只需制作一个 “另存为…” 我们会把它变成一个版本 5.
手动生成报告,
现在我们可以尝试生成报告, 我们有几个选择, 一个是在 Dashboard 本身中创建一个 Report 按钮,这样当有人想要, 下载您正在查看的内容的 PDF. 这就像在 Grafana 中一样简单:
在我们感兴趣的仪表板中 > 我们点击螺母或 “设置” > “链接” > “添加仪表板链接” ,我们指示以下数据
- 类型: 链接, 我们把那家伙留了下来.
- 网址: HTTP 协议://DIRECCION_IP_GRAFANA:8686/api/v5/report/{dashboardUID}
- 标题: PDF 报告
- 提示框: 生成此仪表板的 PDF
- 图标: 医生, 成为文档的图标.
- 时间范围: 我们标记它以允许您将时间段.
- 变量值: 我们标记它是为了玩日期.
- 在新选项卡中打开: 如果我们希望 PDF 在新选项卡中生成它,我们会标记它.
什么都没有, 我们会看到一个按钮,按下该按钮后将生成 PDF 格式的报告!
正如我们可以猜到的那样, 生成 PDF 的 URL 将类似于 (显然,我们可以处理 PDF 的日期或期间的边距):
[源代码]HTTP 协议://DIRECCIÓN_IP_GRAFANA:8686/api/v5/report/ID-DASHBOARD?from=now-24h&to=now[/源代码]
生成计划报告,
来看看有趣的东西! 第一件事, 我们必须让 graphana-reporter 从机器开始, 最快的, ,以便在启动时启动, 我们还使用 'crontab -e 在 Cron 中添加’ 以下内容:
[源代码]@reboot /root/go/bin/grafana-reporter[/源代码]
如果我们想通过电子邮件自动发送它们, 我们将安装 SendEmail:
[源代码]Yum 安装 SendEmail[/源代码]
我们将创建一个脚本,在其中放置我们有兴趣生成的报告的 URL,并使用 wget 下载它们, 最后,我们通过电子邮件发送了它们, 我称他为“grafana_report_diario.sh”作为例子:
[源代码]# VMware 服务器仪表板
wget -O diario_VMware.pdf http://DIRECCION_IP_GRAFANA:8686/api/v5/report/NRkUakSik?from=now-24h&to=now
# Citrix 服务器控制板
wget -o diario_Citrix.pdf HTTP://DIRECCION_IP_GRAFANA:8686/api/v5/report/YpIJqYkik?from=now-24h&to=now
睡眠 40 多
/usr/bin/sendemail -f 之***@bu*****.c噢-t 帕**@bu*****.c噢 -s mail.bujarra.com -m “尊敬的先生们,,\n附加了数据中心使用情况的报告。n祝你今天过得愉快!" -u “格拉法娜 – 每日报告" -徐 我们*****@bu*****.c噢 -xp XXXXXXXX -o tls=auto -a diario_VMware.pdf diario_Citrix.pdf[/源代码]
此脚本 'grafana_report_diario.sh’ 例如,它将在每天凌晨 0 点执行,正如我们所看到的,它将获取新数据并通过电子邮件将其发送给我们的老板, 客户, IT 部门…
结果,
这将是您将要收到的 PDF 的示例, 当然,每个人都会有自己个性化的仪表板, 好吧,让我们作为一个例子!
别跟我说不!!! 令人 印象 深刻!!!
我希望你觉得它很有趣,你总是可以在你的工作中贡献一些新的和积极的东西!!