插件 〉分析面板


开发者

Jacob Colvin

资源


注册以接收偶尔的产品新闻和更新



面板
社区

分析面板

  • 概述
  • 安装
  • 变更日志
  • 相关内容

macropower-analytics-panel

Build Release GitHub release (latest SemVer) Marketplace Downloads

Grafana 面板,让您测量仪表盘利用率。它就像 Google Analytics,但专为 Grafana 仪表盘设计!

Example Analytics

功能

您是否曾想了解谁在使用您的仪表盘,或者它们被使用了多少?

您是否曾问过自己像“我应该为谁提供服务”或“我应该关注哪些数据”这样的问题?

分析面板通过让您完全控制用户的会话数据来扩展您的仪表盘,让您收集以下详细信息

  • 时间戳
  • 会话时长
  • 标签焦点状态
  • 选定的变量
  • 用户名
  • 用户角色
  • 仪表盘名称/ID
  • 实例信息

入门指南

您需要完成一些任务才能开始使用。

  1. 安装插件
  2. 选择、配置和运行服务器
  3. 配置面板
  4. 隐藏面板(可选)

运行服务器

此插件通过收集有关用户会话和当前环境的信息,并将这些数据作为 JSON 发送到您选择的端点来实现。

要使用此插件,您必须运行一个服务器来接收和存储/发送数据。 有几种不同的选项可供选择,并且它们可能需要不同的面板设置。请参阅链接服务器的每个存储库以获取更多信息。

此插件的 示例 目录包含一些 docker-compose 文件,可以帮助您开始使用,但我们没有为每个服务器提供这些文件(欢迎贡献)。

默认

此插件存储库中包含一个简单的 Go 服务器,无需外部依赖。它可以向支持 OpenMetrics 标准的系统(例如 Prometheus、InfluxDB 2.0)和/或您选择的日志系统(例如 Loki)公开数据。

使用 docker-compose -f example/server/docker-compose.yaml up 开始或测试此选项

analytics-panel-listener

@jtommi 维护 analytics-panel-listener,这是一个服务,它监听此插件的负载并将其存储在 MongoDB 中。

Telegraf

您可以使用Telegraf的http_listener_v2输入来接收来自此插件的数据。此输入的示例配置可以在示例目录中找到。此示例需要您在插件的设置中启用“扁平化”。您可以根据需要调整此配置,将数据发送到Telegraf的众多输出之一。

使用docker-compose -f example/telegraf/docker-compose.yaml up开始或测试此选项。

Logstash / Fluentd / 等

大多数现代日志管道(例如FluentdLogstash)应支持从本插件接收数据。您可以使用默认服务器并从其输出传输日志,或者创建一个http监听器来接收此插件的JSON有效负载。如果您使用这些或其他系统,请考虑通过将您的配置包含在此插件的示例目录中来做出贡献。

自定义

您可以为插件提供的有效负载设计自己的服务,并根据您的需要转换/存储数据。如果您这样做,请考虑开源您的工作,并在问题中告诉我,这样我就可以在此处包含您工作的链接。

配置仪表板

一旦服务器运行起来,您必须将端点放置在插件的设置中。例如,如果您使用默认服务器,端点将是http://your-server-name:your-port/write

还有其他几个选项,它们在Grafana UI中都有描述。请阅读它们,并注意服务器文档中的任何要求(例如,如果您启用扁平化,使用Telegraf将更加简单,但大多数其他服务器将需要禁用扁平化)。

此插件通过使用提供给您仪表板中每个面板的会话数据来工作。因此,您需要确保在加载您希望监控的仪表板时,总是加载分析面板。这意味着您应该将此面板放置在用户访问您的仪表板时一定会加载的部分。到目前为止,您绝对不能放置分析面板的地方是行内,因为展开和折叠行在本质上等同于加载和卸载整个仪表板,从任何面板的角度来看。

隐藏面板

尽管您不能将面板放在行内,但您可以采取一些步骤使面板很难被发现,而这不会对插件的行为产生任何负面影响。

  • 在可视化中,将隐藏设置为True。
  • 在常规设置中,将透明设置为True。
  • 在常规设置中,将标题/描述设置为空。或者,您可以设置标题/描述并使用此面板作为标题、分隔符或页脚。
  • 保存并使面板尽可能小。我发现0高度、100%宽度效果很好。

默认设置

如果您计划在许多或所有仪表板中包含此面板,您可能希望考虑更改分析面板的默认设置。这可以节省您的时间,因为每次添加新面板时,您都不需要输入相同的端点或切换某些设置。

您可以通过以下方式编辑默认设置

  • 编辑src/defaults.json文件。
  • 运行npm run build以生成更新的dist。
  • 使用私有签名进行签名(可选)
  • 将更新后的插件复制到您的插件目录。
  • 重启 Grafana。

注意,更改默认设置不会更改现有面板。默认设置在添加面板时会被复制到仪表板。

故障排除

如果某些功能无法正常工作,您应该首先查看浏览器控制台和网络检查器。打开检查器后,加载包含分析面板的仪表板,并查看控制台、请求和响应。在大多数情况下,问题应在这里显现。

如果您的仪表板中散布着许多面板,并且怀疑某些面板可能存在问题,您可以通过“错误总数 - 最多”或其变体对仪表板进行排序。注意,如果 JSON 数据可见,则不会抛出错误。

如果您遇到无法解决的问题,请发布一个问题,我将尽力调查您的问题。

在 Grafana Cloud 上安装分析面板

有关更多信息,请访问插件安装文档。

变更日志

2.1.0 (2021-08-09)

  • 添加了对端点设置中相对 URL 的支持 (#23)。感谢:@mig4

2.0.1 (2021-07-26)

  • 使用 Grafana 的 eslint 配置 (#20)。
  • 更新插件依赖项。
  • 切换到 Grafana 插件工作流程进行 CI/发布。

2.0.0 (2021-04-21)

  • 面板现在是无状态的,会话通过UUID进行匹配,而不是数据库ID。
  • 面板现在可选地转发心跳,可用于准确报告会话时长。
  • 新的有效载荷架构,现在包括变量和聚焦状态。
  • 更新和清理插件依赖项。
  • 添加了经过验证的Grafana签名。
  • 添加了包含的后端服务器(详情请参阅readme)。
  • 添加了更好的示例、文档、描述等。

1.1.1 (2020-08-06)

  • 修复了与Grafana 7.1兼容性的问题(#5)。

1.1.0 (2020-08-06)

  • 在post问题中重新抛出异常(以便更容易找到无法工作的面板)。
  • 添加了一个可选的配置文件,可用于指定默认设置。
  • 添加了对模板变量的支持(在#6中更改的值)。

1.0.0 (2020-06-15)

  • 删除了对Grafana Angular组件的引用。
  • 用Grafana React JSON组件替换了JSON组件。
  • 添加了一个选项,可以在正常和扁平化数据之间切换。
  • 在面板上显示错误,当无法完成获取时。

0.0.3 (2020-06-09)

  • 修复了Grafana 7中引用错误的问题。
  • 将输出JSON扁平化以支持Telegraf的HTTP监听器。
  • 添加了可切换的CORS模式以支持某些Telegraf环境。

0.0.2 (2020-06-09)

  • Grafana 7热修复。

0.0.1 (2019-11-30)

  • 首次发布。