Start / Hilfe / i-Tracker

Hilfe

i-Tracker-Dokumentation

So installieren Sie i-Tracker, messen Ihre Internetverbindung regelmäßig und sehen, über welchen Weg Ihre Daten laufen. Am Ende finden Sie alle Einstellungen zum Nachschlagen.

Version 2.0

Überblick

i-Tracker misst regelmäßig, wie schnell Ihre Internetverbindung wirklich ist, und hebt die Ergebnisse auf. So sehen Sie nicht nur einen einzelnen Wert, sondern ob die Leistung zu bestimmten Tageszeiten einbricht oder zu einem bestimmten Ziel schlechter ist.

Anders als ein Speedtest im Browser misst i-Tracker gegen Messserver Ihrer Wahl, zum Beispiel bei Ihrem Rechenzentrum, in einer Außenstelle oder bei einem öffentlichen Anbieter. Dafür nutzt es das bewährte Messprogramm iperf3. Zusätzlich zeigt es auf einer Karte, über welche Stationen Ihre Daten zum Ziel laufen.

i-Tracker läuft auf einem Ihrer eigenen Rechner und wird im Browser bedient. Es ist kostenlos und quelloffen.

Das Dashboard mit den Messwerten je Server
Das Dashboard mit den Messwerten je Server

Voraussetzungen

  • Ein Rechner mit Windows, der dauerhaft läuft, zum Beispiel ein kleiner Server oder eine VM. Mit Docker geht auch Linux, siehe Installation.
  • iperf3 ab Version 3.17. i-Tracker bringt es nicht selbst mit, kann es aber auf Knopfdruck installieren (siehe Einrichtung).
  • Mindestens ein Messserver, auf dem iperf3 als Server läuft (iperf3 -s). Das kann ein eigener Rechner sein, oder Sie wählen einen öffentlichen Server aus der Liste in i-Tracker.
  • Netzwerkverbindungen:
    • vom i-Tracker-Rechner zum Messserver auf dessen iperf3-Port (meist 5201)
    • für die Wegverfolgung: Traceroute-Pakete ins Internet (in Firmennetzen manchmal gesperrt)
    • für die Karte: einmal am Tag eine Verbindung zu db-ip.com, um die Standortdaten zu aktualisieren
    • von Ihrem Arbeitsplatz zur Oberfläche auf Port 8000

Installation

Legen Sie die Programmdatei in einen eigenen Ordner, zum Beispiel C:\Program Files\i-Tracker. Einstellungen und Messdaten legt i-Tracker in diesem Ordner an.

Starten Sie i-Tracker beim ersten Mal von Hand. Dabei entstehen die Einstellungsdatei und das Startpasswort.

Windows

cd "C:\Program Files\i-Tracker"
.\i-tracker.exe

Danach öffnen Sie die Oberfläche im Browser unter http://localhost:8000, von anderen Rechnern unter http://<rechnername>:8000. Geben Sie dafür Port 8000 in der Firewall frei.

Als Dienst einrichten

Damit i-Tracker dauerhaft misst, auch nach einem Neustart, richten Sie es als Windows-Dienst ein. Dafür brauchen Sie Administratorrechte.

Windows

.\i-tracker.exe service install
.\i-tracker.exe service start

Mit Docker

Für Linux gibt es eine Docker-Vorlage im Quellcode (Dockerfile, docker-compose.yml). Das Abbild enthält iperf3 und Traceroute bereits. Alle Daten liegen im Volume /data. Diese Variante ist noch neu und weniger erprobt als die Installation unter Windows.

Docker

docker compose up -d

Einrichtung

Anmelden: Beim ersten Start legt i-Tracker den Benutzer admin mit einem zufälligen Startpasswort an. Es steht einmalig im Konsolenfenster. Läuft i-Tracker schon als Dienst, finden Sie es in der Datei initial-admin-password.txt im Programmordner. Nach der ersten Anmeldung vergeben Sie ein eigenes Passwort (mindestens 10 Zeichen). Löschen Sie die Datei danach.

