All jokes aside consistently monitoring your internet connection and having a record of past speeds can help you to identify and resolve problems.
Recently while talking to an IT veteran a story was mentioned of a customer complaining due to their internet speed dropping during the day and then improving again in the night.
He solved this problem eventually sighting that it was an overheating issue. If they had speed test data, it most likely would have confirmed it.
While searching for a way to monitor my internet connection consistently I stumbled upon the Speed Test Tracker repository on Github by alexjustesen.
Its a self-hosted internet performance tracking application that runs speed test checks using Ookla’s speed test service. (you can make use of docker to host the application)
It has a simple dashboard that can be used to quickly view some statistics on the previously ran speed tests, and an Admin panel which will be featured later.
Dashboard
Admin panel
Upon login into the admin panel, you will be greeted with this view from which you can manually queue speed tests.
– Dashboard (landing page)
– Results
In this section you can view your results and filter them.
– Result detail
You can view each result in more detail by clicking on it and you can also see the URL for the result from Ookla.
– Notifications
If so desired, you can set notifications to alert you when things are not running as they should.
– Thresholds
You can set thresholds for Download speed, Upload speed and Ping. When a threshold is triggered, it is sent to notification channels.
Each of these channels can then be separately configured to allow a notification to be sent to a specific destination.
documentation
There is a lot more to this project than I have shown, including the setup. More information on this wonderful project can be found at: https://docs.speedtest-tracker.dev/