Skip to content

Azure Integration - SQL Database

Mackerel supports obtaining and monitoring SQL Database metrics in Azure Integration. When integrating with Azure Integration, billable targets are determined using the conversion 1 Instance = 1 Micro Host.

Please refer to the following page for Azure Integration configuration methods and a list of supported Azure services.
Azure Integration

Obtaining metrics

The metrics available with Azure Integration SQL Database support vary by pricing tier. The metrics that can be obtained at each tier are as follows. For Metric explanations, refer to the Azure help page.

DTU based model

Basic, Standard, Premium

The maximum number of metrics obtainable is 21.

Graph nameMetricMetric name in MackerelUnitAggregation Type
Data space allocatedallocated_data_storageazure.sql_database.allocated_data_storage.allocated_databytesAverage
Connectionsblocked_by_firewall
connection_failed
connection_successful
azure.sql_database.connection.blocked_by_firewall
azure.sql_database.connection.failed
azure.sql_database.connection.successful
integerTotal
CPUcpu_percentazure.sql_database.cpu.percentpercentageAverage
Deadlocksdeadlockazure.sql_database.deadlock.countintegerTotal
DTU Consumptiondtu_consumption_percentazure.sql_database.dtu_consumption.percentpercentageAverage
DTUdtu_limit
dtu_used
azure.sql_database.dtu.limit
azure.sql_database.dtu.used
floatAverage
Log Writelog_write_percentazure.sql_database.log_write.percentpercentageAverage
Data Readphysical_data_read_percentazure.sql_database.physical_data_read.percentpercentageAverage
Sessionssessions_percentazure.sql_database.sessions.percentpercentageAverage
SQL Server process core percentsqlserver_process_core_percentazure.sql_database.sqlserver_process_core_percent.percentpercentageMaximum
SQL Server process memory percentsqlserver_process_memory_percentazure.sql_database.sqlserver_process_memory_percent.percentpercentageMaximum
Data space usedstorageazure.sql_database.storage.usedbytesMaximum
Data space used percentstorage_percentazure.sql_database.storage_percent.percentpercentageMaximum
Tempdb Data File Sizetempdb_data_sizeazure.sql_database.tempdb_data_size.data_sizebytesMaximum
Tempdb Log File Sizetempdb_log_sizeazure.sql_database.tempdb_log_size.log_sizebytesMaximum
Tempdb Percent Log Usedtempdb_log_used_percentazure.sql_database.tempdb_log_used_percent.percentpercentageMaximum
Workersworkers_percentazure.sql_database.workers.percentpercentageAverage
In-Memory OLTP Storagextp_storage_percentazure.sql_database.xtp_storage.percentpercentageAverage

vCore based model

General Purpose

The maximum number of metrics obtainable is 20.

Graph nameMetricMetric name in MackerelUnitAggregation Type
Data space allocatedallocated_data_storageazure.sql_database.allocated_data_storage.allocated_databytesAverage
Connectionsblocked_by_firewall
connection_failed
connection_successful
azure.sql_database.connection.blocked_by_firewall
azure.sql_database.connection.failed
azure.sql_database.connection.successful
integerTotal
CPU limit/usedcpu_limit
cpu_used
azure.sql_database.cpu_limit_used.limit
azure.sql_database.cpu_limit_used.used
floatAverage
CPUcpu_percentazure.sql_database.cpu.percentpercentageAverage
Deadlocksdeadlockazure.sql_database.deadlock.countintegerTotal
Log Writelog_write_percentazure.sql_database.log_write.percentpercentageAverage
Data Readphysical_data_read_percentazure.sql_database.physical_data_read.percentpercentageAverage
Sessionssessions_percentazure.sql_database.sessions.percentpercentageAverage
SQL Server process core percentsqlserver_process_core_percentazure.sql_database.sqlserver_process_core_percent.percentpercentageMaximum
SQL Server process memory percentsqlserver_process_memory_percentazure.sql_database.sqlserver_process_memory_percent.percentpercentageMaximum
Data space usedstorageazure.sql_database.storage.usedbytesMaximum
Data space used percentstorage_percentazure.sql_database.storage_percent.percentpercentageMaximum
Tempdb Data File Sizetempdb_data_sizeazure.sql_database.tempdb_data_size.data_sizebytesMaximum
Tempdb Log File Sizetempdb_log_sizeazure.sql_database.tempdb_log_size.log_sizebytesMaximum
Tempdb Percent Log Usedtempdb_log_used_percentazure.sql_database.tempdb_log_used_percent.percentpercentageMaximum
Workersworkers_percentazure.sql_database.workers.percentpercentageAverage
In-Memory OLTP Storagextp_storage_percentazure.sql_database.xtp_storage.percentpercentageAverage

In addition to the metrics above, the following metrics are retrieved for serverless databases that are supported for General Purpose only.

Graph nameMetricMetric name in MackerelUnitAggregation Type
App CPU billedapp_cpu_billedazure.sql_database.app_cpu_billed.billedintegerTotal
App CPU percentageapp_cpu_percentazure.sql_database.app_cpu_percent.percentpercentageAverage
App memory used percentageapp_memory_percentazure.sql_database.app_memory_percent.percentpercentageAverage

