feat(grafana): rebuild Grafana dashboards for multi-protocol dual-stack tracker#8
Merged
josecelano merged 4 commits intomainfrom Mar 11, 2026
Merged
Conversation
The existing provisioned dashboards (metrics.json, stats.json) were designed for the old Torrust Index + Tracker demo with a single UDP tracker and IPv4 only. They are being replaced with new dashboards that reflect the current multi-protocol, dual-stack setup. This commit adds: - AGENTS.md: documents the repository structure including the new backups/ folder purpose and clarifies that server/ is only for files actually deployed on the server. - backups/grafana/dashboards/01-tracker-overview.json: first new dashboard, manually imported into Grafana (not provisioned). Shows global aggregate metrics: completed downloads, torrents, seeders, leechers, UDP announces (per sec), HTTP announces (per sec). - backups/grafana/dashboards/01-tracker-overview.png: screenshot of the verified dashboard. All queries use server_binding_port instead of server_binding_address_ip_family (which is always inet6 in the dual-stack setup) to avoid empty panels. Refs: #6
Member
Author
|
ACK cb2188c |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #6
Why the existing dashboards need replacing
The current provisioned dashboards (
metrics.json,stats.json) werebuilt for the old Torrust Index + Tracker demo, which ran a single UDP
tracker with IPv4 only. They filter by
server_binding_address_ip_family="inet", which never matches in the newsetup because all sockets are dual-stack (
[::]) and the metric alwaysreports
inet6— so most panels show no data.The new demo runs four service instances across two protocols:
The correct filter going forward is
server_binding_portto distinguishinstances, not
server_binding_address_ip_family.The new dashboards are manually imported into Grafana (not provisioned
via config files), so they live in Grafana's own database and are backed
up here in
backups/grafana/dashboards/for recovery and sharing.Changes
AGENTS.mdDocumented the three top-level folders so the purpose of each is
unambiguous:
server/— only files actually deployed on the serverdocs/— documentation onlybackups/— versioned backup exports of app-managed data (e.g. Grafanadashboards exported from the UI)
backups/grafana/dashboards/New folder for Grafana dashboard backups (JSON + screenshot pairs).
server/— old provisioned dashboards removedDeleted
metrics.jsonandstats.jsonfromserver/opt/torrust/storage/grafana/provisioning/dashboards/torrust/.These will be removed from the server and Grafana restarted so the broken
provisioned dashboards no longer appear.
Progress
01-tracker-overview.json— verified on live Grafana02-udp-tracker-1.json— verified on live Grafana (UDP Tracker 1, port 6969)03-http-tracker-1.json— verified on live Grafana (HTTP Tracker 1, port 7070)http_tracker_core_requests_received_totalis currently exposedmetrics.jsonandstats.jsonfromserver/Still to do
tracker_statsPrometheus scrape jobRefs: #6