The base branch GitHub/iperf3_exporter:master has new changes
decryp7 f53a179d90
All checks were successful
Publish Docker image / Push Docker image (push) Successful in 3m28s
fix docker image
2025-03-01 18:37:59 +08:00
2025-03-01 18:32:30 +08:00
2023-12-11 07:15:48 +08:00
2023-05-14 14:43:40 +08:00
2019-04-28 09:59:43 +02:00
2019-04-28 09:59:43 +02:00
2025-03-01 18:37:59 +08:00
2019-04-28 09:59:43 +02:00
2019-04-28 09:59:43 +02:00
2021-08-01 17:58:03 +02:00
2019-04-28 09:59:43 +02:00
2020-09-03 14:53:36 +03:00

iPerf3 exporter

The iPerf3 exporter allows iPerf3 probing of endpoints.

Running this software

From binaries

Download the most suitable binary from the releases tab.

Then:

./iperf3_exporter <flags>

Note: iperf3 binary should also be installed and accessible from the path.

Using the docker image

docker run --rm -d -p 9579:9579 --name iperf3_exporter edgard/iperf3-exporter:latest

Checking the results

Visiting http://localhost:9579

Configuration

iPerf3 exporter is configured via command-line flags.

To view all available command-line flags, run ./iperf3_exporter -h.

The timeout of each probe is automatically determined from the scrape_timeout in the Prometheus config. This can be also be limited by the iperf3.timeout command-line flag. If neither is specified, it defaults to 30 seconds.

Prometheus Configuration

The iPerf3 exporter needs to be passed the target as a parameter, this can be done with relabelling. Optional: pass the port that the target iperf3 server is lisenting on as the "port" parameter.

Example config:

scrape_configs:
  - job_name: 'iperf3'
    metrics_path: /probe
    static_configs:
      - targets:
        - foo.server
        - bar.server
    params:
      port: ['5201']
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 127.0.0.1:9579  # The iPerf3 exporter's real hostname:port.

Querying the bandwidth

You can use the following Prometheus query to get the receiver bandwidth (download speed on measured iperf server) in Mbits/sec:

iperf3_received_bytes / iperf3_received_seconds * 8 / 1000000

License

Apache License 2.0, see LICENSE.

Description
Simple server that probes iPerf3 endpoints and exports results via HTTP for Prometheus consumption
Readme CC0-1.0 92 KiB
Languages
Go 93.3%
Dockerfile 6.7%