Dashboards¶
SQLMonitor ships 17 production-ready Grafana dashboards (plus a handful of community add-ons). Every JSON under Grafana-Dashboards/ is ready to import.
All dashboards use a single data source named exactly SQLMonitor of type Microsoft SQL Server, pointing at the inventory server's DBA database. Create that data source once, then import the JSONs.
Try the live demo Variables & conventions
At a glance¶
Live / operations¶
| Dashboard | File | Live URL | What it shows |
|---|---|---|---|
| Monitoring — Live — Distributed | Monitoring - Live - Distributed.json | open | Core live metrics for one instance: CPU%, memory %, waits per core / minute, active requests, blocking, transactions/sec, IO latency, disk space. |
| Monitoring — Live — All Servers | Monitoring - Live - All Servers.json | open | Fleet-wide heatmap of core health metrics — single pane for an entire environment. |
| Monitoring — Live — Job Activity Monitor | Monitoring - Live - All Servers - Job Activity Monitor.json | open | Currently-running & recently-failed SQL Agent jobs across the fleet. |
| Monitoring — Perfmon Counters — Quest Softwares — Distributed | Monitoring - Perfmon Counters - Quest Softwares - Distributed.json | open | Every Windows Perfmon counter Quest Software recommends for SQL baselining. |
| Core Metrics — Trend | Core Metrics - Trend.json | open | Long-range trends for CPU, memory, waits, IO. Same metric set as Live-Distributed but over days/weeks. |
Workload¶
| Dashboard | File | Live URL | What it shows |
|---|---|---|---|
| WhoIsActive — SQL Server Queries — Workload | WhoIsActive - SQL Server Queries - Workload.json | open | Persisted sp_WhoIsActive output: live + historical. Top blockers, long-runners, top CPU / reads / writes. |
| XEvent — Workload | XEvent - Workload.json | open | Normalized / hashed query workload captured by the XEventMetrics session — per-query CPU, reads, duration, exec count. |
| XEvent — Trend | XEvent - Trend.json | open | Trend of total CPU / reads / duration across the workload; click-through to per-query. |
| Wait Stats | Wait Stats.json | open | Delta-computed wait statistics over time, grouped by category. |
Diagnostics¶
| Dashboard | File | Live URL | What it shows |
|---|---|---|---|
| t___Blitz_Server_Health_Analysis | t___Blitz_Server_Health_Analysis.json | open | sp_Blitz findings browsable by priority, category, database. |
| t___BlitzIndex_Analysis | t___BlitzIndex_Analysis.json | open | Duplicate indexes, unused indexes, heaps, missing-index recommendations. |
Infrastructure¶
| Dashboard | File | Live URL | What it shows |
|---|---|---|---|
| t___Ag Health State | t___Ag Health State.json | open | Availability Group replica sync state, failover history, send/redo queue sizes. |
| t___Backup_History | t___Backup_History.json | open | Fleet-wide backup calendar — FULL/DIFF/LOG freshness, size, duration. |
| t___Disk Space | t___Disk Space.json | open | Per-host, per-drive free-space trend with forecasting. |
| t___Database File IO Stats | t___Database File IO Stats.json | open | Per-database-file read/write latency, IOPS, MB/s — delta over sys.dm_io_virtual_file_stats. |
| t__DBA_Inventory (DBA Inventory) | DBA Inventory.json | open | One row per monitored instance: edition, CU, cores, max memory, last-seen, owner, login expiry. |
Alerts¶
| Dashboard | File | Live URL | What it shows |
|---|---|---|---|
| SQLMonitor-Alerts | SQLMonitor-Alerts.json | open | Live alert stream from the Alert Engine with links to PagerDuty / Slack / Email evidence. |
Importing¶
- Grafana → Dashboards → Import.
- Upload the JSON from
Grafana-Dashboards/. - At the SQLMonitor data source dropdown, select the data source you created.
- (Recommended) Set the Folder to
SQLMonitorto keep them grouped.
bash for f in Grafana-Dashboards/*.json; do curl -sS -u "$GRAF_USER:$GRAF_PASS" \ -H "Content-Type: application/json" \ -X POST "$GRAF_URL/api/dashboards/db" \ --data @<(jq '{dashboard: ., overwrite: true, folderUid: "SQLMonitor"}' "$f") done
Use grafana_dashboard with config_json = file("...").
See Variables & Conventions for the dashboard variable contract, and Live Demo for how the live instance is kept up to date.