Skip to main content

OTEL-006: service.pipelines must be defined

Severity: deny (blocking)

Rule Details

service.pipelines is what actually wires receivers, processors, and exporters together. A config without any pipelines is syntactically valid but operationally inert — the Collector starts, logs nothing useful, and silently drops every signal. This is almost always an unfinished or broken config.

This rule fires when service.pipelines is missing entirely.

Options

This rule has no options.

Examples

Incorrect
receivers:
otlp:
protocols:
grpc:
endpoint: localhost:4317

exporters:
otlp/backend:
endpoint: backend:4317

service:
telemetry:
logs:
level: info
# pipelines block is missing
Correct
service:
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [otlp/backend]

When Not To Use It

Never. If you do not want any telemetry to flow, do not run a Collector at all.

Version

Available since augur v0.1.0.

Further Reading

Resources