Cut Elastic
Indexing By Half

Optimize at the edge to cut costs 50%.
Stream from S3 on-demand to reach 80%+

Cut Indexing Costs

Filter, regulate, and optimize events before they reach Elasticsearch

Free
Dev

Dev

Preview savings

Elasticsearch

Elastic

Pinpoint waste

Edge

Edge

Optimize at source

Storage Streamer

Storage

Ingest on-demand

Simple Pricing

One question: How many nodes run log collection?

Tier Nodes Annual Price
Starter up to 50 $15,000
Growth up to 300 $35,000
Business up to 750 $65,000
Enterprise up to 1,500 $105,000
Enterprise+ 1,500+ Contact us

All tiers include unlimited log volume, all products, and all features. See all tiers →

Forecast Savings

Project your annual savings across all 10x apps.
Drill down in your Kibana dashboards or the 10x Console

Log10x ROI dashboard showing Elasticsearch cost savings

Projected annual savings for 25 TB/month at $1/GB — typical mid-enterprise self-hosted ELK/OpenSearch.

Elastic Integration

Works with Elastic Cloud, self-hosted, OpenSearch, Coralogix, and Logz.io.
Zero changes to mappings, templates, or queries

Zero Changes

Kibana dashboards unchanged
Queries return same results
Alerts fire as expected
Saved searches work identically

Full Compatibility

Elastic Cloud (all regions)
Self-hosted ES 7.x, 8.x
OpenSearch 1.x, 2.x
Coralogix, Logz.io

Elasticsearch Plugin

On-the-fly expansion
Search compacted events
No reindexing required
Transparent to Kibana

Frequently Asked Questions

Getting Started

How do I test this on my Elasticsearch cluster?
  1. Dev — Run on your Elasticsearch log files locally. One-line install, results in minutes. No account, no credit card.
  2. Cloud Reporter — Connect to your Elasticsearch cluster via REST API. See which event types cost the most — no agent changes.
  3. Edge apps — Deploy optimizer and regulator via Helm chart alongside your forwarder. ~30 min setup.
  4. Storage Streamer — Route events to S3, stream selected data to Elasticsearch on-demand.

Each step is independent — start with Dev to see your reduction ratio, then move to production when ready.

Does 10x work with my existing Kibana dashboards and queries?

Yes. Log10x operates pre-ingestion — events that pass through arrive in standard Elasticsearch format. Kibana dashboards, saved searches, KQL queries, visualizations, and alerts all work unchanged. Zero reconfiguration.

All field mappings, index patterns, and document structure are preserved. Edge Reporter and Edge Regulator output standard Elasticsearch documents. Edge Optimizer compacts events losslessly — the open-source L1ES plugin transparently rewrites standard queries and decodes _source at search time for self-hosted Elasticsearch 8.17 and OpenSearch 2.19. For managed services, Storage Streamer expands events from S3 before ingestion.

What's the query-time overhead?

~1.25x query time. The open-source L1ES plugin expands compact events at the Lucene segment level — each shard handles its own expansion locally with no central bottleneck.

A query that takes 100ms on standard events takes ~125ms on compacted events. On a 2-second search across 10M documents, that's 2.5 seconds. Aggregations, highlighting, _source retrieval, and KQL queries all work through the plugin unchanged.

Expansion scales horizontally with your cluster — adding nodes reduces per-shard work the same way it does for standard queries.

Does this work with Logstash and Beats?

Yes. Log10x runs as a sidecar alongside your existing forwarder — it doesn't replace Logstash, Beats, or any part of your pipeline.

Your Logstash pipelines, Beats modules, and Elasticsearch ingest nodes all continue unchanged. Log10x intercepts events at the forwarder output, optimizes them, then forwards to the Elasticsearch Bulk API. Nothing to reconfigure in Logstash, Beats, or your ingest pipelines.

Supported: Filebeat, Metricbeat, Logstash 7.x/8.x, Fluent Bit, Fluentd, and OpenTelemetry Collector.

Which Elasticsearch platforms are supported?

All of them. Log10x works pre-ingestion — it optimizes events before they reach any Elasticsearch-compatible backend.

Platform Versions
Elastic Cloud All regions, all tiers
Self-hosted Elasticsearch 7.x, 8.x (including open-source)
OpenSearch 1.x, 2.x (AWS and self-hosted)
Coralogix Elasticsearch-compatible ingestion
Logz.io Elasticsearch-compatible ingestion

Same optimization pipeline, same forwarder sidecar, same results — regardless of where your Elasticsearch runs.

How does Elasticsearch process events from the Edge Optimizer?

The Edge Optimizer losslessly compacts events at the forwarder before they ship to Elasticsearch. From there, three paths:

1. Stream raw to S3 — The Storage Streamer sends events to Elasticsearch on demand. S3 storage costs ~90–95% less per GB than Elasticsearch indexing.

2. Stream optimized to S3 — 50–60% smaller footprint. The Storage Streamer expands events before sending to Elasticsearch. Zero query-time overhead.

