with speedtest.net, Grafana, Telegraf, InfluxDB and Docker.
Original https://github.com/raaaimund/internet-speed-monitor was outdated, and several things didn´t work anymore. Fixed them. Thanks to @raaaimund for the great setup! Just had to fix some dependencies of yours!
After running
docker-compose up
Docker starts the following services
- influxdb
- store for the speed test results
- speedtester
- schedules a cron job for running a speed test using the official speedtest.net cli every five minutes to JSON log files
- you can change the specified server and interval in the corresponding Dockerfile.
- telegraf
- reads the JSON logs with the results and sends them to influxdb
- grafana
- visualizes the results on a simple pre-configured dashboard
- default credentials are admin:admin
Change the value of the SPEEDTEST_SERVER
and SPEEDTEST_CRON_SCHEDULE
arguments in the .env file to alter the server on which to perform the speed test. You can list servers with speedtest -L
. The default values are SPEEDTEST_SERVER=3199
and SPEEDTEST_CRON_SCHEDULE="*/1 * * * *"
.
Thanks to @timokluser-dev for this PR.
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