插件 〉Strava


开发者

Grafana Labs

注册以接收不定期的产品新闻和更新



数据源
grafana

Strava

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

Grafana Strava 数据源

使用 Grafana 可视化您的运动活动。

Strava Dashboards

功能

  • 查询活动统计数据并将其呈现为时间序列数据。
  • 表格格式。
  • 使用 地理地图面板 可视化世界各地的活动。
  • 可视化和分析心率、速度/配速、功率等活动数据。
  • 支持模板变量。

配置

要开始使用 Strava 数据源,您需要创建一个 Strava API 应用程序。

  1. 登录后,请访问 https://www.strava.com/settings/api 并创建一个应用程序。
  2. 填写表单字段
    • 应用程序名称:选择您喜欢的任何名称,例如“grafana data source”。
    • 类别:选择应用程序类别,例如“Visualizer”。
    • 俱乐部:如果您想将应用程序与特定俱乐部关联,请选择一个俱乐部。
    • 网站:设置为您喜欢的任何内容,主要用于公开可用的应用程序。
    • 应用程序描述:如果您愿意,可以添加描述
    • 授权回调域:将其设置为您用于访问 Grafana 的域名。如果您在 localhost 上使用 Grafana,可以在此处输入任何内容,localhost127.0.01 是白名单中的。如果您在 Grafana Cloud 上运行插件,将其设置为您的云实例域名,例如 myorg.grafana.net。如果您通过 IP 地址访问 grafana,例如 192.168.1.10,将回调域设置为该地址。
  3. 您应该会看到“我的 API 应用程序”页面,其中包含客户端 ID、客户端密钥、Refresh token 和其他信息。

Strava 开发者文档 了解有关 Strava API 应用程序的更多信息。

启用 externalServiceAccounts 功能

插件需要启用 externalServiceAccounts 功能开关。可以在配置文件中完成

[feature_toggles]
externalServiceAccounts = true

或通过环境变量

services:
  # Grafana
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    environment:
      - GF_INSTALL_PLUGINS=grafana-strava-datasource
      - GF_FEATURE_TOGGLES_ENABLE=externalServiceAccounts

然后前往 Grafana 并创建新的 Strava 数据源。

New Data Source

设置所需的数据源名称,并用从 Strava API 应用程序页面获取的值填写_客户端 ID_和_客户端密钥_字段。保存数据源配置(会出错,但没关系,因为数据源尚未授权)。然后点击_连接 Strava_按钮,并授权 Grafana 数据源连接到 Strava。

Authorize datasource

如果您在点击_连接 Strava_后收到 `redirect_uri invalid` 错误,这意味着授权回调域未正确配置。返回 Strava API 应用程序配置,确保您将其设置为与您在浏览器中打开 Grafana 时使用的域名完全一致。

您将被重定向回数据源配置页面。点击_保存并测试_按钮,如果连接配置正确,您将看到_数据源工作正常_的消息。

Save & Test

现在您可以创建一些仪表盘了!此外,您可以从数据源配置页面的_仪表盘_选项卡导入仪表盘。

导入仪表盘

数据源配置完成后,您可以从数据源配置页面的_仪表盘_选项卡导入预配置的仪表盘。这是您自定义仪表盘的良好起点。

遗憾的是,Strava API 存在一些限制,您只能查询自己的活动。但对于多用户仪表盘,您可以配置多个数据源,并为每个数据源授权不同的用户。

某些包含的仪表盘依赖于 Grafana 的新版本面板或处于 Alpha 状态的功能。如果您想启用 Alpha 面板并避免在仪表盘中看到错误消息,请将 `GF_PANELS_ENABLE_ALPHA` 环境变量设置为 true。例如

export GF_PLUGINS_ENABLE_ALPHA=true

或将配置选项添加到 `grafana.ini`

[panels]
enable_alpha = true

高级

缓存 TTL

