Azure SQL Database

Available Metrics

Possible metric types that can be tracked on a given resource.

Metric Type Data Type Description
AggregatedMetric
Object
Allows for aggregating existing metrics over a period of time. Useful for running sums or averages; also for extracting single data item from collection-based metrics
AzureAdvisorHealthMetric
AzureAdvisorHealth
AvailabilityState String
Summary String
ReasonType String
ReasonChronicity String
DetailedStatus String
OccuredTime DateTime
ReportedTime DateTime
Tracks Azure health using latest Azure Health API - more info @ https://docs.microsoft.com/en-us/rest/api/resourcehealth/availabilitystatuses/getbyresource/
AzureAdvisorRecommendationMetric
AzureAdvisorRecommendation[]
Category String
Impact String
LastUpdated Nullable`1
Risk String
Problem String
Solution String
Tracks Azure recommendations using latest Azure Advisor API - more info @ https://docs.microsoft.com/en-us/rest/api/advisor/
AzureMonitorMetric
Double
Tracks Azure metrics using latest Azure Monitor API - more info @ https://docs.microsoft.com/en-us/rest/api/monitor/
DatabaseActiveSessionCount
Double
Tracks the number of open sessions for the given database.
DatabaseSize
Double
Tracks the size of the database in megabytes.
DatabaseSqlAzureDtu
Double
Tracks overall DTU % utilization of the monitored database. Calculated as the maximum value between DatabaseSqlAzureResourceStatsCpuUtilization, DatabaseSqlAzureResourceStatsDataIOUtilization, and DatabaseSqlAzureResourceStatsLogWriteUtilization.
DatabaseSqlAzureOperations
AzureSqlDatabaseOperation[]
Operation String
State String
PercentComplete Int32
ErrorCode Int32
Error String
Severity Int32
ErrorState Int32
Start DateTime
LastModified DateTime
Tracks server-level database operation jobs performed in the last 24hrs, such as creation or deletion of databases, upgrades/downgrades in service plans. Operation jobs are filtered to specific monitored database.
DatabaseSqlAzurePricingTier
AzureSqlDatabasePricingTier
Edition String
PricingTier String
Tracks the database edition and service tier.
DatabaseSqlAzureResourceStatsCpuUtilization
Double
Tracks overall CPU % utilization of the monitored database.
DatabaseSqlAzureResourceStatsDataIOUtilization
Double
Tracks overall Data I/O % utilization of the monitored database.
DatabaseSqlAzureResourceStatsLogWriteUtilization
Double
Tracks the overall Log Write % utilization of the monitored database.
DatabaseSqlAzureResourceStatsMemoryUtilization
Double
Tracks overall Memory % utilization of the monitored database. Due to the fact that SQL Azure tends to occupy maximum amount of memory possible, optimally performing database may still track with near 100% utilized memory.
DatabaseSqlBlockingQueries
SqlBlockingQuery[]
RequestingSessionId Int32
RequestingHost String
RequestingUser String
RequestingText String
ObjectName String
ResourceType String
Mode String
BlockingSessionId Int32
BlockingHost String
BlockingUser String
BlockingText String
Tracks queries that are currently blocking each other, with specific SQL and session IDs.
DatabaseSqlBlockingQueryCount
Int32
Tracks the number of deadlocking queries.
DatabaseSqlConnections
SqlCurrentConnection[]
Host String
SessionId Int16
LoginName String
LastRequestTime DateTime
CpuTime Int32
Reads Int32
Writes Int32
Status String
Transactions Int32
Tracks currently open connections and their associated information (host, username, etc) to the monitored database.
DatabaseSqlCurrentQueries
SqlCurrentQuery[]
SessionId Int32
Status String
Host String
User String
LoginTime DateTime
SessionCpu Int32
RequestCpu Int32
SessionMemory Int32
ElapsedTime Int32
Command String
Text String
Tracks currently executing queries and their associated information (host, username, SQL, etc.)
DatabaseSqlEventLog
SqlEventLog
Category String
StartTime DateTime
EndTime DateTime
Type String
SubType String
Severity Int32
EventCount Int32
Description String
AdditionalData String
Captures latest event logs from the monitored database. This metric is skipped for SQL Azure databases version 12, due to ongoing performance issues with the DMV that contains this data.
DatabaseSqlNumeric
Double
Tracks numeric value from custom user-defined SQL statement.
DatabaseSqlQuery
Object[]
Tracks a table-based collection of data retrieved via user-defined SQL statement.
DatabaseSqlTopQueries
SqlTopQuery[]
ExecutionCount Int64
TotalWorkerTime Int64
AverageCpuTime Int64
TotalReads Int64
TotalWrites Int64
Text String
Tracks top 10 (by combined utilization) queries and their associated information (SQL, utilization, etc). This metric can help DBAs optimize ineffective queries.
DerivedMetric
Double
Allows for deriving new metrics from existing ones. Useful for combining existing metrics together or for multiplying metrics by a factor
LinkedMetric
Object
Allows for tracking of metrics from other resources. Useful when it is important to evaluate metrics from different resources side-by-side
ResourceInstanceCount
Int32
Tracks current number of compute instances
ResourceStatus
String
Tracks overall status of the resource. This is an important metric as it is used to drive Uptime reports. Possible values: Ready, Down, Unknown and in some cases Stopped
ResponseTime
Double
Measures time to connect to resource
WindowsPerformanceCounter
Double
Tracks performance counters defined as individual metrics. Any performance counter might be tracked.
WindowsPerformanceCounterMultiInstance
PerformanceCounterInstance[]
Server String
Instance String
Value Double
Tracks multi-instance performance counters. It returns an array of PerformanceCounterInstance objects for each counter instance.

Available Commands

Possible commands that can be executed on a given resource. Ultimate subscription is required.

Command Type Description
AzureSqlDbResize Resizes Azure SQL database
CustomSqlDatabaseScript Runs custom SQL script on specified database
WebRequest Runs custom WebRequest to specified URL

Default Templates

CloudMonix provided default monitoring templates.

Pre-configured Metrics

Metric Name Metric Type Description
BlockingQueries DatabaseSqlBlockingQueries Disabled by default. Tracks queries that are blocking each other (metric disabled by default because it can add load to the database)
BlockingQueryCount DatabaseSqlBlockingQueryCount Tracks blocking (possibly dead-locking) queries
ConnectionList DatabaseSqlConnections Tracks the list of open connections against the database. This metric is a multi-dimensional array
ConnectionsActive DatabaseActiveSessionCount Tracks number of open connections to the database
Cpu DatabaseSqlAzureResourceStatsCpuUtilization Last value of CPU utilization for the monitored SQL Azure database
DataIOUtilization DatabaseSqlAzureResourceStatsDataIOUtilization Last value of data read utilization (databases created before February 2015) or data IO utilization (databases created after February 2015) for the monitored SQL Azure database
DTU DatabaseSqlAzureDtu Tracks DTU (Database Throughput Unit, highest of CPU and R/W utilization).
EventLogs DatabaseSqlEventLog Disabled by default. Metric tracks event logs captured by monitored SQL Azure database. This metric is specifically ignored when monitoring SQL Azure v12 databases, due to extremely poor retrieval performance of event logs from them
LogWriteUtilization DatabaseSqlAzureResourceStatsLogWriteUtilization Last value of log writing utilization for the monitored SQL Azure database
QueriesInProgress DatabaseSqlCurrentQueries Tracks currently executing queries
ResponseTime ResponseTime Tracks resource's response time. Metric measures how long it took to open an active connection to SQL Azure database in milliseconds
Size DatabaseSize Tracks database size in MBs
Status ResourceStatus Tracks the overall readiness status of the monitored resource. Possible values are: Ready, Down, Stopped and Unknown
TopQueries DatabaseSqlTopQueries Tracks top 10 (by highest worker time) queries. Query text display is limited to 100 characters

Pre-configured Alerts

Alert Name Expression Severity Description
Blocking Queries BlockingQueryCount > 0 Warning Raises an alert when blocking queries are detected for 5 minutes sustained
Database Approaching Max Size Size > 1900 Warning Disabled by default. Fires an alert when the size of the database approaches maximum service limit. Customize this alert with proper threshold according to specific database tier, before enabling it. More information on maximum service limits here: https://azure.microsoft.com/en-us/documentation/articles/sql-database-resource-limits/
High Utilization Cpu > 80 || DataIOUtilization > 80 || LogWriteUtilization > 80 Warning Raises an alert when either CPU utilization, data reading utilization or log-writing utilization is over 80% for 5 minutes sustained
Open Sessions Approaching Max Limit ConnectionsActive > 275 Warning Disabled by default. Number of open connections (sesssions) is approaching maximum limit. Change the threshold in accordance to your database tier. More information here: https://azure.microsoft.com/en-us/documentation/articles/sql-database-resource-limits/
Resource Outage Status == "Down" Error Raises an alert when connectivity cannot be established, after specified number of retries on the Advanced tab for sustained period of time
Slow Response ResponseTime > 15000 Warning Raises an alert if establishing a connection to monitored resource takes over 15 seconds for sustained period of time