Visualisiere deine Strava Aktivitäten mit Grafana

Table of Contents

Was ist Strava

Strava ist das soziale Netzwerk für Sportler. Du kannst deine Sport Aktivitäten aufzeichnen und diese wird deinem Strava-Feed hinzugefügt - zusammen mit jenen, die deine Freunde und Followers mit dir teilen. Auf diese Weise könnt ihr eure Wettkampf- und Trainingsaktivitäten gegenseitig verfolgen, kommentieren und bei tollen Leistungen Kudos geben.

Was ist Grafana

Mit der Open-Source-Software von Grafana kann man Metriken, Protokolle und Ablaufverfolgungen, visualisieren, warnen und untersuchen. Grafana OSS stellt Tools zur Verfügung, mit denen man seine time-series database (TSDB) in aufschlussreiche Diagramme und Visualisierungen umwandeln kann.

Wieso das ganze?

Weil man's kann. Natürlich hast du bereits bei Gramin wie auch Strava und anderen Portalen gute Dashboards um deine Trainings zu analysieren. Ich finde dieser Anwendungsfall aber doppelt interessant, da ich bei diesem Vorhaben mit Grafana vertrauter machen kann und zudem interessante Daten analysieren kann, welche ich selbst generiert habe.

Features

Das Grafana Plugin für Strava ermöglicht dir folgendes:

  • Abfrage von Aktivitätsstatistiken und Darstellung als Zeitreihendaten
  • Tabellenformat
  • Anzeigen der Aktivitäten auf der ganzen Welt mit dem Worldmap-Panel
  • Visualisierung und Analyse von Aktivitätsdaten wie Herzfrequenz, Geschwindigkeit/Tempo, Leistung, etc.
  • Unterstützung von Template-Variablen

Voraussetzungen

  1. Du hast bereits eine fertig installierte Grafana Instanz. Falls du Grafana noch installieren musst, kannst du hier nachlesen wie das geht.
  2. Du hast das Grafana Plugin für Strava bereits installiert

Setup Strava Plugin

Bevor wir Daten von Strava anziehen könnnen, musst du auf strava.com mit deinem Account einloggen und dir ein API App Secret erstellen:

  1. Nachdem du dich auf https://www.strava.com/settings/api eingeloggt hast, erstelle eine App.
  2. Du solltest nun die Seite "Meine API-Anwendung" sehen. Hier die Erklärung der Begriffe:
    • Category: Die Kategorie für deine Anwendung
    • Club: Zeigt an, ob du einen Club mit deiner Anwendung verknüpft hast
    • Client ID: Deine Anmelde-ID
    • Client Secret: Dein Kundengeheimnis (bitte behandle es vertraulich)
    • Authorization Token: Dein Autorisierungs-Token, der sich alle sechs Stunden ändert (bitte behandeln Sie dies vertraulich)
    • Your Refresh-Token: Das Token, das du verwenden kannst, um ein neues Autorisierungs-Token zu erhalten (bitte vertraulich behandeln)
    • Rate limits: Dein aktuelles Ratenlimit
    • Authorization Callback Domain: Ändern auf die exakte Grafana URL oder IP von welcher aus du Grafana verwendets, dass wird warscheinlich eine interne URL/IP sein. Füge die URL aber ohne Ports hinzu, also z.b. 192.168.0.10

Nun wechseln wir zurück in unser Grafana und erstellen eine neue Strava Data Source:

Wichtig ist das nun zuerst Connect with Strava angewählt wird, damit die OAuth stattfinden kann:

Anschliessend wirst du nochmals zurück auf den vorherigen Data Source Dialog redirected. Gib dort nochmals deine Client ID und Client Secret ein und klicke danach auf Save & Test. Nun sollte die Meldung kommen "Data source is working".

Nun kannst du in Tab Dashboards noch die Dashboards importieren welche du dann unter Browse anschauen kannst:

This article was updated on August 9, 2022