3. Index optimized in Elasticsearch (self-hosted only) — Send optimized events directly to Elasticsearch. The L1ES plugin expands at query time (~1.25x overhead). The tradeoff: 50–60% less index storage and hardware for on-prem deployments. Optionally store a copy in S3 for long-term retention.

Paths can be combined — for example, index optimized in Elasticsearch for hot data while storing optimized events in S3 for long-term search.

Managed platforms (Elastic Cloud, AWS OpenSearch Service, Coralogix, Logz.io): paths 1 and 2. Custom plugins are not available on managed platforms, so the Storage Streamer handles expansion before ingestion.

What does deployment look like?

All 10x apps deploy in your infrastructure — no data leaves your network. Most teams adopt in three steps:

  1. Cloud Reporter — samples your Elasticsearch cluster API to pinpoint which indices and source types cost the most. Runs as a Helm CronJobCloud Reporter — Helm CronJob:log10xLicense: "YOUR-LICENSE-KEY" jobs: - name: reporter-job runtimeName: my-cloud-reporter schedule: "*/10 * * * *" args: - "@apps/cloud/reporter"Full deploy guide → in your cluster.
  2. Edge Optimizer — losslessly compacts logs at the source before they reach Elasticsearch. Add a tenx blockEdge Optimizer — Helm values:tenx: enabled: true apiKey: "YOUR-LICENSE-KEY" kind: "optimize" runtimeName: my-edge-optimizerFilebeat · Fluent Bit · Fluentd · OTel Collector · LogstashFull deploy guide → to your existing forwarder Helm values; CLI or Docker for VMs.
  3. Storage Streamer — stores logs in S3 and streams selected events back to Elasticsearch on demand. Deploy via a Terraform moduleStorage Streamer — Terraform:module "tenx_streamer" { source = "log-10x/tenx-streamer/aws" tenx_api_key = var.tenx_api_key tenx_streamer_index_source_bucket_name = "my-app-logs" }Full deploy guide → that provisions S3 buckets, SQS queues, and IAM roles.

Cost & Savings

Can I store logs in S3 and still query them in Elasticsearch?

Yes. Storage Streamer indexes your logs in S3 and streams matching events to Elasticsearch when you need them — for incidents, scheduled dashboards, compliance audits, or metric aggregation.

Query workflow: Send a REST API call with a time range and search expression. The Bloom filter index identifies matching S3 files in <1 second. Matching events stream to Elasticsearch via the Bulk API with original timestamps — they appear in Kibana alongside your live data. ~100 events in 2-5 seconds, ~10K events in 10-30 seconds.

No separate UI to learn — results are standard Elasticsearch documents. Search, filter, and dashboard them the same way you always do. For recurring workflows, schedule queries via Kubernetes CronJob.

Most customers divert 80% of volume to S3. A 2 TB/day Elasticsearch cluster saves ~$840K/yr.

Query workflows, retrieval times, and savings examples →

What's the typical cost reduction for Elasticsearch?

Elasticsearch costs scale with index volume — more shards, more storage, more compute. Whether self-hosted or Elastic Cloud, reducing what you index directly cuts costs.

With Edge Optimizer (50%+ lossless reduction): index volume drops ~50%. Same data, fewer bytes. No data loss, all fields preserved.

With S3 streaming: route low-value logs to S3 at $0.023/GB and stream to Elasticsearch only when you query — for incident investigation, dashboard population, compliance audits, or metric aggregation. See use cases for Elastic-specific savings examples.

How does this translate to fewer data nodes?

For most self-managed clusters, data node count is driven by storage capacity. The relationship is roughly linear: 50% less indexed volume ≈ 50% fewer data nodes.

Example — 30 data nodes, 10TB/day, 7-day hot retention:

Before Optimizer (50%) + Streamer (80%)
Daily indexed10TB5TB2TB
Hot storage (7d × 1 replica)140TB70TB28TB
Data nodes30156
Monthly data node cost~$25,000~$12,500~$5,000
S3 archive (30d)~$6,900

Each decommissioned node removes both its EC2 instance and its EBS volume. Master nodes (typically 3), coordinating nodes, and Kibana stay unchanged.

Full sizing breakdown →

Comparisons

How does this compare to Elastic ILM (Index Lifecycle Management)?

ILM moves data to cheaper tiers after you’ve already paid to index every byte. Log10x cuts what gets indexed — fewer nodes, less compute, less hot-tier SSD from day one.

Elastic ILM Log10x
When After ingestion Before ingestion
What Move data to cheaper tiers Reduce volume 50%+ before indexing
Ingestion cost Full volume indexed Only optimized volume indexed
Hot tier Full volume on SSD 50%+ less SSD required
How does Log10x compare to Logsdb and searchable snapshots?

Both kick in after ingestion — you still pay full compute and node costs to index every byte. Neither reduces your node count.

Logsdb Searchable Snapshots Log10x
When After indexing After indexing Before indexing
Reduces Disk footprint (columnar encoding) Lifecycle storage (S3 frozen tier) Ingestion compute + storage + nodes
Ingestion cost Unchanged Unchanged 50%+ less
Node count Unchanged Unchanged Fewer nodes needed