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.
Transparenz: In diesem Artikel sind Partnerlinks enthalten. Durch einen Klick darauf gelangt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalten wir eine kleine Provision. Für euch ändert sich am Preis nichts. Partnerlinks haben keinerlei Einfluss auf unsere Berichterstattung.
Danke, das war ein guter Tipp. Uns verbindet das gleiche Anschluss-Schicksal. Telekom/DSL nur max. 50 MBit/s. Daher Vodafone (ehem. Kabel Deutschland) und seit Ewigkeiten heftige Probleme mit dem Upload – die bei mir allerdings nie behoben werden konnten. i.d.R. 8-12 MBit/s (statt 50 MBit/s) – aber manchmal auch stärkere Abfälle, sodass ein vernünftiges Arbeiten kaum noch möglich ist.
Ich habe ebenfalls das Problem, dass Tests nicht ausgeführt werden können.
Laut Log kann Speedtest-cli nicht heruntergeladen werden:
[cont-init.d] 50-speedtest: executing…
Ookla GDPR and EULA accepted. Downloading Speedtest CLI.
Connecting to install.speedtest.net (151.101.2.219:443)
wget: error getting response: Connection reset by peer
tar: can’t open ’speedtest.tgz‘: No such file or directory
cp: cannot stat ’speedtest‘: No such file or directory
Entsprechend ist auch im Verzeichnis www/app/Bin auch kein Executable zu finden. Ich habe es deshalb manuell von https://www.speedtest.net/de/apps/cli für meine Diskstation (bei meiner 916+ entsprechend x86_64) heruntergeladen und dort abgespeichert. Nun wird es offenbar ausgeführt, bricht allerdings ab mit folgendem Eintrag im Log:
You may only use this Speedtest software and information generated
from it for personal, non-commercial use, through a command line
interface on a personal computer. Your use of this software is subject
to the End User License Agreement, Terms of Use and Privacy Policy at
these URLs:
https://www.speedtest.net/about/eula
https://www.speedtest.net/about/terms
https://www.speedtest.net/about/privacy
==============================================================================
To accept the message please run speedtest interactively or use the following:
speedtest –accept-license
Keine Ahnung, wie ich den Parameter der Ausführung mitgeben soll… bei Github gibt es hierzu aber auch bereits ein Issue: https://github.com/henrywhitaker3/Speedtest-Tracker/issues/792
Nun habe ich es hinbekommen (siehe auch https://github.com/henrywhitaker3/Speedtest-Tracker/issues/459):
In Docker ein Bash-Terminal öffnen und im www-Ordner den Befehl „php artisan speedtest:eula“ ausführen. Anschließend funktionieren (zumindest bei mir) die Speedtests sofort. 🙂
Nett als Anhaltspunkt, aber wie einige schon geschrieben haben nicht handfestes.
Der Speed test läuft im Falle eines OS, Spiele oder sonstigem Update im Hintergrund irgendeines Geräts trotzdem los, kann sich nicht die volle Bandbreite sichern und das Messergebnis der Gesamtleistung ist nicht valide gemessen.
Ich habe den Tracker nun seit gestern laufen und schicke mir die Ergebnisse stündlich an einen Telegram-Bot.
Leider sind die Werte aber extrem schwankend – ich habe hier eine 1000/500 FTTH-Leitung. Der erste Test gestern zeigte dann auch gut 800 Mbit/s down an, nachfolgende pendeln sich jetzt aber fast dauerhaft bei 20-25 Mbit/s ein (während der Upload fast durchgehend ca. 300 Mbit/s anzeigt). Irgendwas scheint den Test zum bremsen (die Leitung funktioniert ansonsten gut)…
Geht auch mit Home Assistant out of the box. Speedtest Integration konfigurieren. Sensor oder Automation anlegen und fertig. Habe ich aber nicht gemacht, da beim Speedtest immer die volle Leitung ausgenutzt wird. Entweder werden durch andere Anwendungen die Ergebnisse verfälscht oder der Speedtest nimmt einen die benötigte Bandbreite. Macht eigentlich nur Sinn, wenn man schläft oder nicht zu Haus ist. Aber auch das lässt sich ja konfigurieren.
Leider bekomme ich es auf meinem RPi 4 mit openmediavault nicht zum laufen. Wird wohl kein arm64 unterstützt – schade.
Hallo zusammen,
hatte heute zufällig einen Artikel dazu in der c’t gelesen und auf github gleich nach was passendem gesucht.
Es ist richtig, dass nur Messwerte von breitbandmessung.de geltend gemacht werden können (stand zumindest auch in der c’t).
Hier ein passendes Repository, läuft auf meinem Xpenology (DS918+) einwandfrei.
https://github.com/shneezin/breitbandmessung
Michael, könntest du mal die Einstellungen zeigen, die du auf in Docker auf der DS918+ dafür in Docker vorgenommen hast? Ich bekomme es bei mir nicht zum Laufen. Danke!
Hi Hennisch,
Für die Einstellungen kannst du folgende Werte, in den Erweiterten Einstellungen unter Volume, nutzen. 😉
https://ibb.co/hVKM5Pd
In dem config Ordner kannst du deine gewünschten Einstellungen in der config.cfg hinterlegen.
In der Ordner Messergebnisse werden die csv Dateien abgelegt.
https://ibb.co/gTDZJQR
Ganz gute Idee jedoch bei Abweichung der Bandbreite und um Schadensersatz beim Anbieter geltend machen zu können muss dann wieder manuell auf das Beitband Messungs Tool zugegriffen werden und das 10x am Tag, je 3 Tage.