iperf3 installieren: Fehlt iperf3, zeigt der Statuspunkt oben rechts einen Hinweis. Als Administrator können Sie es dort mit einem Klick installieren lassen. Unter Windows geschieht das über winget. Danach kann ein Neustart des Dienstes nötig sein.

Ersten Messserver anlegen: Unter Server legen Sie fest, wogegen gemessen wird, siehe Messserver.

Messserver

Ein Messserver ist ein Rechner, auf dem iperf3 als Gegenstelle läuft. Unter Server legen Sie je Ziel ein Profil an:

  • Name und Adresse (Name oder IP-Adresse) und der Port, meist 5201
  • Testvorgaben: Protokoll, Richtung, Dauer und Zahl der parallelen Verbindungen für die regelmäßigen Messungen
  • Regelmäßig testen: alle wie viele Minuten automatisch gemessen wird (Vorgabe: 30)
  • Auto-Trace: nach jeder Messung zusätzlich den Weg zum Ziel aufzeichnen
  • Server aktiv: schaltet das Profil vorübergehend ab, ohne es zu löschen

Statt eine Adresse selbst einzugeben, können Sie einen öffentlichen Server aus der eingebauten Liste übernehmen. Öffentliche Server sind oft stark belastet. Messen Sie dort nicht zu häufig und mit wenigen parallelen Verbindungen.

Messserver verwalten
Messserver verwalten

Es läuft immer nur eine Messung gleichzeitig, damit sich die Messungen nicht gegenseitig verfälschen. Weitere warten, bis sie an der Reihe sind. Bei vielen Servern mit kurzen Abständen kann es deshalb zu Verzögerungen kommen.

Messungen

Unter Tests starten Sie eine Messung von Hand und sehen alle bisherigen Ergebnisse.

  • Protokoll: TCP misst den Durchsatz, wie ihn Dateiübertragungen erleben. UDP misst zusätzlich Schwankungen (Jitter) und verlorene Pakete, wichtig für Telefonie und Video.
  • Richtung: Download (vom Server zu Ihnen), Upload (von Ihnen zum Server) oder beides gleichzeitig.
  • Dauer: 1 bis 300 Sekunden. 10 bis 30 Sekunden sind meist genug.
  • Parallele Verbindungen: Mehrere Verbindungen gleichzeitig lasten schnelle Leitungen besser aus.
  • UDP-Bandbreite: wie viel bei UDP gesendet wird. Ohne Angabe nur 1 Mbit/s.

Während der Messung sehen Sie die Werte live. Ein Klick auf eine Messung zeigt alle Details.

Messungen und Verlauf
Messungen und Verlauf

Dashboard

Das Dashboard fasst alles zusammen: wie viele Server und Messungen es gibt, die Durchschnittswerte für Download und Upload und den Verlauf je Server über eine Stunde, einen Tag, eine Woche oder einen Monat.

Mit Min. Download und Min. Upload legen Sie fest, ab wann eine Messung als zu langsam zählt. Diese Schwellwerte gelten nur in Ihrem Browser und lösen keine Benachrichtigung aus.

Wegverfolgung und Karte

Unter Peering-Map sehen Sie, über welche Stationen Ihre Daten zu einem Messserver laufen und wo diese Stationen ungefähr stehen. So erkennen Sie zum Beispiel Umwege über ein anderes Land, die eine Verbindung langsam machen.

  • Wählen Sie einen Server und klicken Sie auf Traceroute starten. Die Stationen erscheinen nacheinander.
  • Die Tabelle zeigt je Station Adresse, Name, Antwortzeit und Standort.
  • Standorte, die sich nicht bestimmen lassen, schätzt i-Tracker aus den Nachbarstationen. Sie sind als „geschätzt“ markiert.
  • Gespeicherte Wege können Sie später wieder aufrufen.
