Azure Status and Count Metrics

Overview

Datadog generates two additional metrics for each resource monitored with the Azure integration: azure.*.status and azure.*.count. For example, Azure Virtual Machines monitored by Datadog reports azure.vm.status and azure.vm.count. These two metrics cover similar information.

The azure.*.count metric is an improvement over azure.*.status, which is deprecated.

Count metric

The azure.*.count metric provides two fundamental pieces of information:

  • The number of resources of that type.
  • The status of each resource as reported by Azure.

The azure.*.count metric is created in the same namespace as the other metrics for that resource type, for example: azure.network_loadbalancers.count. It includes all of the same metadata tags as the other metrics in that namespace, plus as additional tag for status.

Use cases

Use the azure.*.count metric to:

  • Create a view of the number of Virtual Machines broken out by their status over time by graphing azure.vm.count over everything and summing by status.
  • Create query widgets in dashboards to display the number of a given resource type. Use any available tags to scope the count to a relevant aggregation such as region, resource group, kind, or status.
  • Create monitors to alert you about the status of different Azure resources.

Note: In some cases, the default visualization settings can make it appear as though resources are being double counted intermittently in charts or query widgets. This does not affect monitors or widgets scoped to a specific status. You can reduce this effect by turning off interpolation in charts or query widgets by setting Interpolation > none or using .fill(null).

For most resource types, the possible statuses are:

  • Running
  • Unavailable
  • Unknown
  • Degraded
  • Failed

Virtual machines have more detailed statuses, including:

  • Running
  • Stopped_deallocated
  • Stopped
  • Unknown
  • Unavailable
  • Degraded
  • Failed

If you see a status of query_failed you need to enable the Resource Health provider in Azure.

Status metric

The azure.*.status metric is the previous solution for this same type of information. It reports the number of available resources for each Azure resource type.

Differences

The key differences between the .status and .count metric:

  • azure.*.count includes all resources that exist in the Azure account while azure.*.status only reports the number of available resources.
  • azure.*.count includes a status tag, which reports the specific availability state for the resource while azure.*.status only includes the standard tags for the resource type.
  • azure.*.count includes improvements in the accuracy and reliability of the metric value.

Troubleshooting

If your Azure integration is reporting metrics but not azure.*.status, or azure.*.count is returning status:query_failed, your Azure subscription needs to register the Azure Resource Health provider.

Using the Azure Command Line Interface:

azure login # Login to the Azure user associated with your Datadog account
azure config mode arm
azure provider register Microsoft.ResourceHealth

The azure.*.status metric should show in Datadog within 5 - 10 minutes.