tdarr-exporter
is a Prometheus collector for Tdarr and provides the following as Prometheus metrics:
- General instance and library statistics (as shown in Tdarr's statistics page).
- Current queues and counts.
- Progress updates for running transcode and health check jobs.
Some samples below from Grafana, check examples/
for more samples and a complete view of metrics.
Progress updates are provided for following:
- CPU/GPU Flow plugin jobs
- CPU/GPU Classic plugin jobs
- CPU/GPU health check jobs
Inspired by exportarr and qbittorrent-exporter projects. I wanted to have everything in Grafana so I don't have to check everywhere.
tdarr-exporter
can be run from in the following ways:
- Docker container
- Executable binary
- Helm chart (K8)
Each tagged release will include executable binaries under the assets
section of the release notes. This can be downloaded and run directly, see configuration section for more details on run options.
./tdarr-exporter -url=example.com
A variety of platforms (darwin
, linux
, freebsd
, openbsd
) are supported and include 386
, amd64
, and arm64
variants.
Docker images are provided for linux/amd64
and linux/arm64
variants only at the moment.
tag | description |
---|---|
latest |
Latest stable release and is updated with each new release. |
X.X.X |
Semantic versioned releases are also provided if preferred for stability or other reasons. |
main |
This tag reflects the main branch of this repository and may not be stable |
To run this image, the URL
should be provided, and more options can be supplied if needed. See configuration section for more details.
docker run -e TDARR_URL=example.com -p 9090:9090 homeylab/tdarr-exporter:latest
tdarr-exporter
can be deployed to Kubernetes using the provided Helm chart. The chart is available in a separate repository.
tdarr-exporter
accepts the following variables for configuration via the cli or environment variables.
Example
$ ./tdarr-exporter -h
-log_level string
log level to use, see link for possible values: https://pkg.go.dev/github.com/rs/zerolog#Level (default "info")
-prometheus_path string
path to use for prometheus exporter (default "/metrics")
-prometheus_port string
port for prometheus exporter (default "9090")
-url string
valid url for tdarr instance, ex: https://tdarr.somedomain.com
-verify_ssl
verify ssl certificates from tdarr (default true)
A valid URL for the tdarr instance must be provided and can include protocol (http/https
) and port if needed.
Property | Environment Variable | Default | Description |
---|---|---|---|
url |
TDARR_URL |
NONE |
This is a required property and must be provided. If no protocol is provided (http/https ), defaults to using https . Examples: tdarr.example.com , http://tdarr.example.com , http://tdarr.localdomain:8266 . |
log_level |
LOG_LEVEL |
info |
Log level to use: debug , info , warn , error . |
verify_ssl |
VERIFY_SSL |
true |
Whether or not to verify ssl certificates. |
prometheus_port |
PROMETHEUS_PORT |
9090 |
Which port for server to use to serve metrics |
prometheus_path |
PROMETHEUS_PATH |
/metrics |
Which path to serve metrics on. |
If the URL is a valid URL, the hostname inside the URL will be used to identify the instance in the metrics as tdarr_instance
label, i.e. https://tdarr.example.com
will be shown as tdarr.example.com
in the metrics (if using version v1.2.0
or later).
Dashboard example can be found on Grafana's portal here.
- Copy the ID
20388
and then import it in Grafana.
Dashboard example is also provided in the examples/dashboard.json
file in case the dashboard from Grafana is not available.
- In Grafana, add a new dashboard and then copy and paste the
dashboard.json
file contents.