Skip to main content

Prometheus exporter for torrent downloader like qbittorrent/transmission/deluge

Project description

downloader-exporter

A prometheus exporter for qBitorrent/Transmission/Deluge. Get metrics from multiple servers and offers them in a prometheus format.

How to use it

You can install this exporter with the following command:

pip3 install downloader-exporter

Then you can run it with

downloader-exporter -c CONFIG_FILE_PATH -p 9000

Another option is run it in a docker container.

docker run -d -v CONFIG_FILE_PATH:/config/config.yml -e EXPORTER_PORT=9000 -p 9000:9000 leishi1313/downloader-exporter

Add this to your prometheus.yml

  - job_name: "downloader_exporter"
    static_configs:
        - targets: ['yourdownloaderexporter:port']

The exporter is running too slow

Use params

You can use params to collector metrics from one or more downloaders as you chose, for example

curl localhost:9000/metrics?name[]=qb1

Will only fetch downloader named qb1 in your config.

Then you can use multi-target-exporter to config your prometheus.

Use --multi

You can use an options to expose multiple ports for each downloader you're watching. Then the exporter will open a range of ports starting from the one you set, each port for each downloader

With command line

downloader-exporter -c CONFIG_FILE_PATH -p 9000 --multi true

With docker

docker run -d -v CONFIG_FILE_PATH:/config/config.yml -e EXPORTER_PORT=9000 -e USE_MULTI_PORTS=true -p 9000-9010:9000-9010 leishi1313/downloader-exporter

How to connect to Deluge

Deluge uses three ports for different operations:

  1. Incoming Port: Used by other torrent clients to connect to your instance.
  2. WebUI Port: Used to access the Deluge WebUI.
  3. Daemon Port: The one we need, this port is typically 58846, but you can confirm it by navigating to Preferences -> Daemon in the Deluge WebUI.

To connect to the daemon, you'll need the daemon username and password. These credentials are stored in a file named auth, located in Deluge's config folder. You can view the file's contents using the following command:

root@f80e4787ec08: cat /config/auth
localclient:011cc7842dc8ad50f165ab712a8ef110e06fd7c0:10

In this example you can use localclient as user and 011cc7842dc8ad50f165ab712a8ef110e06fd7c0 as password to connect. It's always different on your machine and you can add your choice of user/password by following the existing pattern. Check more at Deluge Authentication

Config file

The config file is compatible with autoremove-torrents, you can also refer to example.yml to see how to write it.

Grafana

You can use the provided docker-compose.yml to host your own stack of Grafana/Prometheus/downloader-exporter.

Simplely clone this project, add or edit config.yml, then start the docker-compose:

cp example.yml config.yml
docker-compose up -d

Use localhost:3000 and admin/admin to access the dashboard.

First you will need to add a data source, select Prometheus with URL prometheus:9090, Then go and add a new dashboard with ID 15006 (use 22677 for English version), the dashboard should look like

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

downloader_exporter-0.5.3.2.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

downloader_exporter-0.5.3.2-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file downloader_exporter-0.5.3.2.tar.gz.

File metadata

  • Download URL: downloader_exporter-0.5.3.2.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.22.3 CPython/3.13.2 Linux/6.8.0-1021-azure

File hashes

Hashes for downloader_exporter-0.5.3.2.tar.gz
Algorithm Hash digest
SHA256 b089c389e6f9fd06658e30c05355859fd861b78617e6afb718345b16240084c4
MD5 4d6069a063a1eadd457f1e8d683e0ce5
BLAKE2b-256 407c0525d258bb91916a8a8d02b08554edac1e181154d7139603e0de08ba7188

See more details on using hashes here.

File details

Details for the file downloader_exporter-0.5.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for downloader_exporter-0.5.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a9154a2e741cb41f7b79fb6a1d65361d0a26153c39af4b4632b08d231d715a8b
MD5 6142e7c2f10897d2d58c6d913b86a5df
BLAKE2b-256 99b379534b25ce813bb2f8a1c3949451377bb55a667b89706494fb84be66a9a7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page