插件在后端使用缓存来存储活动信息。这有助于减少 API 使用并防止速率限制。插件基本上缓存了“Strava Athlete Dashboard”上的活动列表之外的所有内容(这些活动会被缓存,但间隔较短且不可配置)。因此,如果您在 Strava 中更新了活动信息(例如,名称、装备等),在缓存刷新之前,您不会在 Grafana 中看到更新。您可以通过点击数据源配置页面上的_保存并测试_按钮来手动重置缓存。

转发 OAuth 身份

可以配置 Grafana 使用 Strava 对用户进行身份验证,然后将 OAuth 身份传递给数据源。这使得用户可以在仪表盘上查看自己的数据,而无需为每个用户创建新的数据源。要启用 Strava 身份验证,请将此部分添加到 Grafana 配置文件中

[auth.generic_oauth]
name = Strava
icon = signin
enabled = true
allow_sign_up = true
client_id = YOUR_APP_CLIENT_ID
client_secret = YOUR_APP_CLIENT_SECRET
scopes = activity:read_all
# Strava does not expose user's email, so use username to prevent error
email_attribute_path = username
login_attribute_path = username
name_attribute_path = join(' ', [firstname, lastname])
auth_url = https://www.strava.com/oauth/authorize
token_url = https://www.strava.com/api/v3/oauth/token
api_url = https://www.strava.com/api/v3/athlete

重启 Grafana 服务器,然后在数据源配置中激活_转发 OAuth 身份_开关,并点击_保存并测试_按钮。

在 Grafana Cloud 上安装 Strava

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

更新日志

[1.7.1] -

已修复

  • 修复初次认证时的错误
  • 如果为空,设置默认 Grafana URL
  • 改进了认证用户体验
  • 添加关于 externalServiceAccounts 开关的说明

[1.7.0] - 2024-02-27

已更改

  • 插件使用服务账号将 refresh token 存储并更新到数据源安全 JSON 数据中。需要 Grafana 10.3 并启用 `externalServiceAccounts` 功能开关。修复了 Grafana Cloud 中的重新认证问题。
  • “Refresh token”认证类型已移除,不再支持。

[1.6.1] - 2022-08-10

已修复

  • Grafana 重启后插件签名无效

[1.6.0] - 2023-08-08

已添加

  • 认证:转发 OAuth 身份
  • 向地理地图格式添加更多数据
  • 添加步行作为一项单独的活动
  • 反向显示配速值

[1.5.1] - 2022-09-08

已修复

  • 连接到 Strava API 时出现 401 未授权错误,#62

[1.5.0] - 2022-08-24

已添加

  • 加权平均功率指标,#50
  • 改进了缓存(包括数据预取)。
  • 根据活动类型格式化时间的特殊_配速_统计数据。
  • 查询分段数据。
  • 使用数据链接导航更新了仪表盘。
  • 成就统计。
  • 活动路线支持共享十字线。
  • 更精确的数据流处理。
  • 为 Mac M1 构建。

[1.4.1] - 2021-12-27

已修复

  • 仪表盘数据源(修复损坏的仪表盘)

[1.4.0] - 2021-12-27

已添加

  • 在地理地图面板上显示活动路线,#49
  • 热力图格式,允许在地理地图面板上将选定时间范围内的活动可视化为热力图。
  • 通过应用程序配置页面的 refresh token 进行认证。
  • 根据用户偏好自动转换单位,#43
  • 仪表盘更新。

[1.3.0] - 2021-05-13

已添加

  • 单独活动查询。现在可以可视化特定于活动的指标:心率图、速度/配速、分段以及许多其他指标。
  • 支持模板变量(获取活动列表并将其用作变量)。

[1.2.0] - 2020-10-14

已添加

  • ARM 构建

已修复

  • 修复与 Grafana 7.x 的兼容性
  • 签名插件
  • 修复仪表盘

[1.1.1] - 2020-03-05

已修复

  • 插件二进制文件不使用 git LFS

[1.1.0] - 2020-03-05

已添加

  • 后端认证,#2

[1.0.1] - 2020-01-10

已修复

  • 测试数据源时的错误处理
  • 配置文档链接

[1.0.0] - 2020-01-09

已添加

  • 初步支持时间序列数据
  • 初步支持世界地图面板格式
  • 活动类型选择
  • 聚合间隔