Weg zum Ziel auf der Karte
Weg zum Ziel auf der Karte

Die Wegverfolgung funktioniert mit IPv4-Adressen. Manche Router im Internet antworten nicht; dann fehlen einzelne Stationen. Das ist normal.

Standortdaten

Für die Karte braucht i-Tracker eine Datenbank, die IP-Adressen einem Ort zuordnet. Es lädt dafür von selbst die kostenlose Datenbank von DB-IP herunter und hält sie einmal am Tag aktuell.

Haben Sie ein Konto bei MaxMind, können Sie stattdessen deren Datenbank verwenden. Tragen Sie dazu Konto-ID und Lizenzschlüssel ein (geoip.maxmind_account_id, geoip.maxmind_license_key). Ohne Internetzugang schalten Sie die Aktualisierung mit geoip.auto_update: false ab und legen die Datei selbst ab.

Gastansicht

Ohne Anmeldung sieht jeder, der die Oberfläche öffnet, die Messergebnisse, kann aber nichts ändern und keine Messung starten. Oben steht dann „Nur Lesen“. Das ist praktisch für einen Bildschirm im Büro oder für Kollegen, die nur nachsehen möchten.

Soll ohne Anmeldung gar nichts zu sehen sein, setzen Sie auth.public_read auf false.

Die Gastansicht
Die Gastansicht

Benutzer

Unter Admin legen Administratoren weitere Benutzer an und löschen sie.

  • Administratoren dürfen alles, auch Benutzer verwalten, alte Messungen löschen und iperf3 installieren.
  • Normale Benutzer dürfen Server pflegen und Messungen starten.

Im Bereich Admin räumen Sie auch auf: Messungen und Wegverfolgungen älter als eine bestimmte Zahl von Tagen löschen. Von selbst löscht i-Tracker nichts.

Neue Version einspielen

i-Tracker aktualisiert sich nicht selbst. Für eine neue Version stoppen Sie den Dienst, ersetzen die Programmdatei und starten den Dienst wieder. Ihre Daten bleiben erhalten; die Datenbank wird beim Start bei Bedarf automatisch angepasst.

Windows

.\i-tracker.exe service stop
.\i-tracker.exe service start

Docker

docker compose up -d --build

Sicherung

Sichern Sie den Programmordner (bei Docker das Volume /data). Wichtig sind:

  • config.yaml: Ihre Einstellungen
  • der Ordner data: alle Benutzer, Server, Messungen und Wege. Am sichersten kopieren Sie ihn bei gestopptem Dienst.

Die Standortdaten im Ordner geoip lädt i-Tracker bei Bedarf neu herunter.

Fehlerbehebung

„iperf3 nicht gefunden“: Installieren Sie iperf3 über den Statuspunkt oder von Hand, oder tragen Sie den Pfad in iperf.path ein. Nach einer Installation den Dienst neu starten.

Messungen schlagen fehl: Läuft auf dem Messserver iperf3 -s, und ist dessen Port erreichbar? Öffentliche Server sind oft belegt; dann hilft ein späterer Versuch oder ein anderer Server.

Die Oberfläche ist von anderen Rechnern nicht erreichbar: Port 8000 in der Firewall freigeben und prüfen, dass web.listen auf 0.0.0.0:8000 steht.

Auf der Karte fehlen Stationen oder Orte: Manche Router antworten nicht auf Traceroute, und nicht jede Adresse lässt sich einem Ort zuordnen. Das ist normal.

Passwort vergessen: Ein anderer Administrator kann einen neuen Benutzer anlegen. Gibt es keinen, schreiben Sie uns über das Kontaktformular.

Nachschlagen

Dieser Teil ist zum Nachschlagen gedacht, wenn Sie etwas Bestimmtes einstellen möchten.

Einstellungen

