A prometheus exporter for torrent downloader like qbittorrent/transmission/deluge

Overview

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

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

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, the dashboard should look like

You might also like...
A Udemy downloader that can download DRM protected videos and non-DRM protected videos.
A Udemy downloader that can download DRM protected videos and non-DRM protected videos.

Udemy Downloader with DRM support NOTE This program is WIP, the code is provided as-is and i am not held resposible for any legal repercussions result

Music and video downloader, Made with love by Bryan Herrera

Python-Mp3Mp4-Downloader Music and video downloader, Made with love by Bryan Herrera Requirements CHOCOLATELY windows command If your system does not

 📺 YouTube Song Downloader Bot For Telegram 🔮
📺 YouTube Song Downloader Bot For Telegram 🔮

📺 YouTube Song Downloader Bot For Telegram 🔮 Powerd By TamilBots.

music downloader written in python.   (Uses jiosaavn API)
music downloader written in python. (Uses jiosaavn API)

music downloader written in python. (Uses jiosaavn API)

MMDL (Mega Music Downloader) - A tool to easily download music.
MMDL (Mega Music Downloader) - A tool to easily download music.

mmdl - Mega Music Downloader What is mmdl ❓ TLDR: MMDL is a cli app which allows you to quickly and efficiently download one or multiple songs from Yo

apkizer is a mass downloader for android applications for all available versions.

apkizer apkizer collects all available versions of an Android application from apkpure.com Purpose Sometimes mobile applications can be useful to dig

Pantheon - The fastest YouTube downloader.
Pantheon - The fastest YouTube downloader.

A Youtube downloader written in Python3, using HTTP requests and an API.

Terminal based YouTube player and downloader
Terminal based YouTube player and downloader

termitube NOTE: THIS REPOSITORY IS A FORK OF mps-youtube as mps-youtube has been unmaintained for almost a year now. Features Search and play audio/vi

Youtube playlist downloader with full metadata support
Youtube playlist downloader with full metadata support

ytrake GUI tool to embed metadata for albums on Youtube with youtube-dl. Requires youtube-dl v2021.06.06. Post-processing Album metadata: Usage ytrake

