speedtest_rrd

Speedtest-monitoring mainly of your ISP in RRD databases and simple HTML pages with PNG graphs

View on GitHub

This project is suitable for: Linux + macOS and has been made-with-bash + Vim +❤️

Speedtest Monitoring

This project implement a nice speedtest-monitoring of your ISP and your home network in RRD databases and simple HTML pages with PNG graphs. With these information you know when your ISP (or your network/router/wifi/…) has its “highs” or “lows”.

image (Downlink speed Last month - higher is better)

Requirements

🚧 You have to install speedtest from your linux-distro (or somewhere else from GitHub).
🚧 You may need to update speedtest-executable in 00_get_my_speedtest_status.sh.

There are the following scripts that are doing the following:

00_get_my_speedtest_status.sh
01_update_my_speedtest_rrd.sh
02_graph_speedtest_rrd.sh
98_create_my_speedtest_rrd.sh

00_get_my_speedtest_status.sh

This script is executed by 01_update_my_speedtest_rrd.sh - the one and only need or sense to run it manually might be if you want to speedtest without updating RRD database.

01_update_my_speedtest_rrd.sh

Run this script periodically (for example every 10 minutes) via crontab to update RRD database(s) for daily/weekly/monthly/yearly charts.

02_graph_speedtest_rrd.sh

Run this script periodically (for example hourly) via crontab to create PNG-chart(s) from results RRD database(s) for daily/weekly/monthly/yearly charts.

98_create_my_speedtest_rrd.sh

Run this script once to create rrd-database-file.

Crontab

# this is my speedtest:
5,15,25,35,45,55 * * * * ~/dev/speedtest_rrd/01_update_my_speedtest_rrd.sh >/dev/null 2>&1
0                * * * * ~/dev/speedtest_rrt/02_graph_speedtest_rrd.sh >/dev/null 2>&1

Examples

I’ve uploaded some real-world examples from my home-network monitored via Wifi.

Alternatives

If you like docker you could do this also with Speedtest-Tracker from henrywhitaker3.

Which gives you this for example:

image

Because the project above isn’t maintained anymore (since Sep. 2021), you could also do this with speedtest-tracker from alexjstesen.

Which gives you this for example:

grafik

Have fun!