Die Einstellungen stehen in der Datei config.yaml im Programmordner. Öffnen Sie sie mit einem Texteditor und starten Sie den Dienst nach einer Änderung neu. Jeden Wert können Sie stattdessen auch über die Umgebungsvariable setzen, die in der Tabelle unter dem Namen steht.

Schlüssel / UmgebungsvariableStandardBedeutung
web.listenIPERF3_WEB_LISTEN127.0.0.1:8000Unter welcher Adresse die Oberfläche erreichbar ist. Die beim ersten Start angelegte Datei setzt 0.0.0.0:8000, also für alle Rechner im Netz.
storage.pathIPERF3_STORAGE_PATHdata/i-tracker.dbDatei mit allen Messdaten, Servern und Benutzern.
auth.secret_keyIPERF3_AUTH_SECRET_KEY–Geheimer Schlüssel für die Anmeldung. Wird beim ersten Start zufällig erzeugt. Nicht weitergeben. Ändern meldet alle Benutzer ab.
auth.session_ttlIPERF3_AUTH_SESSION_TTL12hNach welcher Zeit ohne Aktivität Sie sich neu anmelden müssen.
auth.public_readIPERF3_AUTH_PUBLIC_READtrueGastansicht: Ergebnisse auch ohne Anmeldung zeigen.
scheduler.enabledIPERF3_SCHEDULER_ENABLEDtrueRegelmäßige Messungen ein- oder ausschalten.
iperf.pathIPERF3_IPERF_PATH–Wo iperf3 liegt. Leer: i-Tracker sucht selbst.
iperf.auto_installIPERF3_IPERF_AUTO_INSTALLfalseiperf3 beim Start ohne Rückfrage installieren, falls es fehlt.
geoip.pathIPERF3_GEOIP_PATHgeoip/city.mmdbDatei mit den Standortdaten.
geoip.auto_updateIPERF3_GEOIP_AUTO_UPDATEtrueStandortdaten täglich aktualisieren.
geoip.maxmind_account_idIPERF3_GEOIP_MAXMIND_ACCOUNT_ID–Konto-ID bei MaxMind, nur zusammen mit dem Lizenzschlüssel.
geoip.maxmind_license_keyIPERF3_GEOIP_MAXMIND_LICENSE_KEY–Lizenzschlüssel bei MaxMind.
map.tile_urlIPERF3_MAP_TILE_URL–Eigener Kartendienst für eine detailliertere Karte, zum Beispiel https://tile.example.org/{z}/{x}/{y}.png. Leer: die eingebaute Weltkarte.
map.tile_attributionIPERF3_MAP_TILE_ATTRIBUTION–Quellenhinweis für den eigenen Kartendienst.
log.levelIPERF3_LOG_LEVELinfoWie ausführlich das Protokoll ist: debug, info, warn oder error.
log.formatIPERF3_LOG_FORMATtextAufbau des Protokolls: text zum Lesen, json für Auswertungsprogramme.

Befehle

Diese Befehle geben Sie im Konsolenfenster im Programmordner ein.

Option / BefehlStandardBedeutung
i-tracker -configconfig.yamlEine andere Einstellungsdatei verwenden.
i-tracker -no-tui–Ohne Wirkung; nur vorhanden, damit Aufrufe wie bei den anderen wedigo-Programmen funktionieren.
i-tracker -version–Die Versionsnummer anzeigen.
i-tracker service install–Als Dienst einrichten (mit Administratorrechten).
i-tracker service uninstall–Den Dienst wieder entfernen.
i-tracker service start–Den Dienst starten.
i-tracker service stop–Den Dienst stoppen.
i-tracker service restart–Den Dienst neu starten.
i-tracker service status–Anzeigen, ob der Dienst läuft.

Schnittstelle für eigene Auswertungen

Alle Daten der Oberfläche können Sie auch als JSON abrufen, etwa für eigene Skripte oder Überwachungssysteme. Lesende Adressen sind mit eingeschalteter Gastansicht auch ohne Anmeldung erreichbar. Für alles andere melden Sie sich mit POST /api/auth/login an und schicken bei ändernden Anfragen den Wert X-CSRF-Token mit.

