Working with Rules

The following is a summary of rules available out-of-the-box with the Azure SQL Database cartridge. Default threshold values can be changed or scoped to specific values, generally through registry variables. These rules can be copied, modified, disabled, or customized in a wide variety of ways.

This section describes the following rules:


Availability

Rules related to database availability and monitoring agents.

Database

SQL_AZURE - Database Unresponsive

This alarm is invoked when the connection to database failed.


SQL_AZURE - Connection Time

This alarm is invoked when the average connection time to the database exceeds a predefined threshold (Fatal: 40000ms, Warning: 20000ms).


SQL_AZURE - Response Time

This alarm is invoked when the response time exceeds a predefined threshold, due to one or more of the following reasons: host down, database down, network issues, or database overload.


SQL_AZURE - Elastic Pool Unresponsive

This alarm is invoked when the connection to the Elastic Pool master database has failed.


Monitoring Agents

SQL_AZURE - Collection Status

This alarm is invoked when Foglight data collection has failed.


SPI_AZURE PI - PI repository availability

This alarm is invoked when agent not working properly and data is not updated in the repository.


HA/DR

Rules related to High Availability and Geo-Replication.

High Availability

SQL_AZURE - Elastic Pool Reaching Concurrent Sessions Limit

This alarm is raised when maximum concurrent sessions in percentage of the limit of the Elastic Pool service tier exceeds a threshold. This alarm is raised to prevent a situation where number of open sessions reaching Elastic Pool service tier limit, thereby preventing connect to databases (Fatal: 95%, Warning: 85%, Informational: 75%).


Storage

Rules related to database data and storage utilization.

Database data

SQL_AZURE - Database Reaching Current Space Limit Capacity

This alarm is invoked when a database is in full capacity. This alarm is raised to prevent a situation where a file that fills its current capacity cannot grow enough to resolve this issue, thereby causing the database to hang (Fatal: 85%, Warning: 75%).


SQL_AZURE - Elastic Pool Reaching Current Space Limit Capacity

This alarm is invoked when an Elastic Pool is reaching current space limit capacity (Fatal: 95%, Warning: 85%, Informational: 75%).


Compute Utilization

Rules related to CPU, Data I/O, and Log I/O utilization.

CPU

SQL_AZURE - Database Reaching Current CPU Capacity (DTU)

This alarm is invoked when a database has reached the CPU limit. This alarm is raised to prevent a situation where the database performance is too high using current activity, thereby causing the database to work very slow (Fatal: 85%, Warning: 75%).


SQL_AZURE - Database Reaching Current CPU Capacity (vCore)

This alarm is invoked when a database has reached the CPU limit. This alarm is raised to prevent a situation where the database performance is too high using current activity, thereby causing the database to work very slow (Fatal: 85%, Warning: 75%).


SQL_AZURE - Elastic Pool Reaching Current CPU Capacity (vCore)

This alarm is invoked when an elastic pool has reached the CPU limit (Fatal: 95%, Warning: 85%, Informational: 70%).


SQL_AZURE - Elastic Pool Reaching Current DTU Capacity (DTU)

This alarm is invoked when the overall Elastic Pool DTU consumption is exceeding a predefined threshold. Such a state can indicate any of the underlying databases in the pool is consuming high amount of resources and may result in starvation to other databases in the pool (Fatal: 95%, Warning: 85%, Informational: 70%).


Data I/O

SQL_AZURE - Database Reaching Current DATA I/O Capacity (DTU)

This alarm is invoked when a database has reached high data I/O utilization percentage. This alarm is raised to prevent a situation where the database performance is too high using current activity, thereby causing the database to work very slow (Fatal: 85%, Warning: 75%).


SQL_AZURE - Database Reaching Current DATA I/O Capacity (vCore)

This alarm is invoked when a database has reached high data I/O utilization percentage. This alarm is raised to prevent a situation where the database performance is too high using current activity, thereby causing the database to work very slow (Fatal: 85%, Warning: 75%).


SQL_AZURE - Elastic Pool Reaching Current Data IO Capacity (vCore)

