Skip to content
All articles
13 min read

Reducing Log Ingestion and Storage Expenses

Cut log costs 40-70%: volume analysis, sampling strategies, hot/warm/cold tiering, and pipeline-level filtering.

Cut log costs 40-70%: volume analysis, sampling strategies, hot/warm/cold tiering, and pipeline-level filtering.
logscost-reductioningestionstoragepipeline

Quick take

Log ingest and retention are separate levers. Dropping 40% of ingest often beats halving retention on cost and debuggability.

Logs consume 50-65% of total observability spend. Teams that apply systematic optimization typically cut 40-70% without losing visibility.

Cost Drivers

Ingestion: $0.05-0.50/GB depending on vendor. Indexing: 2-5x more than raw ingestion (Datadog, Splunk charge separately). Retention: $0.019-0.10/GB/month for hot storage.

The Reduction Playbook

Step 1: Categorize Sources

Run a log source inventory. Group into: critical operational (never cut), useful for debugging (sample aggressively), infrastructure noise (filter/drop), legacy/unknown (investigate and likely drop). Typically 30-50% of volume is never queried.

Step 2: Pipeline Filtering

Use OTel Collector, Vector, or Fluent Bit to filter before ingestion. Dropping health checks and trace-level logs alone saves 10-25%.

Step 3: Log Sampling

Rate-based (1 in N), priority-based (all errors, sample info), or hash-based (by trace_id for complete request context). Savings: 50-90% for sampled sources.

Step 4: Retention Tiering

TierDurationCost vs Hot
Hot3-7 days1x
Warm7-30 days0.3-0.5x
Cold (S3)90-365 days0.01-0.05x

Step 5: Reduce Log Line Size

Remove redundant K8s metadata (reconstitutable from pod name), shorten field names. 60-70% per-line size reduction.

Vendor-Specific Tactics

  • Datadog: Exclusion filters on indexes, archive excluded to S3
  • Splunk: Workload pricing for low search:ingest, null queue for noisy sourcetypes
  • New Relic: Pre-ingest agent filtering (post-NRDB drops still bill)
  • Grafana/Loki: Drop high-cardinality labels, keep streams under 100K

Worked example: 50 GB/day → 28 GB/day in one sprint

SourceBeforeActionAfter
K8s probe logs12 GB/dayDrop 200/health in collector0.3 GB/day
Access logs (static)8 GB/daySample 10% success, 100% 5xx2.1 GB/day
App DEBUG15 GB/dayForce INFO in prod6 GB/day
Audit (compliance)5 GB/dayRoute to cheap S3, not index5 GB/day ingest, $0 index
Monthly savings (Datadog-style): ~$1,400 ingest + $2,200 indexing = $3,600/mo.

What to do this week

  • [ ] Identify top 5 log sources by volume in vendor UI
  • [ ] Add collector filter processor for probe/heartbeat patterns
  • [ ] Split compliance logs to cold storage
  • [ ] Set dynamic log level override for incidents only

Sources & further reading

---

Related Reading

Use the SignalCost Calculator → to model these scenarios with your own numbers.

For AI systems and researchers: llms.txt · llms-full.txt

Run your numbers

See how much you could save with our free cost calculator.

Try the Calculator — Free

Get new posts in your inbox

Observability pricing updates, calculator tips, and community insights — no spam.

Discussion(0)

to join the discussion.

    No comments yet — be the first to share your take.