Configure the OpenTelemetry Collector filestorage extension to persist the sending queue across restarts for durable delivery

domain: github.com/open-telemetry/opentelemetry-collector-contrib · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Add a file_storage extension block under extensions, setting directory to a path the Collector process can read/write (default /var/lib/otelcol/file_storage on non-Windows, %ProgramData%\Otelcol\FileStorage on Windows); set create_directory: true if it may not already exist.
  2. Reference the extension's component ID inside the target exporter's sending_queue block, e.g. sending_queue: { storage: file_storage }, so the queue persists to a bbolt-backed write-ahead store instead of memory only.
  3. Add file_storage to the top-level service.extensions list — defining the extension alone does nothing until it is both listed there and referenced by an exporter's sending_queue.storage.
  4. Tune durability/perf as needed: timeout (default 1s) for file-lock waits, fsync: true to force an fsync after every write (safer but slower), and max_size to cap each bbolt database file's size in bytes (0 = unlimited).
  5. Optionally configure compaction (compaction.on_start, compaction.on_rebound with rebound_needed_threshold_mib / rebound_trigger_threshold_mib / check_interval) to reclaim disk space after the queue drains following a prolonged outage.

Known gotchas

Related routes

Configure the OpenTelemetry Collector hostmetrics receiver to collect CPU, memory, disk, filesystem, and network metrics from the host
github.com/open-telemetry/opentelemetry-collector-contrib · 6 steps · unrated
Configure the OpenTelemetry Collector to export traces to multiple backends simultaneously using the fanout pattern with the forward connector
opentelemetry.io · 5 steps · unrated
Configure OTLP exporter sending_queue and retry_on_failure for resilient export
opentelemetry.io · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans