Skip to content

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

  1. Grafana → Dashboards → Import.
  2. Upload the JSON from Grafana-Dashboards/.
  3. At the SQLMonitor data source dropdown, select the data source you created.
  4. (Recommended) Set the Folder to SQLMonitor to 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.