Speedtest Tracker: Regelmäßige Speedtests mit Synology und Docker

Tools zum (regelmäßigen) Messen der Internetverbindung gibt es einige. Neuerdings haben Kunden mehr Rechte gegenüber den Anbietern und können, entsprechend frickelige Messung vorausgesetzt, Zahlungen mindern oder gar ein Sonderkündigungsrecht in Anspruch nehmen (das ist der einzige Beitrag, den ihr dazu lesen müsst). Bislang war ich nie großartig in der Verlegenheit messen zu müssen oder zu wollen – man merkt aber schon, wenn mal was extrem langsam ist. Mangels Alternativen (leider bietet die Telekom nur 50 MBit/s an, sonst wäre ich komplett gewechselt) setze ich hier seit über 10 Jahren auf Vodafone (ehemals Kabel Deutschland) und musste neulich einen Techniker beauftragen, da der Upload extrem schlecht war. Laut Support gab es keine Störung…

Meine Leitung kann bis zu 1000 MBit/s down und 50 MBit/s up liefern, wobei ich keiner bin, der da dauernd misst, es muss halt laufen. Lange Geschichte kurz: Techniker musste rauskommen, ich deren schlimme (!) Vodafone Station schon vorher wieder anschließen (sonst kein Support) und nach einigen Maßnahmen am Hausanschluss ging es dann wieder. Fast hätte ich den Techniker erwürgen müssen, denn er hat einen guten Upload im Büro an der Station gemessen, nachdem er am Hausanschluss herumfuhrwerkte und dort einpegelte – ich zeigte ihm dann allerdings mein Protokoll von früheren Messungen, die ich natürlich kabelgebunden ebenfalls an der Vodafone Station durchzog. Das dazu.

Falls ihr nicht immer wieder von Hand irgendwelche Speedtests aufrufen wollt, dann weise ich euch mal flott auf ein schönes Projekt hin, Open Source und flott installiert. Henry Whitaker hat auf Basis des Ookla Speedtest seinen Speetest Tracker gebaut, den man innerhalb von Docker ausführen kann. Docker ist auf unterschiedlichen Plattformen lauffähig, auch auf einem Synology NAS. Sollte euer NAS nicht kompatibel zu Docker sein, so könnt ihr da aber mal schauen, ob ihr manuell nachinstallieren könnt (ging bei mir auch, Paketdatei runterladen, installieren – fertig).

Habt ihr Docker auf eurem Synology NAS installiert, dann schaut einfach mal, dass ihr das Image speedtest-tracker über Docker ladet und installiert. Einstellen muss man wirklich nicht viel nach der Installation. Man erstellt auf dem NAS erst einmal einen leeren Ordner für die Daten des Containers und nachdem man diesen registriert und gestartet hat, geht es an die flotte Konfiguration. In den allgemeinen Einstellungen legt man den automatischen Neustart fest, im Reiter Volume gibt man den eben angelegten Ordner an, der Mount-Pfad ist / config:

Wichtig ist noch in der Umgebung eine Variable OOKLA_EULA_GDPR mit dem Wert true hinzufügt.

Danach könnt ihr euren Speedtracker direkt starten, also den Container anwerfen und die Oberfläche im Browser öffnen. Standardmäßig sollte dafür der Port 49156 genutzt werden, alternativ seht ihr das ja in euren Umgebungsvariablen. Sieht bei mir so aus: 192.168.1.101:49156:

Hier könnt ihr manuell direkt einen Test starten. In den Einstellungen gibt’s diverse Möglichkeiten, wie die Graphendarstellung geregelt sein soll, vermutlich soll ihr da aber selbst mal schauen, denn es gibt einige nette Sachen.

Beispielsweise könnt ihr euch die Ergebnisse eines Tests an Telegram oder Slack schicken lassen, ferner ist es möglich (und auch bequem), den Test automatisiert durchführen zu lassen – und bei schlechten Werten einen Alarm zu bekommen. Da müsst ihr bei Interesse mal schauen. Lösungen dieser Art gibt’s, wie erwähnt, einige – ich fand den Speedtest Tracker allerdings sehr charmant – den kann man „mal eben“ einrichten.

In diesem Artikel sind Partner-Links enthalten. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalten wir ei­ne kleine Provision. Für euch ändert sich am Preis nichts. Danke für eure Unterstützung!

Gefällt dir der Artikel? Dann teile ihn mit deinen Freunden.

