← Back
API Reference

OTel Collector Configuration Reference

Configuration reference for the OpenTelemetry Collector as used in the grpc-otel-mesh project, where traces are exported to Jaeger.

Overview

The OpenTelemetry Collector is a vendor-agnostic telemetry pipeline that receives, processes, and exports traces, metrics, and logs.

Configuration Structure

The collector configuration is composed of three top-level sections:

receivers:   # Defines how telemetry data is ingested
exporters:   # Defines where telemetry data is sent
service:     # Defines pipelines connecting receivers to exporters

Receivers

Receivers define how telemetry data is ingested into the collector.

receivers.otlp

Receives trace data using the OpenTelemetry Protocol (OTLP) over gRPC and HTTP.

Fields

Field Type Default Required Description
receivers.otlp.protocols.grpc.endpoint string none yes Address the collector listens on for OTLP gRPC traffic
receivers.otlp.protocols.http.endpoint string none yes Address the collector listens on for OTLP HTTP traffic

Example

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

Notes

Exporters

Exporters define where telemetry data is sent after processing.

exporters.otlp/jaeger

Exports trace data to Jaeger using OTLP over gRPC.

Fields

Field Type Default Required Description
exporters.otlp/jaeger.endpoint string none yes Destination endpoint for Jaeger collector
exporters.otlp/jaeger.tls.insecure boolean false no Disables TLS verification (not recommended for production)

Example

exporters:
  otlp/jaeger:
    endpoint: jaeger:4317
    tls:
      insecure: true

Notes

exporters.debug

Logs received telemetry data to stdout for debugging purposes.

Fields

Field Type Default Required Description
exporters.debug.verbosity string normal no Level of detail in logs (basic, normal, detailed)

Example

exporters:
  debug:
    verbosity: detailed

Notes

Service Pipelines

The service section defines how telemetry flows through the collector.

service.pipelines.traces

Defines a pipeline for processing trace data.

Fields

Field Type Required Description
receivers list[string] yes Receivers that ingest trace data
processors list[string] no Processors applied to traces
exporters list[string] yes Exporters that send trace data

Example

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: []
      exporters: [otlp/jaeger, debug]

Notes

Complete Configuration Example

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

exporters:
  otlp/jaeger:
    endpoint: jaeger:4317
    tls:
      insecure: true
  debug:
    verbosity: detailed

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: []
      exporters: [otlp/jaeger, debug]