RouteAnmeldungBedeutung
GET /api/infoöffentlichName und Version.
GET /healthöffentlichAntwortet, solange i-Tracker läuft. Gut für Überwachungssysteme.
GET /api/statuslesend, auch für GästeZustand: Version, ob iperf3 vorhanden ist oder gerade installiert wird, ob regelmäßige Messungen laufen und welche Standortdaten geladen sind.
POST /api/auth/loginöffentlichAnmelden mit Benutzer und Passwort.
POST /api/auth/logoutöffentlichAbmelden.
POST /api/auth/logout-allnötigAuf allen Geräten abmelden.
GET /api/auth/statusöffentlichOb die Gastansicht aktiv ist und ob noch das Startpasswort geändert werden muss.
GET /api/auth/menötigWer gerade angemeldet ist.
POST /api/auth/change-passwordnötigPasswort ändern.
POST /api/auth/registerAdministratorNeuen Benutzer anlegen.
GET /api/auth/usersAdministratorAlle Benutzer.
DELETE /api/auth/users/{user_id}AdministratorBenutzer löschen.
GET /api/serverslesend, auch für GästeAlle Messserver.
POST /api/serversnötigMessserver anlegen.
GET /api/servers/{server_id}lesend, auch für GästeEin Messserver.
PUT /api/servers/{server_id}nötigMessserver ändern.
DELETE /api/servers/{server_id}nötigMessserver mit allen seinen Messungen löschen.
GET /api/testslesend, auch für GästeMessungen, filterbar nach Server, Status und Zeitraum.
POST /api/tests/runnötigMessung starten.
GET /api/tests/{test_id}lesend, auch für GästeEine Messung mit allen Werten.
DELETE /api/tests/{test_id}nötigMessung löschen.
GET /api/tests/{test_id}/livelesend, auch für GästeZwischenstand einer laufenden Messung.
GET /api/tests/live/streamlesend, auch für GästeLaufende Messungen als fortlaufender Datenstrom.
GET /api/tests/server/{server_id}/latestlesend, auch für GästeLetzte Messung eines Servers.
GET /api/stats/dashboardlesend, auch für GästeKennzahlen des Dashboards.
GET /api/stats/serverslesend, auch für GästeKennzahlen aller Server.
GET /api/stats/servers/{server_id}lesend, auch für GästeKennzahlen eines Servers.
POST /api/tests/{test_id}/tracenötigWegverfolgung zu einer Messung starten.
GET /api/tests/{test_id}/tracelesend, auch für GästeWegverfolgung einer Messung.
DELETE /api/tests/{test_id}/tracenötigWegverfolgung einer Messung löschen.
POST /api/tracesnötigWegverfolgung zu einem beliebigen Ziel aufzeichnen.
GET /api/traceslesend, auch für GästeGespeicherte Wegverfolgungen.
GET /api/traces/{trace_id}lesend, auch für GästeEine Wegverfolgung mit allen Stationen.
GET /api/traces/test/{test_id}lesend, auch für GästeWegverfolgungen zu einer Messung.
DELETE /api/traces/{trace_id}nötigWegverfolgung löschen.
GET /api/live-trace/stream/{destination}nötigWegverfolgung live, Station für Station.
DELETE /api/admin/cleanup/testsAdministratorAlte Messungen löschen, ?days=….
DELETE /api/admin/cleanup/tracesAdministratorAlte Wegverfolgungen löschen, ?days=….
GET /api/admin/stats/databaseAdministratorGröße und Inhalt der Datenbank.
POST /api/iperf3/installAdministratoriperf3 installieren.
GET /api/public-serversöffentlichListe öffentlicher Messserver.
GET /api/public-servers/searchöffentlichIn der Liste öffentlicher Messserver suchen, ?query=….