[![GitHub go.mod Go version of a Go module](https://img.shields.io/github/go-mod/go-version/xsteadfastx/iperf3exporter.svg)](https://github.com/xsteadfastx/iperf3exporter)
It runs the `iperf3` command as client. Once as server sends/client receives and once as client sends/server receives. It parses the JSON output and exports them as prometheus metrics.
You can get `apt`, `rpm` and `apk` packages on the [release page](https://github.com/xsteadfastx/iperf3exporter/releases). They also include an init file.
### via archive
For easy testing you can download the `tar.gz`-archive from the [release page](https://github.com/xsteadfastx/iperf3exporter/releases), extract it and run it.
scrape_interval: 2m # maybe a even higher interval would be useful. not fill the whole traffic just with speedtests ;-)
scrape_timeout: 1m # a little higher timeout. because the scrape can take a while
metrics_path: /probe
static_configs:
- targets:
- speedtest.wobcom.de # default port 5201 is used
- footest.bar.tld:1234 # target with defined port
relabel_configs:
# takes the address from the targets and uses it as url parameter key `target`
- source_labels: [__address__]
target_label: __param_target
# takes that address and stores it in the label `instance`
- source_labels: [__param_target]
target_label: instance
# replaces the scrape address with the real hostname:port of the exporter.
# so it can use the targets for defining the iperf3 servers to use.
- target_label: __address__
replacement: 192.168.39.191:9119
```
In this example it replaces the targets with the real exporter adress and adds a label `host` that can be used to identify the scrape boxes and not just the iperf3 servers to test against.
You can specify a port for the iperf3 server target. If its not set, it will use the default port `5201`.