Configuration reference for the OpenTelemetry Collector as used in the grpc-otel-mesh project, where traces are exported to Jaeger.
The OpenTelemetry Collector is a vendor-agnostic telemetry pipeline that receives, processes, and exports traces, metrics, and logs.
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 define how telemetry data is ingested into the collector.
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
4317 is the default for OTLP gRPC.4318 is the default for OTLP HTTP.0.0.0.0 allows accepting traffic from all network interfaces.Exporters define where telemetry data is sent after processing.
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
tls.insecure: true only in trusted environments (e.g., Docker networks).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
The service section defines how telemetry flows through the collector.
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
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]