Dashboard Repository¶
Available Dashboards¶
Alloy Metrics Dashboard¶
Purpose: Monitor Grafana Alloy log collection agent
Created: 2026-01-02
Documentation: reports/Alloy-Metrics-Dashboard-Creation-2026-01-02.md
Features: - 2 dashboard variables (datasource, hostname) - 4 row headers - 16 data panels (stats, gauges, timeseries) - Complex Flux queries including multi-metric calculations - Proper thresholds and visualization settings
Fail2ban Dashboard¶
Purpose: Monitor fail2ban security bans
Fixed: 2026-01-03 (blank graph troubleshooting)
Features: - Pie chart showing bans by jail - Table showing top banned IPs - Time series of ban activity - Supports journald-based logs (post-migration)
Docker Metrics Dashboard¶
Purpose: Monitor Docker/Podman container metrics
Created: 2026-01-03
Documentation: reports/Docker-Dashboard-Creation-2026-01-03.md
Reference¶
Grafana API Documentation: https://grafana.com/docs/grafana/latest/developers/http_api/
Dashboard JSON Schema: https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/view-dashboard-json-model/
Creating New Dashboards¶
See "Dashboard Creation Workflow" page for complete guide to building dashboards programmatically.
Key steps: 1. Plan dashboard structure 2. Build JSON programmatically in Python 3. Deploy via Grafana API 4. Verify in browser 5. Commit creation script to git
Dashboard Templates¶
Complete working examples in /tmp/:
- /tmp/create-alloy-dashboard.py - Full Alloy metrics dashboard
- /tmp/fix-fail2ban-pie.py - Fix pie chart configuration
- /tmp/fix-fail2ban-table.py - Fix table transformations
- /tmp/grafana-blank-graph-troubleshoot.py - Diagnosis tool
Best Practices¶
- Version control dashboard creation scripts
- Test queries before adding to dashboards
- Use variables for filtering (datasource, hostname)
- Set meaningful thresholds based on operational baselines
- Document dashboard purpose and features
- Keep creation scripts in git for repeatability