with speedtest.net, Grafana, Telegraf, InfluxDB and Docker.
docker-compose up
influxdb
- store for the speed test results
telegraf
- runs speed tests using the official speedtest.net cli every five minutes using the exec input plugin
- sends the result to influxdb using the influxdb output plugin
grafana
- visualizes the results on a simple pre-configured dashboard
- default credentials are admin:admin (if
GF_AUTH_ANONYMOUS_ENABLED
is set tofalse
off in .env file) - dashboad is available on http://localhost:3000/d/speedtest/speedtest
The docker container telegraf
uses the exec input plugin to execute the speedtest. Change the telegraf.conf file to adapt the speedtest config. Also check the .env file for setting the interval and used server for the speedtest. You can list servers with speedtest -L
.
Thanks to @timokluser-dev for PR #7 and @Bedasek for Issue #9.
I used a Raspberry Pi 3B+ with Hypriot for running the internet speed monitor. To run this on a device with an ARM architecture (e.g. Raspberry Pi) run the following command
docker-compose -f docker-compose.yaml -f docker-compose.arm.yaml up