Business Critical

The maximum number of metrics obtainable is 20.

Graph nameMetricMetric name in MackerelUnitAggregation Type
Data space allocatedallocated_data_storageazure.sql_database.allocated_data_storage.allocated_databytesAverage
Connectionsblocked_by_firewall
connection_failed
connection_successful
azure.sql_database.connection.blocked_by_firewall
azure.sql_database.connection.failed
azure.sql_database.connection.successful
integerTotal
CPU limit/usedcpu_limit
cpu_used
azure.sql_database.cpu_limit_used.limit
azure.sql_database.cpu_limit_used.used
floatAverage
CPUcpu_percentazure.sql_database.cpu.percentpercentageAverage
Deadlocksdeadlockazure.sql_database.deadlock.countintegerTotal
Log Writelog_write_percentazure.sql_database.log_write.percentpercentageAverage
Data Readphysical_data_read_percentazure.sql_database.physical_data_read.percentpercentageAverage
Sessionssessions_percentazure.sql_database.sessions.percentpercentageAverage
SQL Server process core percentsqlserver_process_core_percentazure.sql_database.sqlserver_process_core_percent.percentpercentageMaximum
SQL Server process memory percentsqlserver_process_memory_percentazure.sql_database.sqlserver_process_memory_percent.percentpercentageMaximum
Data space usedstorageazure.sql_database.storage.usedbytesMaximum
Data space used percentstorage_percentazure.sql_database.storage_percent.percentpercentageMaximum
Tempdb Data File Sizetempdb_data_sizeazure.sql_database.tempdb_data_size.data_sizebytesMaximum
Tempdb Log File Sizetempdb_log_sizeazure.sql_database.tempdb_log_size.log_sizebytesMaximum
Tempdb Percent Log Usedtempdb_log_used_percentazure.sql_database.tempdb_log_used_percent.percentpercentageMaximum
Workersworkers_percentazure.sql_database.workers.percentpercentageAverage
In-Memory OLTP Storagextp_storage_percentazure.sql_database.xtp_storage.percentpercentageAverage

Hyperscale

The maximum number of metrics obtainable is 18.

Graph nameMetricMetric name in MackerelUnitAggregation Type
Data space allocatedallocated_data_storageazure.sql_database.allocated_data_storage.allocated_databytesAverage
Connectionsblocked_by_firewall
connection_failed
connection_successful
azure.sql_database.connection.blocked_by_firewall
azure.sql_database.connection.failed
azure.sql_database.connection.successful
integerTotal
CPU limit/usedcpu_limit
cpu_used
azure.sql_database.cpu_limit_used.limit
azure.sql_database.cpu_limit_used.used
floatAverage
CPUcpu_percentazure.sql_database.cpu.percentpercentageAverage
Deadlocksdeadlockazure.sql_database.deadlock.countintegerTotal
Log Writelog_write_percentazure.sql_database.log_write.percentpercentageAverage
Data Readphysical_data_read_percentazure.sql_database.physical_data_read.percentpercentageAverage
Sessionssessions_percentazure.sql_database.sessions.percentpercentageAverage
SQL Server process core percentsqlserver_process_core_percentazure.sql_database.sqlserver_process_core_percent.percentpercentageMaximum
SQL Server process memory percentsqlserver_process_memory_percentazure.sql_database.sqlserver_process_memory_percent.percentpercentageMaximum
Tempdb Data File Sizetempdb_data_sizeazure.sql_database.tempdb_data_size.data_sizebytesMaximum
Tempdb Log File Sizetempdb_log_sizeazure.sql_database.tempdb_log_size.log_sizebytesMaximum
Tempdb Percent Log Usedtempdb_log_used_percentazure.sql_database.tempdb_log_used_percent.percentpercentageMaximum
Workersworkers_percentazure.sql_database.workers.percentpercentageAverage
In-Memory OLTP Storagextp_storage_percentazure.sql_database.xtp_storage.percentpercentageAverage

Notes

Databases within Azure SQL Database supported elastic pools will not obtain the following metrics.

  • sqlserver_process_core_percent
  • sqlserver_process_memory_percent
  • tempdb_data_size
  • tempdb_log_size
  • tempdb_log_used_percent

These metrics are also unobtainable if using a DTU-based SQL Database with Gen 4 hardware and less than 200 DTU.
This is due to Azure platform restrictions.

Use the following method to check your environment.

  • DTU
    • DTU can be checked in the Azure portal's target resource overview.
  • Hardware generation
    • The generation can be checked by running the following query in the target's SQL Database.
SELECT TOP (1) rg.slo_name,
  CASE 
    WHEN rg.slo_name LIKE '%SQLG4%' THEN 'Gen4'
    WHEN rg.slo_name LIKE '%SQLGZ%' THEN 'Gen4'
    WHEN rg.slo_name LIKE '%SQLG5%' THEN 'Gen5'
    WHEN rg.slo_name LIKE '%SQLG6%' THEN 'Gen5'
 END AS dtu_hardware_gen
FROM sys.dm_user_db_resource_governance AS rg

Furthermore, Gen 4 hardware is gradually being replaced with Gen 5 through Azure maintenance.
SQL Databases that do not currently display the corresponding metrics may display them in the future.