Prometheus exporter for Transmission metrics, written in Go.
$ go get github.com/metalmatze/transmission-exporter
| ENV Variable | Description |
|---|---|
| WEB_PATH | Path for metrics, default: /metrics |
| WEB_ADDR | Address for this exporter to run, default: :19091 |
| TRANSMISSION_ADDR | Transmission address to connect with, default: http://localhost:9091 |
| TRANSMISSION_USERNAME | Transmission username, no default |
| TRANSMISSION_PASSWORD | Transmission password, no default |
| CLIENT_NAME | Transmission client name, this value will be should in each metric item, default: equal to TRANSMISSION_ADDR |
| CONFIG_FILE | Transmission-exporter's config file path, no default |
Transmission-exporter support config file in yaml format. Note that configuration item: addr is required.
webaddr: :19091
webpath: /metrics
clients:
- name: local
addr: http://localhost:9091
- name: remote
addr: http://localhost:8080
username: admin
password: passworddocker pull metalmatze/transmission-exporter
docker run -d -p 19091:19091 metalmatze/transmission-exporter
A sample kubernetes manifest is available in example/kubernetes
Please run: kubectl apply -f examples/kubernetes/transmission.yml
You should:
- Attach the config and downloads volume
- Configure the password for the exporter
Your prometheus instance will start scraping the metrics automatically. (if configured with annotation based discovery). more info
Example docker-compose.yml with Transmission also running in docker.
transmission:
image: linuxserver/transmission
restart: always
ports:
- "127.0.0.1:9091:9091"
- "51413:51413"
- "51413:51413/udp"
transmission-exporter:
image: metalmatze/transmission-exporter
restart: always
links:
- transmission
ports:
- "127.0.0.1:19091:19091"
environment:
TRANSMISSION_ADDR: http://transmission:9091
make
For development we encourage you to use make install instead, it's faster.
Now simply copy the .env.example to .env, like cp .env.example .env and set your preferences.
Now you're good to go.
Tobias Blom (https://github.com/tubbebubbe/transmission)
Long Nguyen (https://github.com/longnguyen11288/go-transmission)