The iPerf3 exporter allows iPerf3 probing of endpoints.
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.
docker run --rm -d -p 9579:9579 --name iperf3_exporter edgard/iperf3-exporter:latest
Visiting http://localhost:9579
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.
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.
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
Apache License 2.0, see LICENSE.