Skip to main content

Azureeventhub Receiver

Status Available in: contrib Maintainers: @atoulme, @cparkins, @dyl10s Source: opentelemetry-collector-contrib

Supported Telemetry

Logs Metrics Traces

Overview

Overview

Azure resources and services can be configured to send their telemetry to an Azure Event Hub. The Azure Event Hub receiver pulls telemetry from an Azure Event Hub, transforms them, and pushes them through the collector pipeline.

Read further

Configuration

Connection Settings

Either connection or auth must be specified. * One of connection or auth is required.
** Required when using auth.

Consumer Settings

Distributed Consumption Settings

When blob_checkpoint_store is set, the receiver uses the Azure SDK Processor to coordinate partition ownership across multiple collector instances via Azure Blob Storage. This is mutually exclusive with partition, offset, and storage. * One of connection or storage_account_url is required.

Polling Settings

Data Transformation Settings

Example Configuration

The simplest configuration uses a connection string from the Azure portal:
The full list of settings exposed for this receiver are documented above with detailed sample configurations in testdata/config.yaml.

Advanced Configuration

Azure Auth Extension with Service Principal

Checkpoint Persistence with Storage Extension

This component can persist its state (checkpoint offsets) using the storage extension. This is strongly recommended for production deployments to prevent message reprocessing after collector restarts. Without a storage extension configured, the receiver will start from the latest offset on each restart, potentially missing messages that arrived while the collector was down.

Distributed Consumption with Blob Checkpoint Store

When blob_checkpoint_store is configured, the receiver automatically:
  • Coordinates partition ownership across collector instances via blob leases
  • Checkpoints progress to Azure Blob Storage
  • Rebalances partitions when instances are added or removed
Prerequisites:
  • The blob container must already exist before starting the collector
  • All collector instances must use the same consumer group and container

Custom Time Formats and Partitioning

Known Limitations

Before using this receiver, be aware of the following limitations:

Checkpoint Persistence

  • Without a configured storage extension, checkpoint state is stored only in memory. If the collector restarts, the receiver will resume from the latest offset, potentially missing messages or reprocessing already-consumed messages.

Format

raw

The “raw” format maps the AMQP properties and data into the attributes and body of an OpenTelemetry LogRecord, respectively. The body is represented as a raw byte array.
[!WARNING] This format is only supported for Logs. Using raw format with Metrics or Traces pipelines will result in an error.

azure

Logs

The “azure” format extracts the Azure log records from the AMQP message data, parses them, and maps the fields to OpenTelemetry attributes. The table below summarizes the mapping between the Azure common log format and the OpenTelemetry attributes. Notes:
  • JSON does not distinguish between fixed and floating point numbers. All JSON numbers are encoded as doubles.

Metrics

For Metrics the Azure Metric Records are an array of “records” with the following fields, by type of metric. From this data a Metric of type Gauge is created with a Data Points that represents the values for the Metric including: Total, Minimum, Maximum, Average and Count.
Platform metric (from Azure resources)
Application metrics (from Application Insights)
See: https://learn.microsoft.com/en-us/azure/azure-monitor/reference/tables/appmetrics

Traces

Traces based on Azure Application Insights array of records from AppRequests & AppDependencies with the following fields.

Encoding

As an alternative to the built-in format, the encoding option delegates unmarshaling of the message body to an encoding extension. This is mutually exclusive with format.
[!NOTE] The encoding extension only receives the message body. AMQP properties and enqueued time (which the raw format maps onto the LogRecord) are not applied on the encoding path. Use format: raw if you need those.

Configuration

Example Configuration


Last generated: 2026-08-24