ookla-speedtest-exporter

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.

ookla-speedtest-exporter

Image Build Status Docker Image Size Docker Pulls License

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 all

Details

Repository
ccmpbll/ookla-speedtest-exporter
Last 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