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 name | Metric | Metric name in Mackerel | Unit | Aggregation Type |
---|---|---|---|---|
Data space allocated | allocated_data_storage | azure.sql_database.allocated_data_storage.allocated_data | bytes | Average |
Connections | blocked_by_firewall connection_failed connection_successful |
azure.sql_database.connection.blocked_by_firewall azure.sql_database.connection.failed azure.sql_database.connection.successful |
integer | Total |
CPU | cpu_percent | azure.sql_database.cpu.percent | percentage | Average |
Deadlocks | deadlock | azure.sql_database.deadlock.count | integer | Total |
DTU Consumption | dtu_consumption_percent | azure.sql_database.dtu_consumption.percent | percentage | Average |
DTU | dtu_limit dtu_used |
azure.sql_database.dtu.limit azure.sql_database.dtu.used |
float | Average |
Log Write | log_write_percent | azure.sql_database.log_write.percent | percentage | Average |
Data Read | physical_data_read_percent | azure.sql_database.physical_data_read.percent | percentage | Average |
Sessions | sessions_percent | azure.sql_database.sessions.percent | percentage | Average |
SQL Server process core percent | sqlserver_process_core_percent | azure.sql_database.sqlserver_process_core_percent.percent | percentage | Maximum |
SQL Server process memory percent | sqlserver_process_memory_percent | azure.sql_database.sqlserver_process_memory_percent.percent | percentage | Maximum |
Data space used | storage | azure.sql_database.storage.used | bytes | Maximum |
Data space used percent | storage_percent | azure.sql_database.storage_percent.percent | percentage | Maximum |
Tempdb Data File Size | tempdb_data_size | azure.sql_database.tempdb_data_size.data_size | bytes | Maximum |
Tempdb Log File Size | tempdb_log_size | azure.sql_database.tempdb_log_size.log_size | bytes | Maximum |
Tempdb Percent Log Used | tempdb_log_used_percent | azure.sql_database.tempdb_log_used_percent.percent | percentage | Maximum |
Workers | workers_percent | azure.sql_database.workers.percent | percentage | Average |
In-Memory OLTP Storage | xtp_storage_percent | azure.sql_database.xtp_storage.percent | percentage | Average |
vCore based model
General Purpose
The maximum number of metrics obtainable is 20.
Graph name | Metric | Metric name in Mackerel | Unit | Aggregation Type |
---|---|---|---|---|
Data space allocated | allocated_data_storage | azure.sql_database.allocated_data_storage.allocated_data | bytes | Average |
Connections | blocked_by_firewall connection_failed connection_successful |
azure.sql_database.connection.blocked_by_firewall azure.sql_database.connection.failed azure.sql_database.connection.successful |
integer | Total |
CPU limit/used | cpu_limit cpu_used |
azure.sql_database.cpu_limit_used.limit azure.sql_database.cpu_limit_used.used |
float | Average |
CPU | cpu_percent | azure.sql_database.cpu.percent | percentage | Average |
Deadlocks | deadlock | azure.sql_database.deadlock.count | integer | Total |
Log Write | log_write_percent | azure.sql_database.log_write.percent | percentage | Average |
Data Read | physical_data_read_percent | azure.sql_database.physical_data_read.percent | percentage | Average |
Sessions | sessions_percent | azure.sql_database.sessions.percent | percentage | Average |
SQL Server process core percent | sqlserver_process_core_percent | azure.sql_database.sqlserver_process_core_percent.percent | percentage | Maximum |
SQL Server process memory percent | sqlserver_process_memory_percent | azure.sql_database.sqlserver_process_memory_percent.percent | percentage | Maximum |
Data space used | storage | azure.sql_database.storage.used | bytes | Maximum |
Data space used percent | storage_percent | azure.sql_database.storage_percent.percent | percentage | Maximum |
Tempdb Data File Size | tempdb_data_size | azure.sql_database.tempdb_data_size.data_size | bytes | Maximum |
Tempdb Log File Size | tempdb_log_size | azure.sql_database.tempdb_log_size.log_size | bytes | Maximum |
Tempdb Percent Log Used | tempdb_log_used_percent | azure.sql_database.tempdb_log_used_percent.percent | percentage | Maximum |
Workers | workers_percent | azure.sql_database.workers.percent | percentage | Average |
In-Memory OLTP Storage | xtp_storage_percent | azure.sql_database.xtp_storage.percent | percentage | Average |
In addition to the metrics above, the following metrics are retrieved for serverless databases that are supported for General Purpose only.
Graph name | Metric | Metric name in Mackerel | Unit | Aggregation Type |
---|---|---|---|---|
App CPU billed | app_cpu_billed | azure.sql_database.app_cpu_billed.billed | integer | Total |
App CPU percentage | app_cpu_percent | azure.sql_database.app_cpu_percent.percent | percentage | Average |
App memory used percentage | app_memory_percent | azure.sql_database.app_memory_percent.percent | percentage | Average |
Business Critical
The maximum number of metrics obtainable is 20.
Graph name | Metric | Metric name in Mackerel | Unit | Aggregation Type |
---|---|---|---|---|
Data space allocated | allocated_data_storage | azure.sql_database.allocated_data_storage.allocated_data | bytes | Average |
Connections | blocked_by_firewall connection_failed connection_successful |
azure.sql_database.connection.blocked_by_firewall azure.sql_database.connection.failed azure.sql_database.connection.successful |
integer | Total |
CPU limit/used | cpu_limit cpu_used |
azure.sql_database.cpu_limit_used.limit azure.sql_database.cpu_limit_used.used |
float | Average |
CPU | cpu_percent | azure.sql_database.cpu.percent | percentage | Average |
Deadlocks | deadlock | azure.sql_database.deadlock.count | integer | Total |
Log Write | log_write_percent | azure.sql_database.log_write.percent | percentage | Average |
Data Read | physical_data_read_percent | azure.sql_database.physical_data_read.percent | percentage | Average |
Sessions | sessions_percent | azure.sql_database.sessions.percent | percentage | Average |
SQL Server process core percent | sqlserver_process_core_percent | azure.sql_database.sqlserver_process_core_percent.percent | percentage | Maximum |
SQL Server process memory percent | sqlserver_process_memory_percent | azure.sql_database.sqlserver_process_memory_percent.percent | percentage | Maximum |
Data space used | storage | azure.sql_database.storage.used | bytes | Maximum |
Data space used percent | storage_percent | azure.sql_database.storage_percent.percent | percentage | Maximum |
Tempdb Data File Size | tempdb_data_size | azure.sql_database.tempdb_data_size.data_size | bytes | Maximum |
Tempdb Log File Size | tempdb_log_size | azure.sql_database.tempdb_log_size.log_size | bytes | Maximum |
Tempdb Percent Log Used | tempdb_log_used_percent | azure.sql_database.tempdb_log_used_percent.percent | percentage | Maximum |
Workers | workers_percent | azure.sql_database.workers.percent | percentage | Average |
In-Memory OLTP Storage | xtp_storage_percent | azure.sql_database.xtp_storage.percent | percentage | Average |
Hyperscale
The maximum number of metrics obtainable is 18.
Graph name | Metric | Metric name in Mackerel | Unit | Aggregation Type |
---|---|---|---|---|
Data space allocated | allocated_data_storage | azure.sql_database.allocated_data_storage.allocated_data | bytes | Average |
Connections | blocked_by_firewall connection_failed connection_successful |
azure.sql_database.connection.blocked_by_firewall azure.sql_database.connection.failed azure.sql_database.connection.successful |
integer | Total |
CPU limit/used | cpu_limit cpu_used |
azure.sql_database.cpu_limit_used.limit azure.sql_database.cpu_limit_used.used |
float | Average |
CPU | cpu_percent | azure.sql_database.cpu.percent | percentage | Average |
Deadlocks | deadlock | azure.sql_database.deadlock.count | integer | Total |
Log Write | log_write_percent | azure.sql_database.log_write.percent | percentage | Average |
Data Read | physical_data_read_percent | azure.sql_database.physical_data_read.percent | percentage | Average |
Sessions | sessions_percent | azure.sql_database.sessions.percent | percentage | Average |
SQL Server process core percent | sqlserver_process_core_percent | azure.sql_database.sqlserver_process_core_percent.percent | percentage | Maximum |
SQL Server process memory percent | sqlserver_process_memory_percent | azure.sql_database.sqlserver_process_memory_percent.percent | percentage | Maximum |
Tempdb Data File Size | tempdb_data_size | azure.sql_database.tempdb_data_size.data_size | bytes | Maximum |
Tempdb Log File Size | tempdb_log_size | azure.sql_database.tempdb_log_size.log_size | bytes | Maximum |
Tempdb Percent Log Used | tempdb_log_used_percent | azure.sql_database.tempdb_log_used_percent.percent | percentage | Maximum |
Workers | workers_percent | azure.sql_database.workers.percent | percentage | Average |
In-Memory OLTP Storage | xtp_storage_percent | azure.sql_database.xtp_storage.percent | percentage | Average |
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.