Update README

This commit is contained in:
Simon Rieger 2025-03-10 00:26:09 +01:00
parent 67389d1a61
commit 00ae2c7b51

View file

@ -2,23 +2,25 @@
## Beschreibung ## Beschreibung
Dieser Prometheus Exporter sammelt Daten von der Träwelling API und stellt sie als Prometheus-Metriken zur Verfügung. Er bietet detaillierte Informationen über Fahrten, einschließlich Gesamtfahrzeit, Gesamtpunkte und Gesamtentfernung für jeden Benutzer. Dieser Prometheus Exporter sammelt Daten von der Träwelling API und stellt sie als Prometheus-Metriken bereit. Er bietet detaillierte Informationen über aktuelle Züge, Gesamtdistanz, Gesamtdauer und Gesamtpunkte für jeden Benutzer.
## Funktionen ## Funktionen
- Abfrage der Träwelling API für aktuelle Fahrtdaten - Abfrage der Träwelling API für aktuelle Zugdaten und Benutzerdetails
- Bereitstellung von Prometheus-Metriken für: - Bereitstellung von Prometheus-Metriken für:
- Gesamtfahrzeit pro Benutzer - Aktuelle Zugstatus (aktiv/inaktiv)
- Gesamte Zugstrecke pro Benutzer
- Gesamte Zugdauer pro Benutzer
- Gesamtpunkte pro Benutzer - Gesamtpunkte pro Benutzer
- Gesamtentfernung pro Benutzer - Unterstützung für mehrere Benutzernamen
- Konsolenausgabe detaillierter Fahrtinformationen
- Regelmäßige Aktualisierung der Daten (alle 5 Minuten) - Regelmäßige Aktualisierung der Daten (alle 5 Minuten)
## Voraussetzungen ## Voraussetzungen
- Go 1.15 oder höher - Go 1.20 oder höher
- Docker und Docker Compose (für containerisierte Ausführung) - Docker und Docker Compose (für containerisierte Ausführung)
- Gültiger Träwelling API-Token - Gültiger Träwelling API-Token
- Benutzernamen der zu überwachenden Nutzer
## Installation ## Installation
@ -35,9 +37,10 @@ Dieser Prometheus Exporter sammelt Daten von der Träwelling API und stellt sie
go get github.com/prometheus/client_golang/prometheus/promhttp go get github.com/prometheus/client_golang/prometheus/promhttp
``` ```
3. Erstelle eine `.env` Datei im Projektverzeichnis und füge deinen Träwelling API-Token hinzu: 3. Erstelle eine `.env` Datei im Projektverzeichnis und füge deine Umgebungsvariablen hinzu:
``` ```
TRAEWELLING_TOKEN=your_token_here TRAEWELLING_TOKEN=your_token
TRAEWELLING_USERNAMES=
``` ```
## Ausführung ## Ausführung
@ -66,14 +69,9 @@ Dieser Prometheus Exporter sammelt Daten von der Träwelling API und stellt sie
docker-compose up -d docker-compose up -d
``` ```
## Verwendung
Nach dem Start ist der Exporter unter `http://localhost:8080/metrics` erreichbar. Prometheus kann so konfiguriert werden, dass es diese Endpunkt abfragt.
## Prometheus Konfiguration ## Prometheus Konfiguration
Füge folgende Job-Konfiguration zu deiner `prometheus.yml` hinzu: Füge folgende Job-Konfiguration zu deiner `prometheus.yml` hinzu:
``` ```
scrape_configs: scrape_configs:
- job_name: 'traewelling' - job_name: 'traewelling'
@ -83,9 +81,10 @@ scrape_configs:
## Metriken ## Metriken
- `traewelling_total_trip_duration_minutes`: Gesamtfahrzeit eines Benutzers in Minuten - `traewelling_current_train_statuses`: Aktueller Status eines Zuges (1 = aktiv, 0 = inaktiv)
- `traewelling_total_trip_points`: Gesamtpunkte eines Benutzers - `traewelling_total_train_distance_km`: Gesamte Zugstrecke eines Benutzers in Kilometern
- `traewelling_total_trip_distance_km`: Gesamtentfernung eines Benutzers in Kilometern - `traewelling_total_train_duration_minutes`: Gesamte Zugdauer eines Benutzers in Minuten
- `traewelling_total_points`: Gesamtpunkte eines Benutzers
## Beitragen ## Beitragen
@ -97,4 +96,4 @@ Beiträge sind willkommen! Bitte erstelle ein Issue oder einen Pull Request für
## Kontakt ## Kontakt
Bei Fragen oder Problemen erstelle bitte ein GitHub Issue oder kontaktiere [dein-kontakt@example.com](mailto:dein-kontakt@example.com). Bei Fragen oder Problemen erstelle bitte ein GitHub Issue oder kontaktiere [admin@brothertec.eu](mailto:admin@brothertec.eu).