I’ve been monitoring my home internet’s uptime using Smokeping docker container for awhile now. But after finally switching from ADSL to a 100Mbps connection I thought it would be a good time to start also monitoring internet speeds.
Turns out there is an existing plugin, smokeping-speedtest for Smokeping which does the job.
For easy setup, I created a docker image to combine the plugin and it’s dependencies and with linuxserver’s docker-smokeping image as a base.
For configuration, I just followed the instructions and added the follwing to the Probes
file.
+ speedtest
binary = /usr/local/bin/speedtest-cli
timeout = 300
step = 3600
offset = random
pings = 3
++ speedtest-download
measurement = download
++ speedtest-upload
measurement = upload
I also added a new section to my Targets
file to perform speed tests against a local ISP.
+ SpeedTest
menu = Speed Tests
title = Speed Tests
++ download
menu = Download
title = Download
probe = speedtest-download
server = 2173
measurement = download
host = internode.on.net
++ upload
menu = Upload
title = Upload
probe = speedtest-upload
server = 2173
measurement = upload
host = internode.on.net
The complete Dockerfile is on github and the image on Docker Hub.