BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Azure Monitor Metrics Data Plane API for Enhanced Resource Insight Gathering

Azure Monitor Metrics Data Plane API for Enhanced Resource Insight Gathering

Bookmarks

Microsoft recently announced the general availability (GA) of Azure Monitor Metrics Data Plane API, which makes resource insight gathering more efficient by providing developers with 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 GA release is a follow-up to the public preview launch in April 2023, which now includes an added SDK (Beta) support for .NET, Java, JavaScript, Python, and Go languages. It allows developers to integrate and interact with the API with these languages, making leveraging access to Azure Metrics easier.

Azure Monitor provides REST APIs that allow developers to get data in and out of Azure Monitor Metrics. These APIs are the custom metrics API (preview), allowing developers to load their metrics into the Azure Monitor Metrics database, the Azure Monitor Metrics REST API that provides access to Azure Monitor platform metrics definitions and values, and the Azure Metrics Data Plane API.

With Azure Metrics Data Plane API, developers can benefit from higher query limits compared to existing Azure Resource Manager APIs, as it allows up to 360,000 calls per hour. In addition, a single batch API call can accommodate up to 50 resource IDs, allowing a client application to consume more metric data from Azure resources.

A sample request of the Azure Metrics Data Plane API could look like this:

POST {endpoint}/subscriptions/12345678-abcd-1234-abcd-123456789abc/metrics:getBatch?starttime=2023-02-01T20:00:00.123Z&endtime=2023-02-01T23:00:00.345Z&interval=PT15M&metricnamespace=Microsoft.Storage/storageAccounts&metricnames=Ingress,Egress&aggregation=average,minimum,maximum&top=10&orderby=average desc&filter=ApiName eq 'GetBlob' or ApiName eq 'GetBlobServiceProperties' and Authentication eq '*'&api-version=2023-10-01
{
  "resourceids": [

    "/subscriptions/12345678-abcd-1234-abcd-123456789abc/resourceGroups/TestGroup/providers/Microsoft.Storage/storageAccounts/TestStorage1",

    "/subscriptions/12345678-abcd-1234-abcd-123456789abc/resourceGroups/TestGroup/providers/Microsoft.Storage/storageAccounts/TestStorage2"
  ]
}

The company writes in its documentation that when developers heavily use the Azure Monitor Metrics REST API, they should migrate to the Azure Monitor Metrics Data Plane API, as the two APIs share a common set of query parameters and response formats that make migration easy. The Azure Monitor Metrics Data Plane API is the correct API when all the resources are in the same subscription, Azure region, and resource type. Developers can use the Azure Resource Graph Explorer or Azure Resource Manager Resources query API to identify resources that meet these criteria.

Jimmy Caputo, a director of product management at Datadog, said in a testimonial for the Azure Monitor Metrics Data Plane API:

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.

Lastly, Azure Monitor Metrics Data Plane API will be charged at a rate of $0.01/1000 API calls – more details on pricing are available on the Azure Monitor pricing page.

About the Author

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT