Garmin-Grafana实战指南:从部署到定制的全流程解析
2026-03-10 04:41:25作者:廉皓灿Ida
核心功能概览
Garmin-Grafana项目是一套健康数据可视化解决方案,通过Python脚本从Garmin服务器获取健康数据,存储到InfluxDB数据库,并利用Grafana构建直观的数据仪表板。该方案实现了健康数据的长期追踪与多维度分析,支持运动轨迹、心率变化、睡眠质量等18类健康指标的可视化呈现。
快速启动流程
准备运行环境
🔧 克隆项目代码库
git clone https://gitcode.com/gh_mirrors/ga/garmin-grafana
cd garmin-grafana
执行效果:在本地创建项目目录并下载全部源代码文件。
🔧 配置基础环境
cp compose-example.yml docker-compose.yml
执行效果:复制示例配置文件作为实际运行配置。
启动服务集群
🔧 启动容器服务
docker-compose up -d
执行效果:后台启动三个服务容器(数据采集器、InfluxDB数据库、Grafana仪表板),首次运行将自动拉取所需镜像。
⚠️ 注意事项:首次启动需等待3-5分钟,期间系统将完成数据库初始化和仪表板配置。可通过docker-compose logs -f命令查看实时启动进度。
个性化配置指南
定制化环境变量配置
核心配置文件为docker-compose.yml,主要环境变量配置建议:
| 配置项 | 场景化建议 | 安全处理 |
|---|---|---|
| GARMINCONNECT_EMAIL | 使用Garmin官网注册邮箱 | 避免明文存储,建议使用环境变量注入 |
| GARMINCONNECT_BASE64_PASSWORD | 使用`echo -n "密码" | base64`生成加密串 |
| UPDATE_INTERVAL_SECONDS | 日常使用建议设为3600(每小时更新) | - |
| LOG_LEVEL | 调试时设为DEBUG,稳定运行时设为INFO | - |
🔧 修改配置示例
environment:
- GARMINCONNECT_EMAIL=your.email@example.com
- GARMINCONNECT_BASE64_PASSWORD=dXNlcjEycMzQ= # 替换为实际Base64加密密码
- UPDATE_INTERVAL_SECONDS=3600
- LOG_LEVEL=INFO
数据持久化配置
🔧 配置令牌持久化
volumes:
- garmin_tokens_data:/app/tokens
作用说明:保存Garmin登录令牌,避免频繁重新验证。
⚠️ 安全提示:令牌文件包含敏感认证信息,需确保garmin_tokens_data卷权限设置为700,仅允许所有者访问。
目录解析
核心功能目录
-
src/garmin_grafana/:数据处理核心模块
garmin_fetch.py:实现Garmin API数据拉取influxdb_exporter.py:处理数据存储逻辑fit_activity_importer.py:解析运动活动文件
-
Grafana_Dashboard/:可视化配置中心
Garmin-Grafana-Dashboard.json:完整仪表板配置Garmin-Grafana-Dashboard.yaml:YAML格式配置文件
-
k8s/:容器编排支持
- 包含部署模板、服务配置和持久卷定义,支持Kubernetes环境部署
辅助工具目录
- docs/:项目文档集合,包含手动导入指南
- Extra/:辅助工具集,提供Jupyter Notebook格式的数据处理脚本
- Grafana_Datasource/:数据源配置模板,简化InfluxDB连接设置
常见问题解决
数据同步失败
症状:Grafana面板无数据显示 排查步骤:
- 检查容器运行状态:
docker-compose ps - 查看数据采集日志:
docker-compose logs garmin-fetch-data - 验证Garmin账户状态:登录Garmin官网确认账号正常
仪表板导入失败
解决方法: 🔧 手动导入仪表板
- 登录Grafana(默认地址:http://localhost:3000)
- 导航至"Dashboard > Import"
- 上传
Grafana_Dashboard/Garmin-Grafana-Dashboard.json文件 - 选择InfluxDB数据源完成配置
⚠️ 注意:确保InfluxDB服务已正常运行且数据源配置正确。
通过以上步骤,您可以快速部署并定制Garmin-Grafana健康数据可视化系统,实现个人健康数据的长期追踪与科学分析。系统支持按需扩展,可根据个人需求添加更多健康指标的采集与展示。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0187
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0112
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java03
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook08
项目优选
收起
deepin linux kernel
C
32
16
暂无描述
Dockerfile
759
4.94 K
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
1.78 K
186
暂无简介
Dart
1 K
259
Ascend Extension for PyTorch
Python
716
866
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
854
1.91 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.07 K
1.09 K
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.72 K
1.02 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
674
1.32 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
454
436