Hallo, ich bin Carsten! Ich bin gelernter IT-Systemelektroniker und habe das Blog 2005 gegründet. Seit 2008 ist es Beruf(ung). Baujahr 1977, Dortmunder im Norden, BVB-Fan und Vater eines Sohnes. Auch zu finden bei Twitter, Facebook, Instagram und YouTube. PayPal-Kaffeespende. Mail: carsten@caschys.blog

Neueste Beiträge

Mit dem Absenden eines Kommentars stimmst du unserer Datenschutzerklärung und der Speicherung von dir angegebener, personenbezogener Daten zu.

59 Kommentare

  1. Sowas für die Fritzbox wäre ganz geil

  2. Läuft auf meinen Unraid System schon ne Weile, gutes Docker Script.

  3. Martin Meier says:

    Ob es kompatibel ist hängt insb. auch davon ab was für eine CPU dein Synology hat und ob es dafür auch einen Docker Container gibt. Insb. ist es aber eigentlich auch ohne Synology auf jedem anderen Linux-Rechner möglich, z.B. Raspberry. Da es auch ARM-Docker-Images gibt sollte es dort ohne Probleme laufen.

    • Ich wollte das ganze jetzt mal testen, komme damit aber nicht ganz klar.
      1) Habe auf meinem Linux Rechner Docker installiert.
      2) Dann „docker pull henrywhitaker3/speedtest-tracker“
      3) Dann „docker create \… “
      4) Unter „docker images“ sehe ich dann „henrywhitaker3/speedtest-tracker“
      5) Aber mit „docker run henrywhitaker3/speedtest-tracker“ bekomme ich das nicht zu laufen.

      Mit welcher URL kann ich im Browser dann das Interface aufrufen?

      • Tjo, wie man an den Kommentaren sieht; ich wäre vorsichtig bei solchen Geschichten mit dem „mal eben installiert“… Gibt soviele unterschiedliche System, da ist es häufig mit „mal eben“ nicht getan. Bei mir funktioniert es jedenfalls nicht. Die Meldungen im Log sind nicht sehr hilftreich: offenbar hat er Probleme bei download des Speedtest-Clients (speedtest.tgz von install.speedtest.com) und das mit der Lizenz hat auch erst nach einem Neustart gezogen.. Jedenfalls: wenn ich das Ding bei mir ans Laufen kriegen wollte, bedürfte es noch einiges an Recherche und Fummelei.. das ist es mir aber nicht Wert.

      • Probier mal die IP deines Linux Rechners mit „https://“ und dem Port „80“, also z.B. so:

        https://192.168.1.10:80

        80 stellt hier natürlich den Port des Docker Containers dar

        • Port 80 geht nur mit http://
          Für https:// musst du den 443 nutzen.

          Wenn du also den Container mit dem Port 49156 erreichen willst, dann http:// und nicht https:// verwenden 😉

      • Martin Meier says:

        Auf https://github.com/henrywhitaker3/Speedtest-Tracker kannst du unten den richtigen Befehl zum erzeugen des Containers bei dir kopieren. Wenn der dann läuft kannst du ihn unter http://„IP-des-Linux-Rechner“:8765 erreichen

  4. Danke für den Hinweis. Werde ich gleich mal auf meiner Syno anwerfen und testen.

  5. auf meiner syno läuft speedtest-cli https://github.com/sivel/speedtest-cli per cron. Die daten werden in eine datenbank eingetragen . mittels php/html bereite ich mir die daten bisserl auf. Läuft seit Monaten stabil https://imgur.com/GpNs9vJ

    • Echt nice. Lust auf ein Tutorial hast Du nicht oder ? Könnte ja Caschy hier publizieren.

    • Frei nach dem Motto: Lieber selber machen, wenn es bessere Alternativen gibt.

      • @tobi
        Die cli Variante gibt es schon lange. Ich hatte vor ca 2 Jahren versucht einen ähnlichen docker Container zum laufen zu bekommen, das ist mir nicht gelungen. Dann habe ich speedtest-cli probiert. Die Datenbank läuft eh bei mir. Das einzige was regelmäßig „last“ produziert ist der halbstündige speedtest der dann die Daten in die Datenbank einträgt. Alle Berechnungen werden erst dann gemacht und verspeichert wenn ich mal die php aufrufe. Das ist genau was ich will. Und wenn was nicht läuft muss man nur ein bisschen python, SQL, HTML und php können. Bzw kann das meiste dazu googlen. Daher verstehe ich deinen Kommentar nicht.

  6. Ich messe alle 15 Minuten meine Leitung durch meine Home Assistant Rechner.

  7. Aber der Ping ist ganz schön Mies 😉

  8. War es aber nicht so, dass für die Preisreduzierung oder Kündigung nur die Messungen von breitbandmessung.de mit dem Nachweisverfahren zugelassen sind?

    Dann wäre eine solche Messung hier maximal dafür gut, wenn man einen Verdacht hat, dass es zuwenig ist, bevor man sich an das offizielle Nachweisverfahren begibt.

    • Martin Meier says:

      bei Breitbandmessung.de komme ich nie auf meine Werte, bei vielen anderen Speedtests schon. Wie kann eine so schlechte Seite mit so miesen Messervern einzige relevante Messung sein?

      • Gerade auch mal versucht. Ich komme bei denen auch nur auf die Hälfte oder noch weniger, als bei den anderen Speedtests.

        • GooglePayFan says:

          Vielleicht hat es Vodafone im Gegensatz zu den anderen Speedtests noch nicht geschafft den Traffic der Bundesnetzagentur im eigenen Netz zu priorisieren? 😀

      • Ich hab keine Ahnung, ich mache die Gesetze nicht ¯\_(ツ)_/¯

        Wenns nach denen ginge, würde vermutlich keiner mehr den vollen Preis für sein Internet bezahlen müssen… aber vielleicht ist das auch der Plan?

      • Bei mir passen die mit der App gemessenen Werte genau, kriege das Ergebnis das ich gebucht habe (wenn der messende Recher direkt per Kabel am Router hängt; Switches dazwischen können das Ergebnis verfälschen, WLAN sowieso).
        Wäre es nicht ironisch wenn die vermutlich gerade verstärkt auftretenden Messungen eine so hohe Last erzeugen das die Ergebnisse verfälscht werden? 🙂

  9. Speziell bei Vodafone ist der Upload das Problem. Da komme ich selten auf mehr als 30 Mbit/Sek. und selbst das dauert… (der Wert „schaukelt sich hoch“). Das spiegelt sich auch in recht schlechten Werten bei „networkQuality“ wieder. Im Download sind fast immer mehr als 800 Mbit drin. Für einen eine erfolgreiche Reklamation reichts wohl nicht. Würde sofort gegen einen Anschl. mit 250 Down- und (echten) 50 Mbit Upstream tauschen wenns hier sowas geben würde.

    • Bei mir nicht. Upload ist konstant bei 50MBits. Die 200MBits Download erreiche ich nicht ganz immer. Interessanterweise aber eher im Brauser als mit speedtest-cli, letzteres wählt auch immer entferntere Server aus.

  10. Danke für den Tip, funktioniert perfekt…

  11. Guten Abend,

    als ich den Beitrag gelesen habe, habe ich mich sehr gefreut und dachte mir „Probiere es gleich mal aus“.
    Leider klappt es auf meiner Synology DS218+ nicht. Bekomme folgende fehlermeldung:

    Docker Container henrywhitaker3-speedtest-tracker1 wurde unerwartet gestoppt. Usw…

    Unter dem Protokoll kam auch nicht viel mehr Sinnvolles raus. Kann das sein, das der Prozessor dafür ungeeignet ist? Oder hat jemand eine Idee, was ich machen kann?

    Danke und Gruß

    • Die ARM Architektur in vielen NAS lässt leider nicht jedes Docker-Image zu. Genau aus dem Grund habe ich etwas mehr Geld in die Hand genommen, damit es ein Celeron Dualcore wird.

  12. Um Minderungsansprüche geltend zu machen, also erfolgreich, muss wohl die Kampangenmessung mit der BNetzA App gemacht werden……alles andere ist zwar schick, rechtlich wohl aber nicht verwertbar.

  13. Guter Tipp, danke! Glücklicher Weise habe ich schon seit Monaten keine Probleme, und erreiche eigentlich immer meine versprochenen Werte von 1000/50.

    Mit eigener Box kein Support stimmt aber so nicht: ich hatte schon immer eine eigene Fritzbox dran, und sowohl in meiner alten wie auch neuen Wohnung Mal Probleme gehabt, da hieß es immer „wenn das Problem ihre Fritzbox ist, müssen sie den Einsatz selbst zahlen“, da ich aber wusste, dass das Problem da nicht liegt, war es einfach für mich dem zuzustimmen. Ergo support genauso, wie mit dem Vodafone Modem. Man trägt halt nur das Restrisiko.

  14. Danke für den Tip. Leider komme ich nicht auf die Weboberfläche. Der Port 49156 funkst bei mir leider nicht. Das image läuft auf dem Docker anscheinend aber ich finde den port leider nicht : / . Hat hier jemand eine idee?

    • Üblicherweise steht der Port den Docker für den Container nach außen reicht auf „Auto“, d.h. er ist dynamisch. Nur wenn man ihn der Config manuell setzt ist er fest. Einfach mal in der Docker App in die Details des Container schauen. Dort unter Port Settings schauen was bei Local Port steht. kA wieso bei Cashy offenbar der Port vorgegeben ist. Vielleich hat er den Schritt auch einfach vergessen.

      • Bei mir steht bei den details des containers bei Port leider gar nichts. ich habe einen grafana container am laufen dort steht auch nichts beim port eingetragen und dieser ist standardmäßig über den port 3000 erreichbar.
        Beim speedtest container steht ebenso nichts im port und dieser ist über keinen der ports die ich so kenne erreichbar (warscheinlich kenne ich nur nicht den richtigen port)

        • hm… nutzt du auch die Synology App für Docker? Da steht bei mir IMMER welcher local port welchem container port zugwesien ist. Ansonsten würde ich mal das Hersteller-Forum oder eben Google durchsuchen. Hier kann man leider nur eingeschränkt auf solche Fragen antworten (da z.B. keine Screenshots/BIlder möglich sind).

  15. Als absoluter Nicht-Docker-Nutzer habe ich es zwar mit Ach und Krach geschafft, den Container auf meiner DS218+ zum Laufen zu bringen. Aber ich kann von meinem PC nicht drauf zugreifen: „Standardmäßig sollte dafür der Port 49156 genutzt werden, alternativ seht ihr das ja in euren Umgebungsvariablen“ Wo sehe ich das denn?

  16. Hat sich erledigt:
    Im Überblick über den Container habe ich unter den Port-Einstellungen zwei lokale Ports gefunden, der zweite hat funktioniert, bei mir halt 49170.

  17. Exilschaengel says:

    Hatte mir auch mal was selbst gefrickelt, aber die Aufbereitung noch nicht so ausgefeilt.
    Speedtest Tracker Image geladen, Container gestartet…leider „Website nicht erreichbar“
    in /log/speedtest/queue finde ich die Meldung „Could not open input file: /config/www/artisan“
    Datei liegt im gemounteten Pfad, wo auch andere Dateien angelegt und geschrieben wurden.
    Woran könnte es liegen?

  18. Hatte ich mal als Adapter in iobroker mit dem Vorteil, dass ich die Ergebnisse in influxdb speichern und mit Grafana visualisieren konnte. Geht das hier auch, also das Speichern der Daten in influxdb?

    Ansonsten hat sich in er iobroker Adapter Lösung als großer Nachteil einer regelmäßigen, z.B. stündlichen Messung, herausgestellt, dass es immer wieder Einbrüche in der Bandbreite gibt und zwar dann, wenn man selbst das Netz intensiv nutzt. Fällt also die stündliche Messung in einen Zeitraum, wo man selbst gerade viel Up- oder Downstream generiert, ist das Messergebnis für die Tonne. Und damit wurde das ganze dann schnell uninteressant.

  19. Hmm, habe es wie Cachy beschrieben hat konfiguriert, aber bei mir passiert gar nichts, wenn ich teste. Es wird mir Null angezeigt. Jetzt bin ich auch nicht kompletter Anfänger ich Sachen Docker. Habe 6 Container laufen, aber hier keinen Plan woran es liegen könnte.

  20. Wer kann mir bitte helfen bei zwei Problemen?
    -lasse ich Tests laufen, laufen diese mit Fehlern. In „All tests“ steht bei allen: Invalid Date
    -würde gerne den lokalen Port fixieren, da der sich ständig ändert.

    Vielen Dank im Voraus für Eure Hilfe.

    PS.: Allen einen guten Rutsch

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Es werden alle Kommentare moderiert. Lies auch bitte unsere Kommentarregeln:

Für eine offene Diskussion behalten wir uns vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen. Wir möchten, dass respektvoll miteinander kommuniziert wird, so als ob die Diskussion mit real anwesenden Personen geführt wird. Dies machen wir für den Großteil unserer Leser, der sachlich und konstruktiv über ein Thema sprechen möchte - gerne auch mit Humor.

Du willst nichts verpassen?

Neben der E-Mail-Benachrichtigung habt ihr auch die Möglichkeit, den Feed dieses Beitrags zu abonnieren. Wer natürlich alles lesen möchte, der sollte den Hauptfeed abonnieren.