Python program executing speedtest every A to B seconds randomly and pushing the results to otel
5.5K
To fight the unwinable battle of bad internet connections, this service runs a speedtest-cli every few minutes and sends the results to an OpenTelemetry collector. This allows for monitoring of the internet connection over time. I'm attaching a Grafana dashboard that can be used to visualize the data.

Get prebuilt docker image from dockerhub:
docker run -i -e OTEL_EXPORTER_OTLP_ENDPOINT='http://192.168.0.2:4137/v1/logs' --name speedtest slickdomi/speedtest-cli-otel:latest
Configure the service using the following environment variables:
By default the service will run a speedtest every 25-35 minutes (1500-2100 seconds) and send the results to the OpenTelemetry collector.
every_seconds_from 1500
every_seconds_to 2100
service_name speedtest
instance_id 1
OTEL_EXPORTER_OTLP_ENDPOINT http://192.168.0.2:4137/v1/logs
For other OTEL env variables refer to https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/
Source code available at https://github.com/SlickDomique/speedtest-cli-otel
Content type
Image
Digest
sha256:80b7ee795…
Size
31.8 MB
Last updated
over 1 year ago
docker pull slickdomi/speedtest-cli-otel