Skip to content

Internet speed monitor with speedtest.net, Grafana, Telegraf, InfluxDB and Docker

Notifications You must be signed in to change notification settings

iowahc/internet-speed-monitor

 
 

Repository files navigation

Monitor your internet speed

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 speedtest server and cron schedule

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.

ARM

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

About

Internet speed monitor with speedtest.net, Grafana, Telegraf, InfluxDB and Docker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 77.3%
  • Shell 12.1%
  • Batchfile 10.6%