A Prometheus exporter that monitors Jellyfin media server activity by exposing metrics about active playback sessions, including session counts and playback progress.
The exporter requires two environment variables to be set:
| Variable | Description | Default |
|---|---|---|
JELLYFIN_URL | The base URL of your Jellyfin server | http://localhost:8096 |
JELLYFIN_API_KEY | Your Jellyfin API key | Required |
To get an API key:
Pull and run the latest version:
docker run -d \
--name jellyfin-exporter \
-p 9789:9789 \
-e JELLYFIN_URL=http://your-jellyfin:8096 \
-e JELLYFIN_API_KEY=your_api_key \
ajwest3d/jellyfin-session-exporter:1.0.0
Or build locally:
# Build the image
docker build -t jellyfin-session-exporter .
# Run with environment variables
docker run -d \
--name jellyfin-exporter \
-p 9789:9789 \
-e JELLYFIN_URL=http://your-jellyfin:8096 \
-e JELLYFIN_API_KEY=your_api_key \
jellyfin-session-exporter
The exporter will be available at http://localhost:9789/metrics
- job_name: 'jellyfin_sessions'
static_configs:
- targets: ['your-host:9789']
The following metrics are exposed at /metrics:
| Metric Name | Type | Description | Labels |
|---|---|---|---|
jellyfin_playback_progress_percent | Gauge | Progress percentage of each active playback session | user, item_name, session_id |
jellyfin_active_sessions_total | Gauge | Total number of currently active playback sessions | none |
jellyfin_active_sessions_count_total | Gauge | Cumulative count of all sessions seen since exporter start | none |
The container includes a built-in health check that verifies the /metrics endpoint is responding correctly. The health check runs every 30 seconds with a 3-second timeout.
The exporter listens on port 9789 by default.
MIT License
Contributions are welcome! Please feel free to submit a Pull Request.
Content type
Image
Digest
sha256:fb91bf6b6…
Size
52.6 MB
Last updated
about 1 year ago
docker pull ajwest3d/jellyfin-session-exporter