Azure SQL Database Service

Learn about the other Azure service support on our Azure docs.

Sensor (Data Collection)

Tracked Configuration

Database Details Description
Name Database name
Resource Group The resource group of the database
Location Database location
Subscription Id The subscription ID of the database
Max Size The max size of the database expressed in bytes
Status The status of the database
Zone Redundant Whether or not the database is zone redundant, which means the replicas of the database will be spread across multiple availability zones
SKU Pricing tier (SKU)

Metrics

Metric Unit Aggregation Description
DTU*
DTU Limit Count Average Total DTU utilization of the database
DTU Used Count Average DTU utilization of the database
DTU Percentage Percent Average DTU utilization percentage
CPU
CPU Percentage Percent Average CPU resources consumed by all database sessions
Connections
Successful Connections Count Total Total number of successful connections
Failed Connections Count Total Total number of failed connections
Blocked By Firewall Count Total Total number of connections blocked by the firewall
Deadlock
Deadlocks Count Total Deadlocks
Storage
Storage Bytes Maximum Total database size
Storage Percentage Percent Maximum Database size percentage
IO
Data IO Percent Average Data I/O utilization
Log IO Percent Average Log I/O utilization
Other
Workers Percent Average Concurrent workers (requests) of the database’s service tier limit by the Microsoft Azure SQL Database
Sessions Percent Average Concurrent sessions of the database’s service tier limit
In-memory OLTP Storage Percent Average In-memory OLTP Storage (XTP Storage)
vCore**
vCore Limit Percent Average Total number of available vCores
vCore Used Percent Average Used vCores

* DTU metrics are available only for DTU-based resources

** vCore metrics are available only for vCore-based resources

Health Checks

The Azure SQL Database sensor will conduct custom health checks and execute them every minute. If the checks fail for at least one minute, an issue will be raised to inform the user.

Database Health Description
State Unhealthy state is caused by the database being unavailable. A database can be unavailable if one of the following conditions is true:
  • The database has been set offline by the user
  • The database is being restored from backup
  • The database is being recovered
  • The database has been corrupted
  • The database has been set to the Emergency state by the administrator
  • The database is in the process of being created by copying another database
Size Azure SQL Database is running out of space. Warning limit is at 80% and the critical limit is at 90% of the used size
DTU The total DTU utilization for Azure SQL Database is getting closer to max DTU limit. Warning limit is at 75% and the critical limit is at 85% of the DTU utilization

Configuration

Azure SQL Database sensor can be disabled, filtered by tags and resource groups and replica databases can be filtered also. It is possible to configure Azure SQL Database sensor via agent configuration in <agentinstall_dir>/etc/instana/configuration.yaml by:

com.instana.plugin.azure.sqldb:
    # Valid values: true, false
    enabled: false # enabled (true) by default
	# Valid values: true, false
	enable_replica_monitoring: true # disabled (false) by default
    # Comma separated list of tags in key:value format
    include_tags: 
    # Comma separated list of tags in key:value format
    exclude_tags: 
    # Comma separated list of resource groups
    include_resource_groups: 
    # Comma separated list of resource groups
    exclude_resource_groups: 

Azure SQL Database sensor can be disabled. To disable monitoring of the Azure SQL Database services use the folowing configuration:

com.instana.plugin.azure.sqldb:
    enabled: false

Azure SQL Database sensor does not monitor replica databases by default. To enable monitoring of the Azure SQL replica databases use the folowing configuration:

com.instana.plugin.azure.sqldb:
    enable_replica_monitoring: true 

Multiple tags and resource groups can be defined, separated by a comma. Tags should be provided as a key-value pair separated by :. In order to make configuration easier, it is possible to define which tags and resource groups you want to include in discovery or exclude from discovery. In case of defining tag or resource group in both lists (include and exclude), exclude list has higher priority. If there is no need for services filtering, the configuration should not be defined. It’s not mandatory to define all values in order to enable filtering.

To include services by tags into discovery use folowing configuration:

com.instana.plugin.azure.sqldb:
    include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)

To exclude services by tags from discovery use folowing configuration:

com.instana.plugin.azure.sqldb:
    exclude_tags: # Comma separated list of tags in key:value format (e.g. env:dev,env:test)

To include services by resource groups into discovery use folowing configuration:

com.instana.plugin.azure.sqldb:
    include_resource_groups: # Comma separated list of resource groups (e.g. rg_prod,rg_staging)

To exclude services by resource groups from discovery use folowing configuration:

com.instana.plugin.azure.sqldb:
    exclude_resource_groups: # Comma separated list of resource groups (e.g. rg_dev,rg_test)

Discovery filtering can be configured on the global level for all Azure services. In case of defining filters for Azure API SQL Database service, global filters will be overridden. For more details about global Azure service discovery filtering visit Azure Configuration.

Note

Metrics are pulled every minute, which is the resolution Azure provides for monitoring of these services.