Azure SQL

Metrics, Dashboards, Alerts and more for Azure SQL Integration in Sysdig Monitor.
Azure SQL

This integration can be enabled via the Azure Cloud Metrics.

This integration has 23 metrics.

List of Alerts

AlertDescriptionFormat
[Azure SQL] High SQL Server Process MemoryThe SQL Server Process Memory usage is reaching the limit.Prometheus
[Azure SQL] High App MemoryThe App Memory usage is reaching the limit. Applies to serverless databases.Prometheus
[Azure SQL] High Amount of SessionsThe number of sessions is reaching the limit.Prometheus
[Azure SQL] High Amount of WorkersThe number of workers is reaching the limit.Prometheus
[Azure SQL] Disk Full in 48hThe disk will be full in 48h. Not applicable to data warehouses or hyperscale databases.Prometheus
[Azure SQL] Disk Full in 12hThe disk will be full in 12h. Not applicable to data warehouses or hyperscale databases.Prometheus
[Azure SQL] High Connection Error RateThe Connection Error rate is high.Prometheus
[Azure SQL] Database DeadlocksDatabase Deadlocks detected. Not applicable to data warehouses.Prometheus
[Azure SQL] Blocked by FirewallBlocked by firewall detectedPrometheus

List of Dashboards

Azure SQL

The dashboard provides information on the Azure SQL integration. Azure SQL

List of Metrics

Metric name
azure_sql_servers_databases_allocated_data_storage_avg
azure_sql_servers_databases_app_cpu_billed_sum
azure_sql_servers_databases_app_cpu_percent_avg
azure_sql_servers_databases_app_memory_percent_avg
azure_sql_servers_databases_blocked_by_firewall_count
azure_sql_servers_databases_connection_failed_user_error_count
azure_sql_servers_databases_connection_successful_count
azure_sql_servers_databases_cpu_limit_avg
azure_sql_servers_databases_cpu_percent_avg
azure_sql_servers_databases_cpu_used_avg
azure_sql_servers_databases_deadlock_count
azure_sql_servers_databases_log_write_percent_avg
azure_sql_servers_databases_physical_data_read_percent_avg
azure_sql_servers_databases_sessions_count_avg
azure_sql_servers_databases_sessions_percent_avg
azure_sql_servers_databases_sqlserver_process_core_percent_avg
azure_sql_servers_databases_sqlserver_process_memory_percent_avg
azure_sql_servers_databases_storage_avg
azure_sql_servers_databases_storage_percent_avg
azure_sql_servers_databases_tempdb_data_size_avg
azure_sql_servers_databases_tempdb_log_size_avg
azure_sql_servers_databases_workers_percent_avg
azure_sql_servers_databases_xtp_storage_percent_avg

Monitoring and Troubleshooting Azure SQL

This document describes important metrics and queries that you can use to monitor and troubleshoot Azure SQL.

Database CPU, Memory and Storage

CPU

Use the following query to get the percentage of CPU used by the database:

azure_sql_servers_databases_cpu_percent_avg

For vCore-based databases, there are also metrics for CPU cores used and limit:

azure_sql_servers_databases_cpu_used_avg

azure_sql_servers_databases_cpu_limit_avg

Storage

Use the following query to get the allocated data storage. This query is not applicable to data warehouses:

azure_sql_servers_databases_cpu_percent_avg

Use the following query to get the data space used (not applicable to data warehouses):

azure_sql_servers_databases_storage_avg

Use the following query to get the percentage of data space used. This query is not applicable to data warehouses or hyperscale databases:

azure_sql_servers_databases_storage_percent_avg

Serverless Databases

Use the following query to get the app CPU billed:

azure_sql_servers_databases_app_cpu_billed_sum

Use the following query to get the app CPU percentage:

azure_sql_servers_databases_app_cpu_percent_avg

Use the following query to get the app memory percentage:

azure_sql_servers_databases_app_memory_percent_avg

IO, tempdb and In-Memory OLTP

IO

Use the following query to get the percentage of write IO:

azure_sql_servers_databases_log_write_percent_avg

Use the following query to get the percentage of read IO:

azure_sql_servers_databases_physical_data_read_percent_avg

Tempdb

Use the following query to get the space used in tempdb data files in kilobytes. This query is not applicable to data warehouses:

azure_sql_servers_databases_tempdb_data_size_avg

Use the following query to get the space used in tempdb transaction log file in kilobytes. This query is not applicable to data warehouses:

azure_sql_servers_databases_tempdb_log_size_avg

In-Memory OLTP

Use the following query to get the In-Memory OLTP storage percent (not applicable to data warehouses):

azure_sql_servers_databases_xtp_storage_percent_avg

SQL Server

Resources

Use the following query to get the CPU usage as a percentage of the SQL DB process. This query is not applicable to data warehouses:

azure_sql_servers_databases_sqlserver_process_core_percent_avg

Use the following query to get the Memory usage as a percentage of the SQL DB process. This query is not applicable to data warehouses:

azure_sql_servers_databases_sqlserver_process_memory_percent_avg

Workers

Use the following query to get the workers percentage. This query is not applicable to data warehouses:

azure_sql_servers_databases_workers_percent_avg

Network

Sessions

Use the following query to get the sessions percentage:

azure_sql_servers_databases_sessions_percent_avg

Use the following query to get the number of active sessions. This query is not applicable to Synapse DW analytics:

azure_sql_servers_databases_sessions_count_avg

Connections

Use the following query to get the successful connections:

azure_sql_servers_databases_connection_successful_count

Use the following query to get the failed connections:

azure_sql_servers_databases_connection_failed_user_error_count

To calculate the connection error rate percentage, use this expression:

azure_sql_servers_databases_connection_failed_user_error_count
/ on (cloud_provider_resource_name,resource_group,cloud_provider_region_name,cloud_provider_account_id)
(
azure_sql_servers_databases_connection_failed_user_error_count
+ on (cloud_provider_resource_name,resource_group,cloud_provider_region_name,cloud_provider_account_id)
azure_sql_servers_databases_connection_successful_count
)
* 100

Deadlocks and Blocked by Firewall

Use the following query to get the database deadlocks:

azure_sql_servers_databases_deadlock_count

Use the following query to get the blocked by firewall count:

azure_sql_servers_databases_blocked_by_firewall_count