Dashboard Repository¶
Available Dashboards¶
Alloy Metrics Dashboard¶
Purpose: Monitor Grafana Alloy log collection agent
Created: 2026-01-02
Documentation: SMELL 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: SMELL! 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:
- Plan dashboard structure
- Build JSON programmatically in Python
- Deploy via Grafana API
- Verify in browser
- 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