π Starlink Monitoring System. Measuring the performance of your Starlink internet connection
π°οΈ Measuring the performance of your "Beta" Starlink internet connection! π‘
Not affiliated with or acting on behalf of Starlinkβ’οΈ
Report Bug
β’
Request Feature
I hope this project will make it easier for users to monitor their Starlink connection in even more detail, see its performance over time with each beta software release, but most importantly brag about their new satellite base internet to EVERYONE!
What does this do?
β οΈ IMPORTANT: When running; this will carry out speedtests every 60 minutes, which will download and upload a fair amount of data over time. Please bare this in mind if your internet connection fails over to tethered/mobile or a data chargeable supplier when Starlink is not available.
If you have good knowledge of the above technologies, possibly a Developer, DevOps Engineer, etc then quick start is for you:
cd
into your local copydocker-compose pull && docker-compose up --remove-orphan
localhost:3000
(admin/admin)Ensure you install the latest version of docker and docker-compose on your host machine.
To test you have both installed correctly, open your Shell or Terminal
and run following commands:
$ docker --version
$ docker-compose --version
After installing the pre-requisites, You need all the files within this Github Repository downloaded to the machine you want to run the monitoring from. This machine must be connected to the same network as the Starlink dish (more then likely the Starlink wifi).
If you know git
and have it installed then clone the repository - https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository
Or use Github desktop - https://desktop.github.com/
Or if you don't know git
and/or don't want to install it then you can download the files as a zip here or from clicking the green code button (top right)
π‘ Please Star and Watch the repository to hopefully get updates as new features are added
Quick overview of the file structure you now have locally (for information only, you don't really need to know this):
starlink
βββ .docs # Extra docs and images
βββ config # Configuration for each service
β βββ grafana
β β βββ provisioning
β β βββ dashboards # The preloaded dashboards
β β βββ datasources # The preloaded config to talk with prometheus
β βββ prometheus # Prometheus config file
β βββ blackbox # Blackbox exporter config file
βββ data # Persistent data
β βββ grafana # Grafana will store its running files here
β βββ prometheus # Prometheus will store its running files here
βββ docker-compose.yaml # Defines all the applications to run
Open a terminal again and cd
into the directory of your local copy. we will start all the services using Docker Compose and see logs on the terminal. The logs should quieten down, then your ready to read the "usage" section.
$ cd <path-to-your-copy>
$ docker-compose pull && docker-compose up --remove-orphan
The Docker Compose file will run the latest versions of all the applications. To upgrade you need to pull the new image versions and then restart the current running ones.
As we ran the original docker-compose up
in the foreground, so we could watch the logs. Your need to open a new terminal and cd
to the repository directory.
$ docker-compose pull
$ docker-compose restart
To stop you can ctrl-c
the foreground task in the original terminal and then:
$ docker-compose down
Grafana:
Prometheus
Starlink Exporter
/metrics
link will get the latest metrics from the Starlink dish/health
link shows you the gRPC connection state to the dishSpeedtest Exporter
/metrics
link takes 40 seconds to load as it carries out a speedtestLimit of concurrent requests reached (1), try again later.
this means a speedtest is already running/health
link shows you if it can reach the internetBlackbox Exporter
If you would like more control over which versions of each image to run please visit: Moving to versioned releases
As standard all data stays on your local machine in the data
folder, we do not collect your dish metrics centrally. If you would like more information about pushing metrics into your own Grafana cloud account: Pushing metrics to Grafana cloud
See the open issues for a list of proposed features (and known issues).
This project was created in 2021 by Dan Willcocks.
Some troubleshooting tips coming soon, until then raise an issue.