<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Marcin Stożek - Elastic Observability Labs]]></title>
    <description><![CDATA[Trusted security news & research from the team at Elastic.]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Marcin Stożek - Elastic Observability Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltad972c1c27dbefc6/6a88d9782904ea5e8511d473/observability-labs-thumbnail.png</url>
      <link>https://www.elastic.co/observability-labs/author/marcin-stozek</link>
    </image>
    <link>https://www.elastic.co/observability-labs/author/marcin-stozek</link>
    <atom:link href="https://www.elastic.co/observability-labs/rss/author/marcin-stozek.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[en]]></language>
    <lastBuildDate>Tue, 10 Nov 2026 17:07:45 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Meet the new Elastic Streams: Managed data pipelines for telemetry]]></title>
    <description><![CDATA[Elastic’s new Streams gets you investigating in minutes by ingesting any data - structured or not - filtering, parsing, and enriching data with the option to even route it to your own storage end point, such as Amazon S3.]]></description>
    <content:encoded><![CDATA[<p>Elastic Streams is a managed data pipeline for telemetry on Elastic Cloud Serverless. Send it any telemetry, and it parses and enriches logs, metrics, and traces before they reach a destination. It then decides what that destination is. Send the complete record to an Amazon S3 bucket you own, and index only the subset that you actually query, or do both. Nothing has to change upstream. A Streams source accepts OpenTelemetry Protocol (OTLP) and Prometheus Remote Write, as well as Elasticsearch bulk, so Logstash, Elastic Agent, Beats, and Elastic Distribution of OpenTelemetry (EDOT) keep sending exactly as they do today. Elastic operates the OpenTelemetry (OTel) Collectors that do the processing, so you have no pipeline hosts to size or broken config to hunt down at 2:00 a.m. Private preview opens today on <a href="https://www.elastic.co/docs/deploy-manage/deploy/elastic-cloud/serverless">Elastic Cloud Serverless</a>. <a href="https://www.elastic.co/observability/streams-telemetry-pipelining/signup">Sign up</a> for the private preview.</p><h2>Why Streams became a telemetry pipeline in front of Elasticsearch</h2><p><a href="https://www.elastic.co/observability-labs/blog/elastic-observability-streams-ai-logs-investigations">Streams, which we released in 2025</a>, started as a way to partition and process data once it had reached Elasticsearch. It did that job well, but its reach ended at the cluster boundary; data entered Elasticsearch first, and Streams processed it there. It landed as an Elasticsearch data stream. Meanwhile, each shipper’s parsers and field mappings stayed handwritten, as did its routing rules. There was no single place to see or change them, and they broke quietly whenever a format drifted.</p><p></p><p>So we re-built Streams to now become a self managed data pipeline capability with a new UI, and routing to any endpoint, such as Amazon S3. We also moved Streams in front of the cluster which allowed it to focus on managing the data pipeline. Processing now happens before data lands anywhere, which changes what filtering and routing mean. Anything that’s processed can be sent to S3, Elasticsearch, or both, so you have full control over where you store your telemetry. If you already use Streams with wired or classic streams, those keep working; the new model is an evolution of the same product. With the new Streams, you can: </p><p></p><ul><li><p>Store on your own terms.</p></li><li><p>See and manage the ingest and processing in our new UI.</p></li><li><p>Use it without configuring anything, since it’s fully managed.</p></li></ul><p></p><p>In the rest of this post, we walk through what it adds.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb3b24e2508b72c73/6af19e9b2f17b03e0039004e/streams-diagram.png" alt="Diagram comparing Streams inside Elasticsearch in 2025 with the new telemetry pipeline in front of it routing to S3" /><p></p><h2>Open by design: Store on your own terms in Amazon S3 or Elasticsearch</h2><p>Some data has to live in storage you control, whether that’s your own S3 bucket or a location that your compliance team has approved. Streams routes it there directly. A copy route sends the complete record to your bucket as newline-delimited JSON, so you keep everything. The route to Elasticsearch carries only the subset you query, and a filter on that route drops the debug noise before it reaches an index. You pay Elasticsearch storage and retention costs only for what you choose to index, and everything that you don’t index stays on infrastructure you control.</p><p></p><p>The data in your S3 bucket is meant to stay useful, too. The objects that Streams writes to S3 are designed to be queryable in place through <a href="https://www.elastic.co/docs/reference/query-languages/esql/esql-data-federation-quickstart">Elasticsearch Query Language (ES|QL) Data Federation</a>, which reads NDJSON and Parquet files straight from a bucket without ingesting them. Data Federation is now in private preview on Elastic Cloud Serverless. An investigation that needs a record you didn’t index could then reach for the bucket with the same query language that you use for Elasticsearch.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt326ef067be1b0ef4/6af19f21c462955c841802f8/streams-map.png" alt="Streams Map showing one log source routed to both an Elasticsearch data stream and an Amazon S3 bucket" /><p></p><h2>Ingest you can see and manage in Streams Map</h2><p>Most pipelines live in configuration files that are hard to manage at scale and terrible to debug. We built a new UI for this, Streams Map, which puts every source, pipeline, router, and destination on one screen. When you open a pipeline to edit its processors against a sample of your real data, you see the extracted fields before you save. Open a router to change the conditions that decide where data goes.</p><p></p><p>To version control your pipelines, export the whole configuration as a YAML file, and review it in a pull request. Then, import it into another environment. The map and the file describe the same streams.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt77ca6d37764ad6aa/6af19f68ee4b67526d3eb304/elastic-streams-pipeline-editor.png" alt="Elastic Streams pipeline editor with a GROK processor on the left and a live preview of parsed log data" /><p></p><h2>Zero ops; fully managed</h2><p>Streams is a fully managed Elastic Cloud service. There’s no pipeline infrastructure for you to install or run on-premises or in your own cloud account. For now, the private preview runs on Elastic Cloud Serverless only. Other Elastic deployment options will follow.</p><p>If you run your own <a href="https://opentelemetry.io/docs/collector/">OTel Collectors</a> today, four jobs are yours:</p><ul><li><p>Size them for peak volume.</p></li><li><p>Keep them patched.</p></li><li><p>Upgrade them without dropping data.</p></li><li><p>Work out which instance has the broken config when something stops arriving.</p></li></ul><p>With Streams, Elastic handles all four.</p><p>The processing runs in OTel Collectors that Elastic operates as part of Elastic Cloud. They sit outside Elasticsearch, so parsing and enrichment are finished before data reaches your project, as is routing, and none of that work is done on Elasticsearch compute. Indexing and search get the resources that would otherwise be spent preparing the data, while the collectors scale with your ingest volume.</p><p>What you do see is Streams Map. You edit pipelines and routers there, or import them from the YAML that you keep in version control, and the collectors pick up the change. There’s nothing for you to restart or redeploy. Your shippers point at the same Streams source throughout.</p><h2>How a telemetry pipeline works in Elastic Streams</h2><p>Under the hood, data comes in from a source, is shaped by a pipeline and branched by a router, and then lands in a destination. A <em>stream</em> is any path from a source to a destination, and the same model applies to logs, metrics, traces, and every other data type.</p><p></p><p><strong>Component</strong></p><p>What it is</p><p>Where it runs</p><p>Source</p><p>The endpoint your shippers send to; accepts OTLP, Prometheus Remote Write, and Elasticsearch bulk requests</p><p>Elastic Cloud Serverless</p><p>Pipeline</p><p>A sequence of processors that filter, parse, and enrich data</p><p>Elastic-managed OTel Collectors</p><p>Router</p><p>The conditions that decide which destination data goes to</p><p>Elastic-managed OTel Collectors</p><p>Destination</p><p>Where data lands: Amazon S3, Elasticsearch, or both</p><p>Your choice</p><p></p><p>Two of those pipelines overlap with things you already run, so here is how they differ:.</p><p></p><p></p><p><strong>Stream pipeline</strong></p><p><strong>Elasticsearch ingest pipeline</strong></p><p><strong>Runs in</strong></p><p>Elastic-managed OTel Collectors, outside the cluster</p><p>The Elasticsearch cluster</p><p><strong>Runs when</strong></p><p>Before data reaches any destination</p><p>At index time, on data already headed for an index</p><p></p><p>A Streams source is the endpoint that your shippers send to, which means the shippers themselves stay where they are. Streams accepts OTLP, Prometheus Remote Write, and Elasticsearch bulk requests. So Logstash, Elastic Agent, Beats, and <a href="https://www.elastic.co/docs/reference/opentelemetry">EDOT</a> point at a Streams source and keep sending, with no proprietary format to migrate into. With Streams, the parsing and enrichment that you would otherwise write in each shipper, as well as the routing, you now write once. In the future, Fleet-managed Elastic Agent will be able to point at a Streams source.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1461c5626b791b68/6af1a018d1a90d761e3fbc8b/telemetry-pipeline-model.png" alt="Telemetry pipeline model: source, pipeline and router in managed OTel Collectors, then Elasticsearch or S3" /><p></p><h2>What we want to learn in the Elastic Streams private preview</h2><p>The private preview is designed to help us understand how real environments use Streams and what they expect from it in terms of reliability and throughput, as well as latency. The answers will come from people who run Streams on their own data and tell us where it bends, which is why we’re looking for active design partners.</p><p></p><p>Design partners get early access to Streams, free of charge during the private preview, and a direct feedback loop with the product and engineering team. In return, they commit to a short weekly call with us for as long as the preview runs.</p><p></p><p>The best fit is a team on Elastic Cloud Serverless that runs telemetry from several kinds of shippers and has data that needs to land in an S3 bucket it controls. </p><p></p><p><strong>What you need to provide:</strong></p><p></p><ul><li><p>An S3 bucket you control and its AWS region.</p></li><li><p>An access key pair with write access to that bucket.</p></li></ul><p></p><p></p><p>Streams stores the keys as a sealed credential, so they never appear in the configuration that you export. </p><p></p><p>Data handling during the preview is best effort, so treat Streams as a second path beside the one you rely on; don’t route anything through Streams that you cannot afford to lose or cannot replay. </p><p></p><p>When the private preview ends, partners move into the public technical preview, and Streams becomes available more broadly, which we expect early next year.</p><h2>Sign up for a private preview</h2><p>We handpick customers to preview and partner with us in achieving a better design. Tell us about the shippers you run and the processing you do, along with where your data has to live. We’ll notify the partners we select by email. <a href="https://www.elastic.co/observability/streams-telemetry-pipelining/signup">Sign up</a> today.</p>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/elastic-streams-telemetry-pipeline-s3</link>
    <guid isPermaLink="false">elastic-streams-telemetry-pipeline-s3</guid>
    <category><![CDATA[Logs Analytics]]></category>
    <category><![CDATA[OpenTelemetry]]></category>
    <category><![CDATA[Data Management]]></category>
    <category><![CDATA[What's New]]></category>
    <dc:creator><![CDATA[Marcin Stożek]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt26ea98a0f265cccb/6af19d9ce90eec8d971fcfe5/elastic-streams.png" length="0" type="image/png"/>
    <pubDate>Tue, 10 Nov 2026 14:15:00 GMT</pubDate>
  </item>
  </channel>
</rss>