插件 〉Strava
Strava
Grafana Strava 数据源
使用 Grafana 可视化您的运动活动。
功能
- 查询活动统计数据并将其呈现为时间序列数据。
- 表格格式。
- 使用 地理地图面板 可视化世界各地的活动。
- 可视化和分析心率、速度/配速、功率等活动数据。
- 支持模板变量。
配置
要开始使用 Strava 数据源,您需要创建一个 Strava API 应用程序。
- 登录后,请访问 https://www.strava.com/settings/api 并创建一个应用程序。
- 填写表单字段
- 应用程序名称:选择您喜欢的任何名称,例如“grafana data source”。
- 类别:选择应用程序类别,例如“Visualizer”。
- 俱乐部:如果您想将应用程序与特定俱乐部关联,请选择一个俱乐部。
- 网站:设置为您喜欢的任何内容,主要用于公开可用的应用程序。
- 应用程序描述:如果您愿意,可以添加描述
- 授权回调域:将其设置为您用于访问 Grafana 的域名。如果您在 localhost 上使用 Grafana,可以在此处输入任何内容,
localhost
和127.0.01
是白名单中的。如果您在 Grafana Cloud 上运行插件,将其设置为您的云实例域名,例如myorg.grafana.net
。如果您通过 IP 地址访问 grafana,例如192.168.1.10
,将回调域设置为该地址。
- 您应该会看到“我的 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 数据源。
设置所需的数据源名称,并用从 Strava API 应用程序页面获取的值填写_客户端 ID_和_客户端密钥_字段。保存数据源配置(会出错,但没关系,因为数据源尚未授权)。然后点击_连接 Strava_按钮,并授权 Grafana 数据源连接到 Strava。
如果您在点击_连接 Strava_后收到 `redirect_uri invalid` 错误,这意味着授权回调域未正确配置。返回 Strava API 应用程序配置,确保您将其设置为与您在浏览器中打开 Grafana 时使用的域名完全一致。
您将被重定向回数据源配置页面。点击_保存并测试_按钮,如果连接配置正确,您将看到_数据源工作正常_的消息。
现在您可以创建一些仪表盘了!此外,您可以从数据源配置页面的_仪表盘_选项卡导入仪表盘。
导入仪表盘
数据源配置完成后,您可以从数据源配置页面的_仪表盘_选项卡导入预配置的仪表盘。这是您自定义仪表盘的良好起点。
遗憾的是,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
在 Grafana Cloud 实例上安装插件是一键式安装;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式安装;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式安装;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式安装;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式安装;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式安装;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式安装;更新也是如此。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
了解更多信息,请访问关于插件安装的文档。
在本地 Grafana 上安装
对于本地实例,插件通过简单的 CLI 命令安装和更新。插件不会自动更新,但当有更新可用时,您将在 Grafana 内部收到通知。
1. 安装数据源
使用 grafana-cli 工具从命令行安装 Strava
grafana-cli plugins install
插件将安装到您的 Grafana 插件目录;默认路径是 /var/lib/grafana/plugins。关于 CLI 工具的更多信息。
2. 配置数据源
从 Grafana 主菜单访问,新安装的数据源可以在数据源部分立即添加。
接下来,点击右上角的添加数据源按钮。数据源将在类型选择框中可用。
要查看已安装的数据源列表,请点击主菜单中的插件项。核心数据源和已安装的数据源都将显示。
更新日志
[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
已添加
- 初步支持时间序列数据
- 初步支持世界地图面板格式
- 活动类型选择
- 聚合间隔