插件 〉分析面板


开发者
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输入来接受来自此插件的数据。此输入的示例配置可以在示例目录中找到。此示例要求您在插件的设置中启用“flatten”。您可以调整此配置以将数据发送到 Telegraf 的众多输出中的任何一个。

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

Logstash / Fluentd / 等

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

自定义

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

配置面板

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

还有其他几个选项,所有这些选项都在 Grafana UI 中提供说明。请阅读它们,并注意服务器文档中的任何要求(例如,如果您启用 flatten,则使用 Telegraf 会简单得多,但大多数其他服务器将要求禁用 flatten)。

此插件通过使用提供给仪表板中每个面板的会话数据来工作。因此,您需要确保每次加载要监控的仪表板时都加载 analytics-panel。这意味着您应该将此面板放置在用户访问仪表板时保证加载的仪表板的一部分。截至目前,**您绝对不能将 analytics-panel 放置在行内**,因为展开和折叠行从任何面板的角度来看基本上等同于加载和卸载整个仪表板。

隐藏面板

虽然您不能将面板放在行内,但您可以采取一些措施使面板难以注意到,这不会对插件的行为产生任何负面影响。

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

默认设置

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

您可以通过以下步骤编辑默认值

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

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

故障排除

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

如果您在许多仪表板上散布了许多面板,并且怀疑某些面板可能遇到问题,您可以按“错误总数 - 最多”或其变体之一对仪表板进行排序。请注意,如果 JSON 数据可见,则不会抛出错误。

如果您遇到无法解决的问题,请发布 问题,我将尽我所能调查您的查询。

在 Grafana Cloud 上安装 Analytics Panel

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

更改日志

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 签名。
  • 添加包含的后端服务器(有关详细信息,请参阅自述文件)。
  • 添加更好的示例、文档、描述等。

1.1.1 (2020-08-06)

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

1.1.0 (2020-08-06)

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

1.0.0 (2020-06-15)

  • 删除对 Grafana Angular 组件的引用。
  • 将 JSON 组件替换为 Grafana React 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)

  • 初始版本。