Docs » Integrations Guide » Monitor Microsoft Azure

Monitor Microsoft Azure

You can easily monitor Microsoft Azure in SignalFx. (For instructions on setting up this integration, see Connect to Microsoft Azure.) SignalFx provides a robust integration with Azure, has an Azure mode for the Infrastructure Navigator, and includes many built-in-dashboards to help you get started monitoring Microsoft Azure services.

You can also monitor Azure and the subscriptions and services running on them by using the SignalFx Smart Agent. The SignalFx collectd agent offers a much higher degree of customization than is possible with Azure, and may be preferable for instances where you want to see metrics at a sub-one minute resolution, or where fine-grained control over the filtering of what metrics are sent matters.

Irrespective of the mechanism by which you collect and send your metrics, you can also take advantage of SignalFx’s importing of Azure Metadata, which applies not only to the relevant Azure Services, but can also be used with metrics collected via the SignalFx collectd agent. The metadata allows you to slice and dice by custom tags, region, host names, and other properties or dimensions.

Monitor Azure metrics

Once you have completed the steps in Connect to Microsoft Azure, metrics from Azure Monitor will be synced into SignalFx. Specifically the metrics under Azure metrics will be synced.

Uniquely identifying Azure resources

All of the metrics that our Azure integration sends contain a dimension called azure_resource_id. The value of this dimension is derived from Azure’s resource_id for the resource. azure_resource_id would the the following form,

<subscription_id>/<resource_group_name>/<resource_provider_namespace>/<resource_name>

Also, if the above derived string happens to be longer than 256 bytes, it is truncated as the maximum permissible length of dimension values is 256 bytes.

If you install collectd on an Azure Compute Virtual Machine instance using the standard install script, this dimension will automatically be added.

Dimensions

The metric time series (MTS) associated with Azure metrics have the following generic dimensions. These dimensions are common to all services.

Dimension name Description
azure_resource_id unique identifier for the Azure object
resource_group_id ID of the resource group the Azure object belongs to
subscription_id ID of the subscription the resource belongs to
resource_type type of the Azure object
aggregation_type the Azure aggregation type of the metric
primary_aggregation_type indicates whether or not the aggregation type is the primary type
unit unit of the metric value

Some Azure services include dimensions that SignalFx adds to MTS. For example, the metrics from Azure Storage provider would include the dimensions apiname and geotype. resource_group_id is derived from the Azure resource group id and takes the following form: <subscription_id>/<resource_group_name>.

Resource Metadata

Our Azure integration also queries the Azure API for metadata about the resources it is monitoring, so you can filter and group metrics by this metadata in charts and in the Infrastructure Navigator.

  • Metadata that is common to all services within a subscription (subscription-level metadata) are put on properties of subscription_id dimension.
  • Metadata that is common to all services within a resource group (resource-group-level metadata) are put on properties of resource_group_id dimension.
  • Metadata that are service-specific (service-level metadata) are put on properties of the azure_resource_id dimension.
  • Tags on all resources (Resource Tags) are put on properties of the azure_resource_id dimension.

Subscription-level metadata

Here is the metadata that is currently synced at a subscription level:

Azure name Custom property Description
displayName azure_subscription_display_name the display name of the subscription (e.g. Pay-As-You-Go)
state azure_subscription_state state of the subscription (e.g. Enabled)

Resource-group-level metadata

The following table lists the metadata that is currently synced at a resource group level:

Azure name Custom property Description
name azure_resource_group_name name of the resource group
provisioningState azure_resource_group_provisioning_state provisioning state of the resource group (e.g. Succeeded)
region azure_resource_group_region region to which the resource group belongs (e.g. eastus)
Tags * azure_resource_group_tag<name-of-tag> (if resource group has user-defined tags) all resource group wide tags

* This property is a list of key value pairs in Azure. For example, if Azure has [key1:label01, key2:label02] as the labels property, we will have two properties: azure_resource_group_tag_key1 and azure_resource_group_tag_key2.)

Service-level metadata

The following table lists the metadata that is currently synced at a service level for the services listed below.

Virtual Machines

For Virtual Machines, SignalFx gets a subset of metadata about the instance, as well as custom metadata specified by the user on an instance level.

