- Which App Services are experiencing the highest latency?
- How are my Function Apps performing across different regions?
- What is the error rate for my Service Bus queues?
- Are there any performance bottlenecks in my Cosmos DB operations?
Before you begin
Before you begin, make sure you have:- An Azure subscription with the services you want to monitor
- Access to configure Azure Monitor and Event Hub
- A Honeycomb Ingest API Key
Choosing a collector distribution
Your first decision is which collector distribution to use:- OpenTelemetry Collector Contrib: The community-maintained distribution that includes Azure receivers. This is the recommended starting point if you are already using OpenTelemetry across your stack or want a single collector for multiple environments.
- Custom collector: Build your own binary with only the components you need. Include only the components that match the Azure services you want to monitor:
builder-config.yaml to build a custom collector with the Azure components:
Collecting traces, logs, and metrics from an Azure Event Hub
Azure Event Hub acts as a central hub for telemetry from across your Azure environment. Configure Azure Monitor to route diagnostic logs and metrics to an Event Hub, then configure the Azure Event Hub Receiver to collect that telemetry and forward it to Honeycomb. To learn about this approach, visit Stream Azure monitoring data to an event hub and external partner. This example configuration uses the Azure Authenticator Extension to authenticate using a service principal:Collecting resource metrics from the Azure Monitor API
The Azure Monitor API provides resource-level metrics for your Azure services, such as CPU usage, memory consumption, and request counts. Use the Azure Monitor Receiver to pull these metrics from the Azure Monitor API on a schedule and forward them to Honeycomb. This example configuration uses Azure Authenticator Extension to authenticate:Exporting telemetry to Honeycomb
Once your receivers are configured, add an OTLP exporter to send your Azure telemetry to Honeycomb. Use the endpoint that matches the region where your Honeycomb data is stored. Configure an OTLP exporter with your Honeycomb Ingest API Key as a header:x-honeycomb-dataset header: