Azure Monitor: New services and capabilities for metrics

Posted on 27 September, 2017

Program Manager, Azure Monitor

This blog post was co-authored by Vitaly Gorbenko, Senior Program Manager, Azure Monitor and Anirudh Cavale, Program Manager, Azure Monitor.

Earlier this year we announced the general availability of Azure Monitor, Microsoft’s built-in platform monitoring service for Azure. The service enables users to access native resource metrics to gain visibility into the performance and health of their workloads in Azure. Since its launch, we have seen enormous growth in the usage of Azure Monitor metrics and heard some great feedback. Today, we are excited to announce some new additions to the metrics ecosystem. They enable you to seamlessly visualize your metrics, monitor more Azure resources, and unlock deeper insights with the addition of dimensions to metrics.

More metrics, for more Azure resources!

Many of you have provided us with feedback around making metrics available for more Azure resources. We are happy to announce additional Azure resources that now have metrics available via Azure Monitor, enabling more visibility into the state and performance of your Azure workloads. All of these metrics can be accessed via the Azure Portal and via the Azure Monitor REST APIs.

Please welcome the following resources to the Azure Monitor family:

  • Automation: Get visibility into the number of jobs your Azure Automation account is running.
  • Autoscale: Metrics are now available to help you understand how your Autoscale settings are being evaluated, what metric values are being read, and what scale actions are being taken.
  • Classic Compute: You can now access host metrics like Network In/Out, Disk Reads/Writes, CPU Percentage etc. for your Classic Compute VMs.
  • CosmosDB: Determine what the request count for your CosmosDB is by region, database, collection, and status code.
  • DataLake Analytics: Get visibility into the number of successful, failed, and cancelled jobs in your DataLake Analytics accounts, even measure the total AU time for those jobs.
  • DataLake Store: Gain insight into the amount of data being stored, written, and read in your DataLake Store accounts.
  • Express Route: You can now measure the total bytes ingressing and egressing your Express Route circuits.
  • Public IP Addresses: Metrics are now available to help you understand the inbound packets and bytes being forwarded or dropped for your Public IP Address resources.
  • Software Load Balancer: You can now query for the availability of your VIP and DIP endpoints for your load balancers.
  • Storage: You can now access capacity and transaction metrics for a storage account and its underlying services (blobs, files, tables, queues). Learn more about the new Azure storage metrics.
  • Traffic Manager: View the availability and query metrics for your traffic manager profile and endpoints.
  • Virtual Network Gateways: Get visibility into the throughput, bytes in, bytes out, packets in, packets out for your VPN Gateways.

A complete list of all the resources and metrics available via Azure Monitor can be found here.

Multi-Dimensional Metrics (public preview)

You also provided feedback that while more metrics are good, you need deeper visibility into the performance of your resources that can help you troubleshoot faster.

In addition to a host of new resource types offering metrics, the Azure Monitor now supports a public preview of multi-dimensional metrics. Native metrics can now have dimensions associated with them. Dimensions are name-value pairs, or attributes, that can be used to further segment a metric; these additional attributes can help make exploring a metric more meaningful.

Let’s look at the metrics of a Blob where your application is writing data to and other apps are reading data from. You expect the Blob writes and reads operations to happen very fast (in just a few milliseconds) to support your mission critical business apps. Prior to the dimension support, you could just use the overall ‘Success E2E Latency’ metric to monitor the average latency. Today, using the new dimensions support, you can break this metric down by the dimension - ‘API Name’. Here is the comparison of the same metric across all API names vs. a break-down by API name.

 

Metrics Name Metrics Value: Average (ms)
Success E2E Latency 20
Metric Name API Name Metric Value: Average (ms)
Success E2E Latency Get Block List 50
Success E2E Latency Put Block List 46
Success E2E Latency Put Block 18
Success E2E Latency Get Container Properties 7.0
Success E2E Latency Acquire Blob Lease 6.4
Success E2E Latency Release Blob Lease 5.9
Success E2E Latency Get Blob Properties 3.6

With this you can now learn that the Transactions with ‘Get Block List’ API name take more time than others.

Services like Azure Storage, API Management, and Traffic Manager are already emitting multi-dimensional metrics. A full list of resource emitting metrics, and their respective dimensions, can be found here.

New Metric Charting Experience (public preview)

As part of the multi-dimensional metrics ecosystem, we are introducing our brand-new metrics charting experience that you can use to render charts for both multi-dimensional, and basic metrics with no dimensions. The charts in the new experience can overlay metrics across different resource types, resource groups and subscriptions, and can be customized by applying filters and segmentation. After customizing the charts, you can pin them to dashboards and share with other team members.

Going back to the ‘Success E2E Latency’ metric example from above, we use the new experience to explore the average latency of transactions for a Storage resource, and corelate it to the application metric. The top chart below is segmented on the “API name” dimension to plot the average end-to-end (E2E) transaction latency broken down by API name. The bottom chart illustrates an Application Insights metric ‘Server Requests’, customized to show the volume of successful web requests that returned response code 200, and split them by the country from which the requests were made.

Monitor

We are excited for you to start exploring multi-dimensional metrics and this powerful new charting experience!

Programmatic access

Users can also query for multi-dimensional metrics using our new REST API (preview) version, or our new .NET SDK. Discover the metrics and dimensions for resources, and query for their metric values. Follow these links to get more documentation on the Azure Monitor metric definitions REST API, the metrics REST API, and .NET samples. We will soon be publishing a Java SDK, and adding support for PowerShell and CLI 2.0.

Wrapping up

In summary, Azure Monitor continues to grow and make more metrics available for more Azure resources. You now have a new experience that allows you to drill down further into metrics and filter them as needed. In the coming months, you can expect to see more services emitting metric and log data through Azure Monitor. Moreover, you will be able to create alert rules on these metrics filtered by their dimensions. Drop us a comment, email us, or head over to user voice and let us know what you think!