插件 〉分析面板


开发者

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 转发到您选择的端点。

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

此插件的 example 目录中有一些 docker-compose 文件,应该可以帮助您入门,但是我们并非为每个服务器都提供了这些文件(欢迎贡献)。

默认

此插件的仓库中包含一个简单的 Go 服务器,它不需要外部依赖项。它可以将数据公开给支持 OpenMetrics 标准的系统(例如 Prometheus、InfluxDB 2.0)和/或您选择的通过 stdout 的日志记录系统(例如 Loki)。

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

analytics-panel-listener

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

Telegraf

您可以使用 Telegraf 的 http_listener_v2 输入来接受来自此插件的数据。可以在 example 目录中找到此输入的示例配置。此示例要求您在插件的设置中启用“flatten”。您可以调整此配置以将数据发送到 Telegraf 的许多输出中的任何一个。

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

Logstash / Fluentd / 等

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

自定义

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

配置面板

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

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

此插件的工作原理是使用提供给仪表板中每个面板的会话数据。因此,您需要确保在每次加载您希望监视的仪表板时都加载 analytics-panel。这意味着您应该将此面板放置在仪表板的某个部分,该部分保证在用户访问您的仪表板时被加载。就目前而言,您绝对不能放置 analytics-panel 的唯一位置是在行内,因为展开和折叠行本质上与从任何面板的角度来看加载和卸载整个仪表板相同。

隐藏面板

虽然您不能将面板放置在行内,但您可以采取几个步骤使面板非常难以注意到,这不会对插件的行为产生任何负面影响。

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

默认设置

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

您可以通过执行以下操作来编辑默认值

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

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

故障排除

如果某些功能无法正常工作,您应该做的第一件事是查看浏览器的控制台和网络检查器。打开检查器后,加载带有 analytics-panel 的仪表板,并查看控制台、请求和响应。在大多数情况下,问题应该在此处显而易见。

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

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

在 Grafana Cloud 上安装分析面板

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

更新日志

2.1.0 (2021-08-09)

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

2.0.1 (2021-07-26)

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

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)

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

  • 初始版本。