src/jellyfin_exporter | ||
.drone.yml | ||
.gitignore | ||
docker-compose.yml | ||
Dockerfile | ||
jellyfin.yml | ||
pylintrc | ||
pyproject.toml | ||
README.md | ||
test-requirements.txt |
Prometheus Jellyfin Exporter
This is an exporter that exposes information gathered from Jellyfin for use by the Prometheus monitoring system.
Installation
Requires Python 3.9 or better.
Usage
Visit http://localhost:9221/jellyfin?target=1.2.3.4 where 1.2.3.4
is the IP of the Jellyfin server to get metrics from. Specify the module
request parameter, to choose which module to use from the config file.
The target
request parameter defaults to localhost
. Hence if
jellyfin_exporter
is deployed directly on the jellyfin host, target
can be omitted.
Authentication
Using jellyfin.yml config file
Example jellyfin.yml
for token authentication:
default:
api_key: "your token"
verify_ssl: true
Prometheus Configuration
The Jellyfin exporter can be deployed either directly on a Jellyfin server or onto a separate machine.
Example config for Jellyfin exporter running on Jellyfin server:
scrape_configs:
- job_name: 'jellyfin'
static_configs:
- targets:
- 192.168.1.2:9221 # Jellyfin server with Jellyfin exporter.
metrics_path: /jellyfin
params:
module: [default]
Example config for Jellyfin exporter running on Prometheus host:
scrape_configs:
- job_name: 'jellyfin'
static_configs:
- targets:
- 192.168.1.2 # Jellyfin server.
metrics_path: /jellyfin
params:
module: [default]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9221 # Jellyfin exporter.