- Monitoring of Download/Upload speeds (Via speedtest.net)
- Monitoring of server latency
- Everything is containerized
- Simple configuration with docker-compose
To deploy this project run
git clone https://github.com/thomasglauser/network-speed-monitor.git
cd network-speed-monitor
Create a .env
file in the projects directory.
Add the following configuration:
[CONFIG]
# Those values define the interval in seconds for both speedtest and latency test.
speedtest_interval = 60
latency_interval = 10
# This addresses defines the servers which will be pinged, seperated with spaces!
# If a server isn't reacable, no value will be stored in the database!
latency_servers = google.com github.com
[INFLUX_DB]
# This is the address of the influxdb
influx_url = "http://influxdb:8086"
# This is the authentication token. If you need to change or set it initially, just rerun 'docker compose up -d --force-recreate --build' after it.
influx_token = 'api-token'
influx_bucket = test
influx_org = test
Now start the project with docker-compose
docker-compose up --force-recreate --build
If everything runs, access the InfluxDB web interface at http://localhost:8086
You will need to do some initial configuration and generate a token for authentication.
After you generated a token, copy and paste it in the .env file and rerun docker compose up -d --force-recreate --build
.
Done!
Contributions are always welcome! Just open a Pull Request.