Skip to content

Prometheus exporter for Transmission metrics, written in Go.

License

Notifications You must be signed in to change notification settings

theopsguy/transmission-exporter

Repository files navigation

Transmission Exporter for Prometheus

Test Docker Build Release Docker Pulls Go Report Card

Prometheus exporter for Transmission metrics, written in Go.

This project is a fork of metalmatze/transmission-exporter, which is no longer maintained. It is now actively maintained, and contributions are welcome.

Running this exporter

From binaries

Download a suitable binary from the releases tab.

Then:

./transmission-exporter <flags>

Docker

docker pull theopsguy/transmission-exporter
docker run -d -p 19091:19091 metalmatze/transmission-exporter

Kubernetes (Prometheus)

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

Docker Compose

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: theopsguy/transmission-exporter
  restart: always
  links:
    - transmission
  ports:
    - "127.0.0.1:19091:19091"
  environment:
    TRANSMISSION_ADDR: http://transmission:9091

Building the Exporter

Local Build

This project uses promu to build the binary.

To build locally, run:

make build

Building with Docker

After a successful local build:

docker build -t transmission-exporter .

Configuration

ENV Variable Description
WEB_PATH Path for metrics, default: /metrics
WEB_ADDR Address for this exporter to run, default: :19091
WEB_CONFIG_FILE Configuration file to protect exporter with TLS and/or basic auth, no default
TRANSMISSION_ADDR Transmission address to connect with, default: http://localhost:9091
TRANSMISSION_USERNAME Transmission username, no default
TRANSMISSION_PASSWORD Transmission password, no default
LOG_FORMAT Specify log output format. Options are 'text' (default) or 'json'

TLS and Basic Authentication

This exporter uses the Prometheus exporter-toolkit to provide TLS and basic authentication support.

See the exporter-toolkit web configuration for more details.

Original authors of the Transmission package

Tobias Blom (https://github.com/tubbebubbe/transmission)
Long Nguyen (https://github.com/longnguyen11288/go-transmission)

About

Prometheus exporter for Transmission metrics, written in Go.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors