整合Hubot和Grafana

bob电竞频道Grafana实验室团队
Grabob电竞频道fana实验室团队

最后更新日期为2021年11月11日

先进的

整合Hubot和Grafana

Grafana 2.0附带了一个很好的特性,可以将任何图形或面板呈现为PNG图像。

无论您使用什么数据源,图形的PNG图像看起来都与在浏览器中的图像相同。

本指南将向您展示如何安装和配置Hubot-Grafana插件。这个插件允许你告诉hubot从Slack、Hipchat或Basecamp的频道中渲染任何仪表板或图表。机器人将以图形的图像和一个链接来响应,该链接将带您到图形。

Amazon S3要求: hubot-grafana脚本会将呈现的图形上传到Amazon S3。这样Hipchat和Slack才能可靠地展示这些图片(他们要求图片是公开的)。

Hubot是什么?

Hubot是一个通用的和可扩展的聊天机器人,可以与许多聊天服务一起使用,并有一个巨大的第三方插件库,允许您从聊天室自动化任何事情。

安装Hubot

Hubot非常容易安装和托管。如果你还没有一个机器人启动和运行,请阅读官方Hubot入门指南。

安装Hubot-Grafana脚本

在你的Hubot项目repo安装Grafana插件使用npm

NPM安装hubot-grafana—保存

编辑文件external-scripts。并将hubot-grafana添加到插件列表中。

["hubot-pugme", "hubot-shipit", "hubot-grafana"]

配置

hubot-grafana插件需要设置一些环境变量才能正常工作。

export HUBOT_GRAFANA_HOST=https://play.grafana.org export HUBOT_GRAFANA_API_KEY=abcd01234deadbeef01234 export HUBOT_GRAFANA_S3_BUCKET=mybucket export HUBOT_GRAFANA_S3_ACCESS_KEY_ID=ABCDEF123456XYZ export HUBOT_GRAFANA_S3_SECRET_ACCESS_KEY= abcd01234deadbeef01234 export HUBOT_GRAFANA_S3_PREFIX=graphs export HUBOT_GRAFANA_S3_REGION=us-standard

Grafana服务器端渲染

hubot插件将利用Grafana服务器端渲染特性,该特性可以使用phantomjs渲染服务器上的任何面板。Grafana附带了一个phantomjs二进制文件(仅限Linux)。

要验证此功能是否有效,请尝试直接链接到渲染图像面板共享对话框中的链接。如果打开此链接时没有得到图像,请确认安装了phantomjs工作所需的字体包。

Grafana API Key

需要设置环境变量HUBOT_GRAFANA_API_KEY到一个Grafana API密钥。您可以从组织下拉菜单中的API密钥页面中添加这些密钥。

Amazon S3

S3选项是可选的,但为了让图片在Slack和Hipchat等服务中正常工作,它们需要公开。通过指定S3hubot-grafana脚本将发布呈现的面板到的选项S3当它发布到Slack或Hipchat时,就会使用这个URL。

Hubot命令

  • Hubot graf名单
    • 列出可用的仪表板
  • Hubot graf db石墨碳测量
    • 在仪表板上绘制所有面板
  • Hubot graf db石墨碳指标:3
    • 只有特定仪表板的id为3的图形面板
  • Hubot graf db石墨碳计量:cpu
    • 只绘制标题中包含“cpu”(不区分大小写)的面板
  • Hubot graf db石墨碳计量现在12小时
    • 找到12小时前至今的仪表盘
  • Hubot graf db石墨碳计量现在24小时现在12小时
    • 找到24小时到12小时前的仪表盘
  • Hubot graf db石墨碳计量:3 now-8d now-1d
    • 只获得一个特定仪表板的第三个面板,窗口为8天前到昨天
  • Hubot graf db石墨-碳计量主机=碳-a
    • 控件获得一个模板化的仪表盘美元的主机参数设置为大规模地

别名

上面的一些hubot命令可能很长,你可能必须记住仪表板上的slug (url id)。如果你有一些喜欢的图表,你想要经常检查(比如从你的手机),你可以用hubot脚本创建hubot命令别名hubot-alias

安装:

NPM I——保存hubot-alias

现在添加hubot-alias到插件列表中external-scripts.json重启hubot。

现在你可以像这样添加一个别名:

  • Hubot别名graf-lb=graf db loadbalancer:2 now-20m

总结

Grafana总有一天会整合Slack和Hipchat功能,但你不必等待。Grafana 2附带了一个非常聪明的服务器端渲染功能,可以使用phantomjs将任何面板渲染为png。你现在就可以安装和使用Grafana的hubot插件了!