Open
Description
Component(s)
receiver/azuremonitor
Is your feature request related to a problem? Please describe.
Currently, the OpenTelemetry Collector's Azure integration uses the standard Azure Resource Manager (ARM) APIs for metrics collection, which has significant limitations:
- Low query limits (12,000 API calls per hour)
- Requirement to make separate API calls for each resource
- Higher risk of throttling when monitoring many Azure resources
- Lower performance for large-scale monitoring scenarios
- These limitations create challenges for users monitoring large Azure environments with multiple resources, as they frequently encounter throttling issues and inefficient data collection.
Describe the solution you'd like
Implement support for the new Azure Monitor Metrics Data Plane API in the OpenTelemetry Collector. This API offers several significant advantages:
- Higher query limits: Up to 360,000 API calls per hour (30x improvement over ARM API)
- Batch capabilities: Collect metrics for up to 50 resource IDs in a single API call
- Improved efficiency: Reduced number of API calls for the same amount of metric data
- Regional endpoints: Using region-specific endpoints for better performance
- The implementation should allow users to:
- Configure the collector to use the new Metrics Data Plane API instead of ARM APIs
- Specify Azure resource IDs to be monitored in batches
- Take advantage of the higher throughput and reduced throttling risk
Describe alternatives you've considered
No response
Additional context
The Azure Monitor Metrics Data Plane API is Generally Available and represents a significant improvement in Azure monitoring capabilities. Key technical details:
- API endpoint format: {endpoint}/subscriptions/{subscriptionId}/metrics:getBatch?metricnamespace={metricnamespace}&metricnames={metricnames}&api-version=2023-10-01
- Uses regional endpoints (e.g., https://eastus.metrics.monitor.azure.com)
- Authenticated via Azure Active Directory with the scope https://metrics.monitor.azure.com/.default
- Supports comprehensive filtering and aggregation capabilities similar to existing ARM APIs
- This feature would significantly improve the experience for users monitoring large Azure environments and ensure the OpenTelemetry Collector remains a competitive option for Azure monitoring.
- How to migrate from the metrics API to the getBatch API
- Azure Monitor: Announcing GA of Azure Metrics Data Plane API
- Azure Monitor Metrics Batch API Documentation