---
title: OpenTelemetry
slug: telemetry-pipeline/6uxi-opentelemetry
docTags: 
createdAt: 2025-04-21T00:53:02.789Z
---

## OpenTelemetry Source

The OpenTelemetry source enables receiving OTLP (OpenTelemetry Protocol) data over **gRPC** and **HTTP**. It is designed to ingest telemetry data from OpenTelemetry SDKs, agents, or collectors and forward them into the telemetry pipeline for further processing or routing.

This source supports **logs**, **metrics**, and **traces**, and operates in both **daemon** and **aggregator** roles. Delivery guarantees are **at-least-once**, with end-to-end acknowledgements supported at the global or sink level.

## Configuration Overview

The OpenTelemetry source exposes both **gRPC** and **HTTP** endpoints for receiving OTLP data. Each protocol has its own configuration block and optional TLS settings.

## Acknowledgements (Deprecated)

The acknowledgements field at the source level is deprecated.

Acknowledgement behavior is now controlled globally or at the sink level. Enabling or disabling acknowledgements in this source configuration has no effect on event delivery guarantees.

For more information, refer to **End-to-end Acknowledgements** in the platform documentation.

### Fields

- **acknowledgements.enabled** (optional, boolean)
  &#x20;Indicates whether end-to-end acknowledgements are enabled.
  &#x20;*Note: This setting is deprecated and does not affect behavior.*&#x20;

## gRPC Configuration

Defines the gRPC server used to receive OTLP data.

### Required Fields

- **grpc.address** (string)
  &#x20;Socket address to listen on.
  &#x20;Must include a port.&#x20;

### Optional TLS Configuration (grpc.tls)

Controls TLS behavior for incoming or outgoing gRPC connections.

- **enabled** (boolean)
  &#x20;Enables TLS. When enabled for incoming connections, an identity certificate is required.&#x20;
- **crt\_file** (string)
  &#x20;Path to the server certificate file.&#x20;
- **key\_file** (string)
  &#x20;Path to the private key file.&#x20;
- **key\_pass** (string)
  &#x20;Passphrase for the encrypted private key.&#x20;
- **ca\_file** (string)
  &#x20;Additional trusted CA certificates.&#x20;
- **alpn\_protocols** (list of strings)
  &#x20;Supported ALPN protocols, in priority order.&#x20;
- **verify\_certificate** (boolean)
  &#x20;Enables certificate chain verification.&#x20;
- **verify\_hostname** (boolean)
  &#x20;Enables hostname verification (outgoing connections only).&#x20;
- **server\_name** (string)
  &#x20;Server name for SNI (outgoing connections only).&#x20;

:::BlockQuote
Disabling certificate or hostname verification is strongly discouraged unless the risks are fully understood.
:::

## HTTP Configuration

Defines the HTTP server used to receive OTLP data.

### Required Fields

- **http.address** (string)
  &#x20;Socket address to listen on.
  &#x20;Must include a port.&#x20;

### Optional Fields

- **http.headers** (list of strings)
  &#x20;HTTP headers to include in the generated log event.
  &#x20;Supports wildcard (\*) matching.
  &#x20;Using "\*" includes all headers.&#x20;

## HTTP Keepalive Settings

Controls connection lifetime behavior for the HTTP server.

- **max\_connection\_age\_secs** (unsigned integer, default: 300)
  &#x20;Maximum lifetime of a connection before it is closed.&#x20;
- **max\_connection\_age\_jitter\_factor** (float, default: 0.1)
  &#x20;Adds randomized jitter to avoid connection storms.&#x20;

## HTTP TLS Configuration (http.tls)

TLS options for HTTP connections. The available fields and behavior mirror the gRPC TLS configuration:

- **enabled**&#x20;
- **crt\_file**&#x20;
- **key\_file**&#x20;
- **key\_pass**&#x20;
- **ca\_file**&#x20;
- **alpn\_protocols**&#x20;
- **verify\_certificate**&#x20;
- **verify\_hostname**&#x20;
- **server\_name**&#x20;

## OTLP Decoding Mode

- **use\_otlp\_decoding** (optional, boolean, default: false)&#x20;

When enabled, the source bypasses legacy OTEL-to-event mapping and preserves the OTLP protobuf format directly.

### Important Notes

- Metrics are ingested as log events while preserving OTLP structure.&#x20;
- Metric-specific components will not be compatible with this output.&#x20;
- This mode is suitable when forwarding data directly to a downstream OpenTelemetry collector.