Azure name Custom property Description
computerName azure_computer_name name of the virtual machine instance
imageReference.offer azure_image_reference_offer offer of the image reference (e.g. UbuntuServer)
imageReference.publisher azure_image_reference_publisher publisher of the image reference (e.g. Canonical)
imageReference.sku azure_image_reference_sku SKU of the image reference (e.g. 16.04-LTS)
imageReference.version azure_image_reference_version version of the image reference (e.g. latest)
osDiskCachingType azure_os_disk_caching_type OS Disk caching type of the instance (e.g. ReadWrite)
osType azure_os_type type of OS on the virtual machine (e.g. “LINUX” or “WINDOWS”)
osDiskSize azure_os_disk_size disk size in GB
powerState azure_power_state power state of the virtual machine (e.g. PowerState/running)
provisioningState azure_provisioning_state provisioning state of the virtual machine (e.g. Succeeded)
size azure_size information about the size of the virtual machine (e.g. Standard_D2s_v3)
vmId azure_vm_id ID given to the virtual machine instance by Azure

Batch Accounts

For Batch Accounts, we currently sync the following properties.

Azure name Custom property Description
activeJobAndJobScheduleQuota azure_active_job_and_job_schedule_quota active job and job schedule quota for this batch account
coreQuota azure_core_quota core quota for the batch account
poolQuota azure_pool_quota pool quota for the batch account
provisioningState azure_provisioning_state provisioningState of the batch account (e.g. Succeeded)

Storage Account

For Storage Accounts, we currently sync the following properties.

Azure name Custom property Description
creationTime azure_creation_time time at which the account was created (e.g. Thu Jan 19 18:16:25 UTC 2018)
kind azure_kind kind of storage account (e.g. Storage or BLOB)
sku azure_sku SKU of the storage acount (e.g. Standard_LRS)

Redis Cache

For Redis caches, we currently sync the following properties.

Azure name Custom property Description
hostName azure_host_name host name of the Redis cache
isPremium azure_is_premium indicates whether or not the service is premium
port azure_port port value for Redis cache (e.g. 6379)
sslPort azure_ssl_port sslPort value for Redis cache (e.g. 6380)
nonSslPort azure_non_ssl_port is true if nonSslPort is enabled
provisioningState azure_provisioning_state provisioning state of the Redis cache (e.g. Succeeded)
redisVersion azure_redis_version version of Redis
shardCount azure_shard_count number of shards
sku azure_sku SKU of the Redis cache (e.g. Standard_C1)

Virtual Machine Scale Sets

For Virtual Machine Scale Sets, we currently sync the following properties.

Azure name Custom property Description
computerNamePrefix azure_computer_name_prefix computer name prefix of the instances in the scale set
imageReference.offer azure_image_reference_offer offer of the image reference (e.g. UbuntuServer)
imageReference.publisher azure_image_reference_publisher publisher of the image reference (e.g. Canonical)
imageReference.sku azure_image_reference_sku SKU of the image reference (e.g. 16.04-LTS)
imageReference.version azure_image_reference_version version of the image reference (e.g. latest)
capacity azure_capacity number of instances in the scale set
osDiskCachingType azure_os_disk_caching_type OS Disk caching type of the instance (e.g. ReadWrite)
primaryNetworkId azure_primary_network_id ID of the primary network of the scale set
overProvisionEnabled azure_over_provision_enabled indicates whether or not over provisioning is enabled
upgradeModel azure_upgrade_model upgrade model of the scale set (e.g. Manual)

Virtual Machines in Scale Sets

For Virtual Machines in Scale Sets, we currently sync the following properties.

Azure name Custom property Description
imageReference.offer azure_image_reference_offer offer of the image reference (e.g. UbuntuServer)
imageReference.publisher azure_image_reference_publisher publisher of the image reference (e.g. Canonical)
imageReference.sku azure_image_reference_sku SKU of the image reference (e.g. 16.04-LTS)
imageReference.version azure_image_reference_version version of the image reference (e.g. latest)
instanceId azure_instance_id instance id of the VM in the Scaleset
osDiskCachingType azure_os_disk_caching_type OS Disk caching type of the instance (e.g. ReadWrite)
osDiskName azure_os_disk_name OS Disk name of the instance
osDiskSize azure_os_disk_size OS Disk size of the instance
osType azure_os_type OS Type (e.g. Linux)
powerState azure_power_state Power state of the instance (e.g. PowerState/running)
size azure_size Size of the instance (e.g. Standard_A1)
sku azure_sku sku of the instance (e.g. com.microsoft.azure.management.compute.Sku@151e5d8d)

Resource Tags

Properties of resources from services we support that are put on to the azure_resource_id dimension.

Azure name Custom property Description
name azure_resource_name name of the resource
region azure_region region to which the resource belongs (e.g. eastus)
Tags * azure_tag<name-of-tag> (if resource has user-defined tags) all resource tags

* This property is a list of key value pairs in Azure. For example, if Azure has [key1:label01, key2:label02] as the labels property, we will have two properties: azure_tag_key1 and azure_tag_key2.)