Grafana Monitoring
Monitor your TorrenClou instance with built-in Grafana dashboards.
Overview
Grafana, Prometheus, and Loki are bundled inside the TorrenClou Docker container — no extra setup needed. After installation, monitoring is available immediately:
| Service | URL | Credentials |
|---|---|---|
| Grafana | http://localhost:47500 | admin / admin |
| Prometheus | http://localhost:47600 | — |
Prometheus metrics and tracing are enabled by default when using the one-command installer.
Prometheus Metrics
TorrenClou exposes a /metrics endpoint on the API port:
http://localhost:47200/metricsAdd Prometheus Data Source in Grafana
- Open Grafana at
http://localhost:47500and log in (admin/admin) - Go to Configuration → Data Sources → Add data source
- Select Prometheus
- Set the URL to
http://localhost:47600 - Click Save & Test
Key Metrics
| Metric | Description |
|---|---|
torrencloud_downloads_total | Total downloads processed |
torrencloud_downloads_active | Currently active downloads |
torrencloud_uploads_total | Total cloud uploads completed |
torrencloud_job_queue_depth | Pending jobs in the queue |
torrencloud_job_duration_seconds | Job processing duration histogram |
Loki Logs
With OBSERVABILITY_LOKI_URL set, TorrenClou pushes structured logs to the built-in Loki instance. It is unset by default, and the bundled Grafana and Prometheus work without it.
Add Loki Data Source in Grafana
- Go to Configuration → Data Sources → Add data source
- Select Loki
- Set the URL to
http://localhost:47700 - Click Save & Test
Useful Log Queries
Filter download events:
{app="torrencloud"} |= "download"Filter errors:
{app="torrencloud"} | logfmt | level = "error"OpenTelemetry Traces
With OBSERVABILITY_ENABLE_TRACING=true (enabled by default), TorrenClou exports distributed traces.
Traces cover the full lifecycle: torrent download → file processing → cloud upload.
Build a Dashboard
Create a new dashboard in Grafana and add panels for:
- Active Downloads — gauge using
torrencloud_downloads_active - Download Throughput — graph using
rate(torrencloud_downloads_total[5m]) - Upload Success Rate — stat using
torrencloud_uploads_total - Queue Depth — graph using
torrencloud_job_queue_depth - Error Logs — logs panel using Loki
{app="torrencloud"} | logfmt | level = "error" - Job Duration — heatmap using
torrencloud_job_duration_seconds
Enable Additional Observability
To ship logs and traces to an external backend, pass these as environment variables:
OBSERVABILITY_LOKI_URL=http://localhost:47700
OBSERVABILITY_OTLP_ENDPOINT=http://localhost:47800These are read at start, so restart the container after changing them:
docker restart torrencloud