Skip to main content

Azurefunctions Receiver

Status Maintainers: @jmacd, @MichaelKatsoulis, @constanca-m Source: opentelemetry-collector-contrib

Supported Telemetry

Logs Metrics

Overview

Overview

The Azure Functions receiver is an OpenTelemetry Collector receiver that integrates with Azure Functions as a custom handler. It receives logs and metrics from Azure Event Hubs via the Azure Functions runtime and converts them to OpenTelemetry format for further processing and export. The receiver is structured by trigger type (e.g. Event Hub); each trigger can expose multiple log and/or metrics bindings, each with its own encoding.

How It Works

The receiver is designed to operate as part of an Azure Functions custom handler:
  1. Azure Functions runtime consumes events from Azure Event Hubs (e.g. separate hubs or bindings for logs and metrics).
  2. The runtime sends HTTP POST requests to the receiver (e.g. POST /logs, POST /metrics) for each binding name in your function.json.
  3. The receiver decodes Azure Functions invoke requests containing Event Hub message batches.
  4. Payloads are converted to OpenTelemetry logs or metrics using the encoding extension configured per binding.
  5. Data is sent to the logs and/or metrics pipeline that references this receiver (independent pipelines; a shared HTTP server is used when both are configured).

Configuration

The following receiver configuration parameters are supported. The triggers section and at least one trigger with at least one log or metrics binding are required. Required fields must be set for the receiver to start.
  • Use a logs pipeline with receivers: [azure_functions] to activate log bindings (HTTP routes are registered for each triggers.event_hub.logs entry when the logs pipeline exists).
  • Use a metrics pipeline with the same receiver to activate metrics bindings (triggers.event_hub.metrics). The same azure_functions receiver name can appear in both pipelines.

Example configuration

Supported Signal Decoders

  • Logs — Per binding, an encoding extension (e.g. azure_encoding) that implements plog.Unmarshaler decodes the binding payload to OpenTelemetry logs.
  • Metrics — Per binding, an encoding extension that implements pmetric.Unmarshaler decodes the payload to OpenTelemetry metrics.

Requirements

  • Deployed as an Azure Functions custom handler.
  • Azure Functions host configuration (host.json) with custom handler settings.
  • Event Hub trigger bindings configured in function.json; binding names should match the triggers.event_hub.logs[].name and triggers.event_hub.metrics[].name values (e.g. logs, raw_logs, metrics).

Configuration

Example Configuration


Last generated: 2026-08-24