Skip to content

Prometheus exporter for Transmission metrics, written in Go.

License

Notifications You must be signed in to change notification settings

soxhlet/transmission-exporter

 
 

Repository files navigation

Transmission Exporter for Prometheus Build Status

Docker Pulls Go Report Card

Prometheus exporter for Transmission metrics, written in Go.

Installation

$ go get github.com/metalmatze/transmission-exporter

Configuration

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

Config file

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: password

Docker

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

Development

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.

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 93.0%
  • Jsonnet 4.1%
  • Makefile 2.1%
  • Other 0.8%