Skip to main content

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

Metadata

Release files for downloader-exporter 0.5.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for downloader-exporter 0.5.3.2
File Size Uploaded
downloader_exporter-0.5.3.2.tar.gz 3.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for downloader-exporter 0.5.3.2
File Interpreter ABI Platform
downloader_exporter-0.5.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 7.1 kB

Release files / downloader_exporter-0.5.3.2.tar.gz

Download URL downloader_exporter-0.5.3.2.tar.gz
Size 3.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b089c389e6f9fd06658e30c05355859fd861b78617e6afb718345b16240084c4
BLAKE2b-256 checksum
How to use checksums
407c0525d258bb91916a8a8d02b08554edac1e181154d7139603e0de08ba7188
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via pdm/2.22.3 CPython/3.13.2 Linux/6.8.0-1021-azure

Release files / downloader_exporter-0.5.3.2-py3-none-any.whl

Download URL downloader_exporter-0.5.3.2-py3-none-any.whl
Size 3.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a9154a2e741cb41f7b79fb6a1d65361d0a26153c39af4b4632b08d231d715a8b
BLAKE2b-256 checksum
How to use checksums
99b379534b25ce813bb2f8a1c3949451377bb55a667b89706494fb84be66a9a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via pdm/2.22.3 CPython/3.13.2 Linux/6.8.0-1021-azure

Release history Release notifications | RSS feed

This release

0.5.3.2 This release

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

1 release file

0.5.0

1 release file

0.4.2

1 release file

0.4.0

1 release file

0.3.7

1 release file

0.3.5

1 release file

0.3.3

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.2

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page