All apps · 0 apps
ookla-speedtest-exporter
Docker app from ccmpbll's Repository
Overview
Prometheus metrics exporter for Ookla Speedtest CLI. Runs a live speedtest on each scrape and exposes bandwidth, ping, latency, and packet loss metrics.
Readme
View on GitHubookla-speedtest-exporter
A Prometheus exporter that runs Ookla's Speedtest CLI and exposes the results as Prometheus metrics on port 9142.
Each Prometheus scrape triggers a live speedtest (~20-40 seconds). Because of this, you must set scrape_timeout in your Prometheus config (see example below). The exporter ensures only one speedtest runs at a time — concurrent scrapes block and share the result.
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
TZ |
No | system default | Timezone in tz database format, e.g. America/New_York |
SERVER_ID |
No | auto-select | Ookla server numeric ID to force a specific test server |
Quick Start
docker run -d \
--name ookla-speedtest-exporter \
-e TZ=America/New_York \
-p 9142:9142 \
ccmpbll/ookla-speedtest-exporter:latest
Docker Compose
services:
speedtest-exporter:
image: ccmpbll/ookla-speedtest-exporter:latest
environment:
- TZ=America/New_York
ports:
- "9142:9142"
restart: unless-stopped
Prometheus Configuration
scrape_configs:
- job_name: 'speedtest'
static_configs:
- targets: ['speedtest-exporter:9142']
# Required — speedtest takes 20-40 seconds
scrape_timeout: 60s
# Controls how often tests run
scrape_interval: 1h
Exposed Metrics
| Metric | Type | Description |
|---|---|---|
speedtest_scrape_success |
Gauge | 1 if the last run succeeded, 0 if it failed |
speedtest_last_run_timestamp |
Gauge | Unix timestamp of the last speedtest run |
speedtest_ping_latency_ms |
Gauge | Ping latency in milliseconds |
speedtest_ping_jitter_ms |
Gauge | Ping jitter in milliseconds |
speedtest_ping_low_ms |
Gauge | Ping low in milliseconds |
speedtest_ping_high_ms |
Gauge | Ping high in milliseconds |
speedtest_download_bandwidth_mbps |
Gauge | Download bandwidth in Mbps |
speedtest_download_bytes |
Gauge | Total bytes received during download test |
speedtest_download_elapsed_ms |
Gauge | Download test duration in milliseconds |
speedtest_download_latency_iqm_ms |
Gauge | Download latency IQM in milliseconds |
speedtest_download_latency_low_ms |
Gauge | Download latency low in milliseconds |
speedtest_download_latency_high_ms |
Gauge | Download latency high in milliseconds |
speedtest_download_latency_jitter_ms |
Gauge | Download latency jitter in milliseconds |
speedtest_upload_bandwidth_mbps |
Gauge | Upload bandwidth in Mbps |
speedtest_upload_bytes |
Gauge | Total bytes sent during upload test |
speedtest_upload_elapsed_ms |
Gauge | Upload test duration in milliseconds |
speedtest_upload_latency_iqm_ms |
Gauge | Upload latency IQM in milliseconds |
speedtest_upload_latency_low_ms |
Gauge | Upload latency low in milliseconds |
speedtest_upload_latency_high_ms |
Gauge | Upload latency high in milliseconds |
speedtest_upload_latency_jitter_ms |
Gauge | Upload latency jitter in milliseconds |
speedtest_packet_loss |
Gauge | Packet loss percentage (only emitted when reported by the test server) |
speedtest_info |
Gauge | Always 1.0 — carries server_id, server_host, server_name, server_location, server_country, isp, and external_ip as labels |
Install ookla-speedtest-exporter on Unraid in a few clicks.
Find ookla-speedtest-exporter in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Open the Apps tab on your Unraid server Search Community Apps for ookla-speedtest-exporter Review the template variables and paths Click Install
Categories
Download Statistics
1,741
Total Downloads
Related apps
Explore more like this
Explore allDetails
Repository
ccmpbll/ookla-speedtest-exporterLast Updated2026-02-21
First Seen2026-02-21
Runtime arguments
- Network
bridge- Shell
sh- Privileged
- false
Template configuration
PortPorttcp
Prometheus Exporter Port
- Target
- 9142
- Default
- 9142
- Value
- 9142
TimezoneVariable
- Target
- TZ
- Default
- America/New_York
- Value
- America/New_York
Speedtest Server IDVariable
Specify an Ookla speedtest server (Optional)
- Target
- SERVER_ID