Applications Systems
Azure SQL DTU counters are not polled in Azure Cloud Monitoring in SAM
When monitoring Azure SQL Databases through SolarWinds Azure Cloud Monitoring, you may notice that DTU (Database Throughput Unit) counters are not exposed as dedicated metrics.
First published date
Last published date
Overview
Cloud Monitoring shows CPU, storage, and memory metrics for Azure SQL DB, but it does not currently provide DTU Limit / DTU Used / DTU % counters as separate time series. To monitor DTU usage, you need to use a SAM application template instead of relying solely on Azure Cloud Monitoring views.
Product section
Cause
In the current implementation:
- The Azure Cloud Monitoring integration for Azure SQL DB exposes CPU, storage, memory, and related utilization metrics, but does not expose DTU usage as a distinct metric, nor does it separate DTU % from CPU %. This is a product limitation / feature gap, not a misconfiguration in the customer environment.
- DTU metrics are available through the SAM “Microsoft Azure SQL Server Database” template, which includes:
Resolution
-
Understand the current limitation
- Azure Cloud Monitoring dashboards for Azure SQL Database do not show DTU-specific counters. They focus on CPU, IO, and storage metrics and cannot be adjusted to add “DTU Limit / DTU Used / DTU %” as native metrics at this time.
- If you require DTU-based alerting or reporting, you must monitor Azure SQL DB using a SAM application template instead of relying only on Cloud Monitoring views.
-
Use the built-in SAM template “Microsoft Azure SQL Server Database” for DTU metrics
The supported way to monitor DTU usage is to deploy the Microsoft Azure SQL Server Database SAM template, which is designed for Azure SQL DB and includes DTU-related counters.
2.1. Prepare Azure prerequisites
Ensure the following are in place before assigning the template:
- PowerShell modules installed on the polling host:
- Az, Az.Accounts, Az.Resources
- Azure service principal (App registration) with, at minimum, read-only access to the monitored Azure SQL Database:
- Subscription ID
- Tenant ID
- Application (client) ID
- Secret key (client secret)
- Azure SQL Database name to be monitored.
- PowerShell 5.1 or later on the polling host.
- The Application ID used to connect must be registered in Azure Active Directory and assigned an appropriate read-only contributor role for the database you are monitoring.
2.2. Configure credentials in SAM
- In the SolarWinds Platform, create or select a credential that:
2.3. Assign the Microsoft Azure SQL Server Database template
- Open Settings → All Settings → SAM Settings → Manage Templates.
- Locate Microsoft Azure SQL Server Database and either:
- Assign it to an existing node representing an Azure SQL DB endpoint, or
- Assign it to an appropriate Windows node that will act as the script execution host.
- When prompted, provide the script arguments specified in the template:
2.4. Verify DTU counters and configure alerting
After the template has polled successfully:
- Confirm that the following components are collecting data (names from the template):
- Database throughput units (DTU) Limit
- Database throughput units (DTU) used
- Database throughput unit (DTU) percentage
- Create or adjust SAM alerts using these component metrics, for example:
- Alert when DTU percentage exceeds your agreed threshold (for example, sustained > 80%) for a defined period.
- Alert when DTU Limit is near capacity in combination with high CPU/IO utilization.
This gives you dedicated DTU visibility and alerting, independent of Azure Cloud Monitoring’s current metric set.
- PowerShell modules installed on the polling host:
-
Optionally use the Azure SQL DTU Template from THWACK
If you want a ready-made community solution that focuses specifically on DTU inputs, you can import the Azure SQL DTU Template from THWACK.
- The Azure SQL DTU Template is a SAM application template designed to monitor all metrics used in calculating Azure SQL DTU, based on Microsoft’s
sys.dm_db_resource_statsDMV and related guidance. - This is a community-contributed template and may include custom scripting; follow the import and configuration instructions on the THWACK article page and validate it in a non-production environment before broad deployment.
Use this option only if the built-in Microsoft Azure SQL Server Database template does not meet your use case or you require the specific DTU calculation approach described in the THWACK article.
- The Azure SQL DTU Template is a SAM application template designed to monitor all metrics used in calculating Azure SQL DTU, based on Microsoft’s
Additional Notes
- Azure Cloud Monitoring does not currently provide DTU as a first-class metric for Azure SQL Database; DTU monitoring must currently be done via SAM templates.
- DTUs are a blended metric combining CPU, memory, and IO; Microsoft’s own guidance notes that CPU% alone is not a reliable proxy for DTU%, which is why a dedicated DTU data source (such as the SAM templates described above) is recommended for capacity planning.
- Where possible, align your SolarWinds DTU thresholds with the same limits used in your Azure SQL Database tier (for example, tier-specific DTU caps and Microsoft recommendations).