Home Dashboard
UID:
homeVersion: 1.0 Panels: 3 sections Datasources: MSSQL, InfluxDB
Purpose
The Home dashboard is the main entry point for the Coyote monitoring system. It provides a consolidated, high-level view of the entire infrastructure status, enabling:
- Quick problem detection: Identify servers with issues at a glance
- Directed navigation: Each metric links to its corresponding detailed dashboard
- Multi-server monitoring: View all SQL instances and Windows hosts simultaneously
Importance: This dashboard should be the first screen the operations team reviews each morning and the screen displayed on NOC (Network Operations Center) monitors.
Variables
| Variable | Description |
|---|---|
$Instance | SQL Server instances (multi-select, all by default) |
$hostname | Windows hosts (multi-select, all by default) |
Hidden variables
The variables are configured as hidden (hide: 2) because the dashboard is designed to show all instances automatically using the panel repetition feature.
Sections
Alerts (Collapsed)
Alerts alertlist
List of active alerts in the system. By default it is collapsed to avoid distraction, but shows alerts in Firing, Pending, and Error states.
Importance: Alerts are proactive notifications configured in Grafana. If there are active alerts, they should be investigated before reviewing the rest of the dashboard.
Displayed states:
- Firing: Active alert requiring attention
- Pending: Alert in evaluation period
- Error: Problem with alert evaluation
Practical recommendation
Expand this section at the start of the day to check for any pending alerts from the previous night. Configure email/Teams notifications for critical alerts.
Windows Status
Windows Status stat (repeated by hostname)
Status of each monitored Windows server. Automatically repeats for each host in the $hostname variable.
Metrics displayed per server:
| Metric | Description | Green Threshold | Magenta Threshold |
|---|---|---|---|
| Avg CPU | Average CPU usage (last 5 min) | < 80% | >= 80% |
| Min Disk % | Minimum free space percentage on any disk | > 20% | <= 20% |
Importance: These two indicators summarize the health of the operating system:
- Sustained high CPU: May indicate heavy queries, runaway processes, or lack of resources
- Low disk: Risk of databases going to read-only mode or backup failures
Action when indicators turn magenta
- CPU > 80%: Click to go to Windows Counters and check which process is consuming CPU
- Disk < 20%: Click to identify which disk is low and free up space or expand
Navigation: Clicking any metric automatically navigates to Windows Counters filtered by that hostname.
SQL Server Status
SQL Server Status stat (repeated by Instance)
Status of each monitored SQL Server instance. Automatically repeats for each instance in the $Instance variable.
Metrics displayed per instance:
| Metric | Description | Green Threshold | Magenta Threshold | Links to |
|---|---|---|---|---|
| Blocks | Currently blocked processes | 0 | >= 1 | Process Status |
| Failed Jobs | Failed jobs in the period | 0 | >= 1 | Job Status |
| SQL Version | Update status | Updated | To Check | Version & Patch |
| PLE | Page Life Expectancy | > 3000 sec | <= 3000 sec | SQL Counters |
| Log Used | Transaction log size | < 15 GB | >= 15 GB | SQL Counters |
| AVG IO | Average database I/O | < 2 MB/s | >= 2 MB/s | SQL Counters |
Metric Interpretation
Blocks
Importance: Blocks indicate that there are processes waiting for resources that another process has locked. Even 1 block can cause performance degradation if it affects critical transactions.
| Value | Meaning | Action |
|---|---|---|
| 0 | No active blocks | Normal |
| 1-5 | Minor blocks | Investigate if it persists |
| > 5 | Concurrency problem | Investigate immediately |
Quick block diagnosis
- Click on the panel to go to Process Status
- Identify the "head blocker" (process blocking the others)
- Evaluate if the blocking process can be terminated or should wait
- Check for missing indexes causing prolonged table scans
Failed Jobs
Importance: SQL Agent jobs automate critical tasks such as backups, index maintenance, ETL, and data synchronization. A failed job can mean:
- Backups not performed (risk of data loss)
- Indexes without maintenance (performance degradation)
- Data not synchronized (business problems)
| Value | Meaning | Action |
|---|---|---|
| 0 | All jobs successful | Normal |
| >= 1 | There are failed jobs | Investigate immediately |
Failed backup jobs
If the failed job is a backup, the priority is maximum. Every minute without backup is a minute of potentially lost data in case of disaster.
SQL Version (Update Status)
Importance: Keeping SQL Server updated is critical for security and stability. Microsoft regularly releases security updates (SU) and cumulative updates (CU).
| Status | Meaning | Action |
|---|---|---|
| Updated | Version up to date | Normal |
| To Check | Update available | Plan maintenance window |
Security updates
Updates marked as "Security Update" should be applied as soon as possible. SQL Server vulnerabilities can allow unauthorized access to sensitive data.
PLE (Page Life Expectancy)
Importance: PLE indicates how long (in seconds) pages remain in the buffer pool. It is the most important indicator of memory pressure in SQL Server.
| Value | Meaning | Action |
|---|---|---|
| > 3000 sec | Healthy system | Normal |
| 1000 - 3000 sec | Moderate pressure | Monitor trend |
| < 1000 sec | Severe pressure | Investigate heavy queries |
Modern PLE formula
The 300 second threshold is obsolete. The current formula is:
Minimum PLE = (RAM assigned to SQL in GB / 4) x 300For a server with 64 GB: Minimum PLE = 4,800 seconds
Log Used (Log Size)
Importance: Transaction logs grow when there are active transactions or when log backups are not performed. A very large log can:
- Consume disk space
- Indicate long-running transactions
- Indicate problems with log backups
| Value | Meaning | Action |
|---|---|---|
| < 15 GB | Normal | - |
| >= 15 GB | Large log | Verify log backups |
AVG IO (Average I/O)
Importance: I/O indicates the amount of data read/written to disk. Very high I/O can indicate:
- Inefficient queries reading lots of data
- Missing indexes
- Backups or maintenance running
| Value | Meaning | Action |
|---|---|---|
| < 2 MB/s | Normal I/O | - |
| >= 2 MB/s | Elevated I/O | Investigate active queries |
Daily Usage Guide
Morning Review Checklist
- Expand Alerts section: Check for active alerts
- Scan Windows Status: Identify servers with CPU or disk in magenta
- Scan SQL Server Status: Identify instances with indicators in magenta
- Prioritize investigation:
- Maximum: Failed Jobs (especially backups), Blocks > 5
- High: Disk < 10%, PLE < 1000
- Medium: SQL Version = To Check, CPU > 80%
Navigation Flow
┌─────────────┐
│ HOME │
└──────┬──────┘
│
┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Windows │ │ SQL Counters │ │ Process │
│ Counters │ │ │ │ Status │
│ (CPU, Disk) │ │ (PLE, Log) │ │ (Blocks) │
└───────────────┘ └───────────────┘ └───────────────┘
│
▼
┌───────────────┐
│ Job Status │
│ (Jobs) │
└───────────────┘Best Practices
NOC Screen Configuration
To use this dashboard on an operations monitor:
- Auto refresh: Configure refresh every 1-5 minutes
- Kiosk mode: Use
?kioskin the URL to hide menus - Expanded variables: Ensure all instances are selected
- Sound alerts: Configure sound alerts for critical states
Custom Thresholds
Default thresholds can be adjusted according to the environment:
| Metric | Default Value | When to Adjust |
|---|---|---|
| CPU | 80% | High-load servers may tolerate more |
| Disk | 20% | Very large disks may work with less |
| PLE | 3000 | Adjust according to server RAM |
| Log | 15 GB | Adjust according to typical DB size |
Microsoft References
| Topic | Link |
|---|---|
| Page Life Expectancy | learn.microsoft.com |
| SQL Server Monitoring | learn.microsoft.com |
| SQL Server Agent | learn.microsoft.com |
| Locks and Concurrency | learn.microsoft.com |
| Transaction Log | learn.microsoft.com |
