Monitoring home internet speeds with Smokeping and Speed Test

July 9, 2019 - 1 minute read -
smokeping speedtest docker

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.