OTEL-001: memory_limiter processor must be configured
Severity: deny (blocking)
Rule Details
The memory_limiter processor is the Collector's safety valve against out-of-memory kills. Without it, a slow exporter, a traffic burst, or a stuck sending queue can push the process past its cgroup limit and get SIGKILL'd — dropping every batch in flight and taking observability down at the worst possible moment.
This rule fires when no memory_limiter processor is declared in the top-level processors section.
Options
This rule has no options.
Examples
Incorrect
processors:
batch:
timeout: 1s
Correct
processors:
memory_limiter:
check_interval: 5s
limit_percentage: 80
spike_limit_percentage: 25
batch:
timeout: 1s
When Not To Use It
Short-lived test runs, one-shot config imports, or throwaway sidecars where OOM restart is acceptable. For any long-running production Collector you should leave this rule enabled.
Related Rules
- OTEL-002 —
memory_limitermust be included in every pipeline - OTEL-014 —
memory_limitershould be first processor - OTEL-027 —
memory_limitercheck_intervalis 0 or unset - OTEL-028 —
spike_limit_mib>=limit_mib - OTEL-029 — neither
limit_mibnorlimit_percentageset
Version
Available since augur v0.1.0.
Further Reading
Resources
- Rule source:
policy/main/main.rego