Blog Post

Azure Observability Blog
4 MIN READ

Azure Monitor- Announcing General Availability of Azure Monitor Metrics Data Plane API

priyankaAzmon's avatar
priyankaAzmon
Icon for Microsoft rankMicrosoft
Jan 31, 2024

In the ever-evolving landscape of cloud computing, Azure Monitor has been committed to providing insights into Azure resources. Azure's extensive API services have allowed customers to glean valuable data about their resources, facilitating deep analytics and informed decision-making. However, for those customers who require large-scale and high-frequency access to metric data, the existing Azure Monitor REST API had its limitations, with throttling becoming a bottleneck.

To address this challenge and to empower customers with the ability to query metrics at scale, Microsoft Azure introduced the Azure Metrics Data Plane API. We are thrilled to announce that after a successful Public Preview launch in April 2023, the Azure Metrics Data Plane API is now Generally Available. This powerful addition allows customers to query metrics for their Azure resources at a large scale and now it comes with added SDK (Beta) support for .NET, Java, JavaScript, Python, and Go languages.

 

So, what is Azure Monitor Metrics Data Plane API?

Azure Metrics Data plane API is a new paradigm in Azure monitoring which makes resource insight gathering more efficient with a higher capacity querying experience. It provides the capability to retrieve the metric data for up to 50 resource IDs in the same subscription and region in a single batch API call thus improving query throughput and reducing the risk of throttling. 

The Azure Metrics Data Plane API comes with several key features and benefits:

  1. Higher Querying Limits: This API is designed to handle metric data queries for resources with higher query limits compared to existing Azure Resource Manager APIs. This is particularly advantageous for customers with large subscriptions containing numerous resources. While the REST API allows only 12,000 API calls per hour, the Azure Metrics Data Plane API elevates this limit to a staggering 360,000 API calls per hour. This increase in query throughput ensures a more efficient and streamlined experience for customers.
  2. Efficiency: The efficiency of this API shines when collecting metrics for multiple resources. Instead of making multiple API calls for each resource, the Azure Metrics Data Plane API offers a single batch API call that can accommodate up to 50 resource IDs. This results in higher throughput and more efficient querying, making it a time-saving solution.
  3. Improved Performance: The performance of client-side services can be greatly enhanced by reducing the number of calls required to extract the same amount of metric data for resources. The Azure Metrics Data Plane API optimizes the data retrieval process, ultimately leading to improved performance across the board.

SDK (Beta) Support- New Addition!

To make it even more accessible to developers across different programming languages, the Azure Metrics Data Plane API now offers client libraries for Java, JavaScript, .NET, Python, and Go languages. This support enables developers to integrate and interact with the API seamlessly in their preferred language, streamlining the development process and making it easier to leverage the power of Azure Metrics.

The General Availability of the Azure Metrics Data Plane API marks a significant milestone in Azure Monitor's journey. It empowers organizations to effectively monitor and manage their resources at scale, streamlining monitoring processes. We're excited to witness the innovative solutions and exciting use cases that developers and organizations will create using the Data plane API.

Whether you're a developer looking to harness the potential of Azure Metrics or an organization aiming to optimize your resource management, the Azure Metrics Data Plane API, along with its SDK (Beta) support, is here to help you achieve your goals efficiently and effectively.

 

Customer Testimonial

We are pleased to share testimonials from customers who have been utilizing this API-

 

"With SevOne NPM's latest release, IBM is excited to leverage the recently unveiled Data Plane API in partnership with Microsoft Azure, which is consistently revolutionizing our monitoring landscape. This capability allows us to streamline our development empowering us to monitor the largest enterprises in the world effortlessly. We can easily boast a 50x improvement in API call performance and provide observability to our customers at a fraction of the cost." - Brendan Schimmel, Head of Product, IBM SevOne NPM"

 

“Datadog uses Azure Monitor APIs to ingest metrics on behalf of thousands of organizations, including some of the largest Azure customers in the world. Through our partnership with the Azure Monitor team, we’ve been able to leverage the Data plane API to ingest data with minimal latency, enabling faster alerting and near real-team evaluation of health and performance even for enterprise-scale Azure environments"-Jimmy Caputo, Director of Product Management at Datadog.

 

The Azure Metrics Data plane API will incur charges based on the number of API calls. Please refer to the Azure Pricing page for detailed pricing information- Pricing - Azure Monitor | Microsoft Azure).

Note: Current users of the Metrics REST API hosted behind the ARM APIs will see no change in pricing.

 

Azure Documentation:

Learn more about Azure Metrics Data plane API –

Metrics in Azure Monitor - Azure Monitor | Microsoft Learn

Metrics Batch - Batch - REST API (Azure Monitor) | Microsoft Learn

Migrate from the metrics API to the getBatch API - Azure Monitor | Microsoft Learn

SDK for Azure Monitor Metrics Data plane API-

.NET: https://aka.ms/azsdk/net/monitor-query/docs
Java: https://aka.ms/azsdk/java/monitor-query/docs

JavaScripthttps://aka.ms/azsdk/js/monitor-query/docs
Python: https://aka.ms/azsdk/python/monitor-query/docs

Go: https://aka.ms/azsdk/go/monitor-query/docs

 

Updated Feb 01, 2024
Version 4.0

2 Comments

  • zmoog's avatar
    zmoog
    Copper Contributor

    The new Azure Metrics Data plane API is a great new addition to Azure Monitor!

    I tried the new SDK for Go, and it allows me to collect metrics values from 1000+ resources in 20 seconds, which is excellent.

     

    We have solved the bottleneck in metric values, but now I am facing a bottleneck in metrics definitions.

     

    Here is what I'm currently doing:

    - List the existing resources
    - For each resource, list the existing metric definitions
    - Group all metric definitions by metric names and aggregation type, and batch query the values.

     

    For example, to collect the metrics values for the 1000+ resources mentioned, I need to get the list of metrics definitions for each resource, right? So, I have to make 1000+ calls to get metrics definitions and then start getting the actual metrics values.

    Am I missing something? Is there a more efficient way to get metric definitions for batch query Azure Monitor?

  • joshkternary's avatar
    joshkternary
    Copper Contributor

    Hi there, I've been trying to migrate to this API from the classic one. The same token that works for the old API is not working for this one. The error given is 401 and additionally says that the token needs to include an 'oid' field.  I am using the Go SDK with a Client Certificate credential on a service principal which has monitoring reader on my subscription, and actually I confirmed thru debugger that my token does have the 'oid' field. So perhaps the error description? I read the section about the 401 errors on the docs but didn't see anything about this. I would appreciate any assistance with this!