Comments
  • Document how to configure Deluge user/password

    Document how to configure Deluge user/password

    1. You have to open the file deluge_folder/auth
    2. The file format is <user>:<password>:10
    3. Edit the config.yml in downloader-exporter
    deluge:
        client: deluge
        host: deluge:58846
        username: <user>
        password: <pass>
    
    opened by ngosang 0
  • Error traces in Deluge 2.1.1

    Error traces in Deluge 2.1.1

    Deluge exporter: 2.4.0

    Deluge exporter is working fine and it's exposing the metrics as usual. There are no traces in Deluge exporter. The traces in Deluge only happen in version > 2.0

    Traces in Deluge 2.1.1 every 30 seconds:

    22:36:37 [INFO    ][deluge.core.rpcserver         :179 ] Deluge Client connection made from: 172.18.0.2:55974
    22:36:37 [WARNING ][deluge.transfer               :111 ] Error occurred when parsing message header: Received invalid protocol version: 120. PROTOCOL_VERSION is 1..
    22:36:37 [WARNING ][deluge.transfer               :112 ] This version of Deluge cannot communicate with the sender of this data.
    22:36:37 [WARNING ][deluge.transfer               :130 ] Failed to decompress (0 bytes) and load serialized data with rencode: Error -5 while decompressing data: incomplete or truncated stream
    22:36:37 [WARNING ][deluge.transfer               :111 ] Error occurred when parsing message header: Received invalid protocol version: 68. PROTOCOL_VERSION is 1..
    22:36:37 [WARNING ][deluge.transfer               :112 ] This version of Deluge cannot communicate with the sender of this data.
    22:36:37 [WARNING ][deluge.transfer               :130 ] Failed to decompress (0 bytes) and load serialized data with rencode: Error -5 while decompressing data: incomplete or truncated stream
    22:36:37 [WARNING ][deluge.transfer               :111 ] Error occurred when parsing message header: Received invalid protocol version: 120. PROTOCOL_VERSION is 1..
    22:36:37 [WARNING ][deluge.transfer               :112 ] This version of Deluge cannot communicate with the sender of this data.
    22:36:37 [WARNING ][deluge.transfer               :130 ] Failed to decompress (0 bytes) and load serialized data with rencode: Error -5 while decompressing data: incomplete or truncated stream
    22:36:37 [INFO    ][deluge.core.rpcserver         :205 ] Deluge client disconnected: [('SSL routines', '', 'unexpected eof while reading')]
    

    Related issues:

    • https://github.com/tobbez/deluge_exporter/issues/22
    • https://github.com/JohnDoee/deluge-client/issues/40
    opened by ngosang 0
  • 无法使用快校版tr读取信息

    无法使用快校版tr读取信息

    你好,作者。感谢你的分享。我在使用downloader-exporter遇到无法使用快校版tr和正常版tr,但能使用qb的问题。希望能够得到解答。 以下是一些具体信息。

    #config
    qb:
      client: qbittorrent
      host: http://192.168.50.100:8999/
      username: admin
      password: *********
    tr2:
      client: transmission
      host: 192.168.50.100:9091
      username: admin
      password: *********
    
    #日志报错
    | ERROR    | downloader_exporter.transmission_exporter:get_status_metrics:85 - [tr2] Can not get client session: quote() doesn't support 'encoding' for bytes
    
    #页面显示
    # HELP downloader_up Whether if server is alive or not
    # TYPE downloader_up gauge
    downloader_up{client="transmission",host="192.168.50.100:9091",name="tr2",version=""} 0.0
    # HELP downloader_download_bytes_total Data downloaded this session (bytes)
    # TYPE downloader_download_bytes_total counter
    downloader_download_bytes_total{client="transmission",host="192.168.50.100:9091",name="tr2",version=""} 0.0
    # HELP downloader_download_speed_bytes Data download speed (bytes)
    # TYPE downloader_download_speed_bytes gauge
    downloader_download_speed_bytes{client="transmission",host="192.168.50.100:9091",name="tr2",version=""} 0.0
    # HELP downloader_upload_bytes_total Data uploaded this session (bytes)
    # TYPE downloader_upload_bytes_total counter
    downloader_upload_bytes_total{client="transmission",host="192.168.50.100:9091",name="tr2",version=""} 0.0
    # HELP downloader_upload_speed_bytes Data upload speed (bytes)
    # TYPE downloader_upload_speed_bytes gauge
    downloader_upload_speed_bytes{client="transmission",host="192.168.50.100:9091",name="tr2",version=""} 0.0```
    
    
    
    
    opened by CytsOn 3
Owner
Lei Shi
咸鱼一个
Lei Shi
YouTube-Downloader - YouTube Video Downloader made using python

YouTube-Downloader YouTube Videos Downloder made using python.

Shivam 1 Jan 16, 2022
Python-Youtube-Downloader - An Open Source Python Youtube Downloader

Python-Youtube-Downloader Hello There This Is An Open Source Python Youtube Down

Flex Tools 3 Jun 14, 2022
Youtube Downloader is a simple but highly efficient Youtube Video Downloader, made completly using Python

Youtube Downloader is a simple but highly efficient Youtube Video Downloader, made completly using Python

Arsh 2 Nov 26, 2022
Youtube-downloader-using-Python - Youtube downloader using Python

Youtube-downloader-using-Python Hii guys !! Fancy to see here Welcome! built by

Lakshmi Deepak 2 Jun 9, 2022
Throttle qBittorrent on Plex stream Start/Stop

Dependencies Python 3.6+ 'qbittorrent-api' Python Library Tautulli Script Setup Edit qbittorrent_throttle.py and set qBittorrent username, password an

null 6 Sep 24, 2022
Most versatile Telegram torrent and youtube-dl bot.

TorToolkit Telegram So basically Tortoolkit is aimed to be the most versatile torrent leecher and Youtube-DL bot for telegram. This bot is highly cust

Yash Khadse 541 Dec 22, 2022
A fast and small Torrent client made with Python 3.

pico-torrent A fast and small Torrent client made with Python 3. History and context It was programmed by a hacker known as Jazz_Man, around January o

Pindorama 9 Oct 4, 2022
Youtube Downloader Telegram Bot 😉

Youtube Dl bot ?? Prerequisite ffmpeg install dependencies pip3 install -r requirements.txt Setup Bot - Change configuration config.py File - insta

Aryan Vikash 285 Dec 6, 2022
A scriptable music downloader for Qobuz, Tidal, and Deezer

streamrip A scriptable stream downloader for Qobuz, Tidal, and Deezer. Features Downloads tracks, albums, playlists, discographies, and labels from Qo

null 967 Jan 3, 2023
Bulk Downloader for Reddit

saveddit is a bulk media downloader for reddit pip3 install saveddit Setting up authorization Register an application with Reddit Write down your clie

Pranav 136 Jan 3, 2023