This alarm is invoked when an Elastic Pool vCore is getting reached to its Data IO limit threshold. This alarm is raised to prevent a situation where the databases in the Elastic Pool consuming high Data IO, thereby causing Data IO load on the Elastic Pool and resource starvation (Fatal: 95%, Warning: 85%, Informational: 70%).


Log I/O

SQL_AZURE - Database Reaching Current LOG I/O Capacity (DTU)

This alarm is invoked when a database has reached high transaction log writes percentage. This alarm is raised to prevent a situation where the database performance is too high using current activity, thereby causing the database to work very slow (Fatal: 85%, Warning: 75%).


SQL_AZURE - Database Reaching Current LOG I/O Capacity (vCore)

This alarm is invoked when a database has reached high transaction log writes percentage. This alarm is raised to prevent a situation where the database performance is too high using current activity, thereby causing the database to work very slow (Fatal: 85%, Warning: 75%).


SQL_AZURE - Elastic Pool Reaching Current Log IO Capacity (vCore)

This alarm is invoked when an Elastic Pool vCore is getting reached to its Log IO limit threshold. This alarm is raised to prevent a situation where the databases in the Elastic Pool consuming high Log IO, thereby causing IO load on the Elastic Pool and resource starvation (Fatal: 95%, Warning: 85%, Informational: 70%).


Memory

Rules related to memory utilization.

No specific memory rules are currently available for Azure SQL Database.


Database Performance

Rules related to resource breakdown, workload trends, tuning, and sessions.

Sessions

SQL_AZURE - All Active Connections Baseline Deviation

This alarm is invoked when a baseline deviation is detected in this metric in Azure SQL DB.


SQL_AZURE - Blockers Connections Baseline Deviation

This alarm is invoked when a baseline deviation is detected in this metric in Azure SQL DB.



Azure Infrastructure Rules

Agent Rules

Azure Agent Messages

This rule converts agent messages to Foglight alerts.


Azure Agent Updates

This alarm fires when the agent is unhealthy.



Service and Health Rules

Azure Global Services Status

This alarm monitors the global Azure services status.


Azure Subscription Services Health Status

This alarm monitors the Azure subscription services health status.



Storage Rules

Azure Storage Service E2E Latency

This alarm is invoked when Azure Storage Service end-to-end latency exceeds predefined thresholds (Fatal: 10000ms, Warning: 8000ms, Informational: 5000ms).


Azure Storage Service Server Latency

This alarm is invoked when Azure Storage Service server latency exceeds predefined thresholds (Fatal: 500ms, Warning: 200ms, Informational: 100ms).



Virtual Machine Rules

Azure Virtual Machine CPU Utilization

This alarm is invoked when Azure Virtual Machine CPU utilization exceeds predefined thresholds (Fatal: 90%, Warning: 80%, Informational: 70%).


Azure Virtual Machine Diagnostics Settings

This alarm checks Azure Virtual Machine diagnostics settings configuration.


Azure Virtual Machine Memory Utilization

This alarm is invoked when Azure Virtual Machine memory utilization exceeds predefined thresholds (Fatal: 90%, Warning: 80%, Informational: 70%).


Azure Virtual Machine Network Transfer Rate

This alarm is invoked when Azure Virtual Machine network transfer rate exceeds predefined thresholds (Fatal: 30 MB/s, Warning: 20 MB/s, Informational: 10 MB/s).


Azure Virtual Machine Storage IOPS

This alarm is invoked when Azure Virtual Machine storage IOPS exceeds predefined thresholds (Fatal: 3000, Warning: 2000, Informational: 1000).


Azure Virtual Machine Storage Transfer Rate

This alarm is invoked when Azure Virtual Machine storage transfer rate exceeds predefined thresholds.



Subscription and Budget Rules

Azure Region Quota Usage Utilization

This alarm is invoked when Azure region quota usage utilization exceeds predefined thresholds (Fatal: 90%, Warning: 80%).


Azure Subscription Budget Over Spending

This alarm is invoked when Azure subscription budget spending exceeds 90% of the allocated budget.