<?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[Nima Rezainia - 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[Nima Rezainia - 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/nima-rezainia</link>
    </image>
    <link>https://www.elastic.co/observability-labs/author/nima-rezainia</link>
    <atom:link href="https://www.elastic.co/observability-labs/rss/author/nima-rezainia.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[en]]></language>
    <lastBuildDate>Mon, 14 Sep 2026 20:03:51 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Elastic Agent now runs as an OpenTelemetry Collector: Less memory overhead, zero config changes]]></title>
    <description><![CDATA[Elastic Agent 9.3 sends logs, metrics and traces through one OTel Collector pipeline, running Beats integrations alongside native OTel sources in a single Fleet-managed agent.]]></description>
    <content:encoded><![CDATA[<p>Elastic Agent 9.3 uses less memory and accepts data from any OpenTelemetry-compatible (OTel-compatible) source out of the box.
Under the hood, the old Beats subprocess architecture has been replaced by a single OTel-native pipeline for logs, metrics, and traces, built on the Elastic Distribution of OpenTelemetry (EDOT) Collector.
Your existing integrations, dashboards, Fleet policies, alerting rules, and ingest pipelines all work without changes.</p>
<h2 id="whatchangedinelasticagent93anativeotelcollectorunderthehood">What changed in Elastic Agent 9.3: A native OTel Collector under the hood</h2>
<p>Previously, Elastic Agent acted as a supervisor process, spinning up Beats-based subprocesses, such as Filebeat or Metricbeat.
From 9.3 onward, that architecture has been replaced.
Elastic Agent itself is now built on the EDOT Collector, turning it into a first-class OTel Collector under the hood while preserving its original functionality.</p>
<p>Key benefits of this architectural shift include:</p>
<ul>
<li><strong>Reduced footprint:</strong> Fewer subprocesses mean significantly less memory overhead and a simpler deployment model. In future releases, this footprint will be even further reduced.</li>
<li><strong>Unified telemetry pipeline:</strong> Logs and metrics flow through a single, standards-based OTel pipeline, as do traces.</li>
<li><strong>Ecosystem interoperability:</strong> Elastic Agent can now receive data from any OTel-compatible source out of the box. It can also be configured to emit to OTel-compatible destinations.</li>
<li><strong>Aligned with the OTel ecosystem:</strong> As the OTel ecosystem matures with new receivers, processors, and exporters, Elastic Agent deployments gain access to those capabilities automatically.</li>
</ul>
<p>When you deploy or update Elastic Agent from version 9.3 onward, you're deploying an OpenTelemetry Collector.
EDOT is the technology foundation; Elastic Agent is the product.</p>
<h2 id="howexistingbeatsconfigurationsruninsidetheotelcollectorpipeline">How existing Beats configurations run inside the OTel Collector pipeline</h2>
<p>Elastic has introduced Beats Receivers, which are Beat inputs and processors that execute natively inside the new OTel Collector pipeline.
For your teams and customers, this means:</p>
<ul>
<li>Existing <code>elastic-agent.yml</code> configurations require no modification.</li>
<li>Fleet-managed agents automatically translate policy configurations into OTel format internally.</li>
<li>All integrations, dashboards, ingest pipelines, and alerting rules continue to function exactly as before.</li>
<li>Data written via Beats Receivers lands in the same data streams as always.</li>
</ul>
<p>Upgrading to 9.3 is transparent because it uses the same inputs and produces the same outputs.</p>
<h2 id="runningbeatsandotelcollectorpipelinesinoneelasticagent">Running Beats and OTel Collector pipelines in one Elastic Agent</h2>
<p>The new Elastic Agent is a collector capable of simultaneously running traditional Beats-based collections alongside native OTel pipelines, all in a single deployment.
One agent policy can collect Elastic Common Schema–schematized (ECS-schematized) data via Beats Receivers and ingest native OpenTelemetry Protocol (OTLP) data from OTel-instrumented applications and infrastructure.
This same agent policy can apply OTel processing stages across all telemetry before export.</p>
<p>OTel integrations from Elastic's catalog can be added to any agent policy.
When native OTel data is ingested, Elastic automatically installs the relevant dashboards and alerts, in addition to necessary content packs, without any manual setup.</p>
<h2 id="whatstherelationshipbetweenelasticagentandedot">What's the relationship between Elastic Agent and EDOT?</h2>
<p>You may be familiar with EDOT, the Elastic Distribution of OpenTelemetry Collector, as a stand-alone product.
With this architectural change, EDOT is the technology foundation that now powers Elastic Agent, not a separate product that users need to track or deploy independently.</p>
<p>Going forward, Elastic Agent is the supported, Fleet-manageable, fully featured product.
A stand-alone deployment remains available for specific niche scenarios (environments where the full version of Elastic Agent cannot be installed), but it isn't the recommended path for the vast majority of users.</p>
<h2 id="elasticagentdeploymentoptionsfleetmanagedvsstandalone">Elastic Agent deployment options: Fleet-managed vs. stand-alone</h2>
<p>|                            | <strong>Fleet-managed Elastic Agent</strong> | <strong>Stand-alone Elastic Agent</strong>                                                                           |
| :------------------------- | :-----------------------------: | :-----------------------------------------------------------------------------------------------------: |
| Fleet lifecycle management | Yes                             | Can enroll into Fleet in-field without reinstallation                                                   |
| Beats Receivers            | Yes                             | Yes                                                                                                     |
| Elastic Defend             | Yes                             | No                                                                                                      |
| Cloud Security             | Yes                             | No                                                                                                      |
| Profiler support           | Yes                             | No                                                                                                      |
| OTel-native pipeline       | Yes                             | Yes                                                                                                     |
| Best for                   | Most deployments                | Environments where full Elastic Agent cannot be installed or management is handled by other tools       |</p>
<h2 id="doineedtochangeanythingwhenupgradingtoelasticagent93">Do I need to change anything when upgrading to Elastic Agent 9.3?</h2>
<p>For users running Elastic Agent today, upgrading to 9.3 requires no changes to configurations or integrations, and no changes to workflows.
For customers evaluating OTel adoption, Elastic Agent now provides a fully supported, production-ready OTel Collector with Fleet management and rich integrations, along with Elastic's full support matrix, and none of this requires a separate OTel deployment.</p>
<p>With Elastic Agent 9.3, Elastic's data collection is fully OpenTelemetry-native.
Elastic Agent is now an OpenTelemetry Collector.
Everything you have today still works, and you also get all the capabilities of OTel.</p>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/opentelemetry-collector-elastic-agent</link>
    <guid isPermaLink="false">opentelemetry-collector-elastic-agent</guid>
    <category><![CDATA[OpenTelemetry]]></category>
    <category><![CDATA[Agentic Observability]]></category>
    <category><![CDATA[What's New]]></category>
    <dc:creator><![CDATA[Nima Rezainia]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt36d2c1da5195912a/6a859a7218249c7a3818ec86/header.jpg" length="0" type="image/jpeg"/>
    <pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Centrally Managing OTel Collectors with Elastic Agent and Fleet]]></title>
    <description><![CDATA[How Elastic Agent 9.3 unifies Beats and OpenTelemetry (OTel) data collection and delivers central management with Elastic Fleet.]]></description>
    <content:encoded><![CDATA[<p>"The dream of OpenTelemetry is vendor-neutral, standardised observability.
The challenge nobody mentions is how you operate hundreds, or thousands, of those collectors in production."</p>
<p>OpenTelemetry has won the hearts of the industry.
Adoption is accelerating: the CNCF's 2024 Observability survey found OTel to be the fastest-growing project in the foundation's history, with the OTel Collector registering hundreds of millions of downloads.
The proposition is compelling: write instrumentation once, ship it anywhere, avoid lock-in.</p>
<p>But here is what every platform team discovers once they cross into production: the collector sprawl problem.
Hundreds of collector instances deployed across regions, Kubernetes namespaces, and bare-metal hosts. Configuration drift creeping in.
An upgrade that has to be co-ordinated across a fleet of independent processes. A security patch that someone has to manually roll out to each one.
And zero visibility into which collectors are running, healthy, or stuck.</p>
<p>This is the gap between "deploying OpenTelemetry" and "operating OpenTelemetry at scale."
With Elastic 9.3, Elastic Agent closes that gap entirely.
The Elastic Agent is now built on Elastic's Distribution of the OpenTelemetry Collector (EDOT) and, when managed by Fleet, gives platform teams a single control plane for configuring, updating, and monitoring every OTel collector in their estate — all while remaining compatible with the Beats-based integrations they already rely on.</p>
<h2 id="thecollectorsprawlproblemandwhyitmatters">The Collector Sprawl Problem and Why It Matters</h2>
<p>OpenTelemetry's success has created a quiet operational debt for many organisations.
Individual teams adopt the collector for their services: logs here, metrics there, a custom pipeline for the new microservice.
Without a centralised management layer, each of these collectors becomes an independent snowflake: its own config file, its own upgrade cycle, its own failure domain.</p>
<p>The consequences are predictable.
Configuration drift means collectors running different versions of the same pipeline, producing subtly incompatible data.
Compliance teams ask "show me all the places data is collected and where it goes", and the honest answer is a spreadsheet that's already out of date.</p>
<p>This isn't a niche problem.
A Gartner analysis of enterprise observability programmes consistently identifies operational overhead as the top barrier to expanding OTel adoption beyond initial pilots.
The technology works. The tooling to manage it at scale is what's been missing.</p>
<h2 id="howelasticagentbecameanotelcollector">How Elastic Agent Became an OTel Collector</h2>
<p>To understand the significance of this, it helps to understand what Elastic Agent used to be, and what it is now.</p>
<p>Elastic Agent acts as a supervisor process: Before version 9.3, it managed a collection of separate Beats sub-processes (Filebeat, Metricbeat, Winlogbeat and so on), each running its own input/output lifecycle, each consuming its own memory footprint.
The agent coordinated them, but the fundamental model was a collection of discrete daemons running under a parent.</p>
<p>With 9.3, that model has been replaced.
Elastic Agent is now itself an instance of the EDOT Collector: Elastic's hardened, production-supported distribution of the upstream OTel Collector.
The architectural shift has three important consequences.</p>
<p><strong>First</strong>, the process model simplifies dramatically.
Instead of a supervisor managing multiple sub-process lifecycles, there is a single EDOT Collector process.
This means a smaller memory footprint, fewer things that can fail independently, and fewer processes to observe for health and performance.</p>
<p><strong>Second</strong>, Beats functionality is preserved, not discarded.
Rather than forcing a breaking migration, Elastic has introduced <em>Beats Receivers</em>: beat inputs and processors re-packaged as native OTel receiver components.
A Filestream input is enabled by a <code>filebeatreceiver</code>.
The same Filebeat configuration YAML you write today is automatically translated into the corresponding EDOT receiver configuration at runtime.
Existing integrations, dashboards, and ingest pipelines continue to work without modification.</p>
<p><strong>Third</strong>, the agent is now a first-class participant in the OTel ecosystem.
It speaks OTLP natively, it runs standard OTel receivers, and it can be configured to sit alongside any other OTel-compatible tool in a modern observability pipeline.</p>
<h2 id="centralmanagementwithfleetconfigurationlifecycleandvisibility">Central Management with Fleet: Configuration, Lifecycle, and Visibility</h2>
<p>The architectural shift above would be valuable on its own. But it becomes transformative when combined with Elastic Fleet, the centralised management plane for Elastic Agents.</p>
<p>Fleet gives platform and SRE teams a single console from which to manage every Elastic Agent (and by extension, every EDOT Collector instance) in their estate.
The capabilities break into three categories: configuration management, lifecycle management, and fleet-wide observability.</p>
<h3 id="configurationmanagementatscale">Configuration management at scale</h3>
<p>With Fleet, you define an <em>Agent Policy</em> — a declarative description of what a collector should do.
What data should it collect?
Via which receivers?
Where should it export?
The policy is authored once in Fleet's UI (or via its API), and pushed automatically to every agent enrolled in that policy.
Change the policy, and every affected collector receives the update.
No SSH.
No Ansible playbook to maintain.
No configuration drift.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt2e1a842db5fc2e33/6a7f042e9090b0979584e674/policy-health.jpg" alt="Fleet Policy Health" /></p>
<p>Fleet pushes policies to enrolled agents across any environment. Agents send heartbeat and health data back, giving a live inventory of every collector in the estate.</p>
<h3 id="lifecyclemanagementupgradesenrolmentandremediation">Lifecycle management: upgrades, enrolment, and remediation</h3>
<p>Perhaps the most operationally significant benefit of Fleet management is lifecycle control.
With Fleet, upgrading a collector is a policy action: select the target version, select the scope (all agents, a specific policy group, a canary subset), and click.
Fleet orchestrates the rolling upgrade, tracking status per agent and surfacing failures immediately.</p>
<p>This changes the security calculus fundamentally.
When a vulnerability is disclosed in the OTel Collector binary, patching is a Fleet operation measured in minutes, not a change-management ceremony measured in days across SSH sessions to individual hosts.</p>
<p>Fleet also handles enrolment and de-enrolment.
New hosts added to your infrastructure can be auto-enrolled into the appropriate policy based on tags or deployment tooling.
Agents on decommissioned hosts can be removed from Fleet's inventory, ensuring your observability map reflects your actual infrastructure.</p>
<h3 id="fleetwideobservabilityofyourcollectors">Fleet-wide observability of your collectors</h3>
<p>Every Fleet-managed Elastic Agent ships monitoring telemetry about itself: CPU and memory consumption, event throughput, error rates, pipeline latency.
This data flows into Elastic and is surfaced in the Fleet UI, giving you a live dashboard of every collector in your estate, not just the ones you happen to be watching.</p>
<p>For the first time, "how healthy is my observability pipeline?" becomes a question with a real-time, fleet-wide answer.
You can identify agents that have stopped sending data, agents consuming unexpectedly high resources, and agents that have fallen behind on queue processing — before those problems surface as gaps in your monitoring data.</p>
<p>In the near future this capability will be offered to non-Fleet managed agents (aka standalone) and/or 3rd party OTel collectors provided by other vendors.
These collectors can be configured via some other means but be monitored in Fleet - from both resource consumption and/or component pipeline health.</p>
<h2 id="thehybridagentbeatsdataandoteldatasimultaneously">The Hybrid Agent: Beats Data and OTel Data, Simultaneously</h2>
<p>One of the most practically significant capabilities introduced in 9.3 is what Elastic calls the <em>Hybrid Agent</em>: an Elastic Agent that can run both Beats-based receivers and native OTel receivers in the same pipeline, at the same time.
This does not change anything for existing installations.</p>
<p>This matters enormously for real-world adoption. Most organisations arriving at OTel in 2025 and 2026 are not starting from a blank slate.
They have years of investment in Beats-based integrations: Filebeat-powered log collection, Metricbeat-powered host metrics, bespoke ingest pipelines in Elasticsearch that normalise and enrich that data into ECS (Elastic Common Schema) format.
The business value locked in those integrations (the dashboards, the alerts, the correlation logic) is not something they can afford to throw away in order to "go OTel."</p>
<p>The Hybrid Agent solves this by making the two worlds coexist.
For example, in a single agent policy you can simultaneously configure:</p>
<ul>
<li>A <code>filebeatreceiver</code> collecting application logs in ECS format, routed through your existing ingest pipeline to its existing data stream</li>
<li>A native OTel <code>filelog</code> receiver collecting OTel-native telemetry from your new services instrumented with the OTel SDK, stored in OTel-native data streams without touching ingest pipelines</li>
<li>An OTel <code>hostmetrics</code> receiver collecting system metrics in semantic convention format alongside your existing Metricbeat-derived system metrics</li>
</ul>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltdc770c11207e91b9/6a7f0431b6b7349d41e48a0d/hybrid-agent.jpg" alt="Hybrid Agent" /> </p>
<p>The two lanes are independent.
Beats-receiver data travels through ingest pipelines and lands in ECS-formatted data streams, exactly as it always has.
Native OTel data follows OTel semantic conventions and is stored directly in OTel-native data streams, bypassing ingest pipelines.
Your existing dashboards and alerts continue to work. Your new OTel-native workloads get the full OTel experience.
The same agent, the same Fleet policy, the same management console.</p>
<p>This co-existence is the practical answer to the question every platform team eventually faces: "We want to adopt OTel properly but we can't break what we already have."
The Hybrid Agent lets you migrate incrementally, service by service, on your timeline.</p>
<h2 id="theintegrationcatalogueturningconfigurationintoaoneclickoperation">The Integration Catalogue: Turning Configuration into a One-Click Operation</h2>
<p>Configuration management at scale is only as good as the configurations themselves.
Elastic's integration catalogue — over 500 packages covering everything from NGINX and PostgreSQL to AWS CloudTrail and Kubernetes — extends naturally to the Hybrid Agent model.</p>
<p>From 9.3 onwards, the catalogue includes <em>OTel integration packages</em> alongside the existing Beats-based ones. Each OTel package contains two components:</p>
<ul>
<li>An <em>Input package</em>: the configuration for the corresponding OTel receiver (receivers, processors, pipeline wiring), ready to be applied to a Hybrid Agent policy</li>
<li>A <em>Content package</em>: the assets associated with the application: pre-built dashboards, alerts, index templates, and saved queries, all calibrated for OTel semantic convention data</li>
</ul>
<p>When an operator adds an OTel integration to an Agent Policy in Fleet, the receiver configuration is pushed to all enrolled agents.
When those agents start ingesting data and it arrives in Elasticsearch, the content package assets are automatically installed based on metadata in the data received.
The dashboard is ready before you've had time to wonder where it is.</p>
<p>The same policy can hold both OTel integrations and legacy Beats integrations.
A real-world agent policy might simultaneously collect system metrics via the OTel <code>hostmetrics</code> receiver, application logs via <code>filebeat</code> receiver, and APM data via OTLP — all from one policy, all managed from Fleet, all visible in a unified Kibana experience.</p>
<p>A technical walk through of how this is done for NGINX data collection can be found <a href="https://www.elastic.co/observability-labs/blog/hybrid-elastic-agent-opentelemetry-integration">here</a> for reference.
Currently management of Elastic Agents is done via existing Fleet protocols, however in the near future this will move over to OPAMP so that Fleet will be able to provide management to 3rd party OTel collectors as well.</p>
<p>For organisations on platforms not yet in Elastic's OS support matrix, 3rd-party OTel Collectors (such as Red Hat's OpenShift-native collector) can send data to Elastic using the OTLP exporter and be observed  alongside all other collectors in their fleet.</p>
<h2 id="whatthismeansinpracticeamigrationstory">What This Means in Practice: A Migration Story</h2>
<p>Consider a mid-sized platform team operating 200 Linux hosts across three regions, currently running Elastic Agent 8.x with a mix of Filebeat and Metricbeat integrations.
Their new services are being instrumented with the OTel SDK and they want to standardise on OTel going forward without disrupting the monitoring coverage they already have.</p>
<p>With a Fleet-managed upgrade to 9.3, their existing agents become Hybrid Agents automatically.
Their Filebeat and Metricbeat configurations are internally translated to Beats receiver configurations and continue to run unmodified.
Their existing dashboards still populate. Their ingest pipelines still fire. Nothing breaks.</p>
<p>They then add OTel integration packages to their Fleet policies for each new service. The OTel-instrumented microservices start sending OTLP data, received by native OTel receivers in the same agents.
OTel-native dashboards appear automatically in Kibana. They now have both data universes in one place, managed from one console, visible in one interface.</p>
<p>Over the following quarters, as Beats-based integrations for their remaining services are superseded by OTel equivalents in the catalogue, they migrate them one by one, updating the Agent Policy in Fleet and watching the transition happen across all 200 hosts simultaneously, without touching a single one directly.</p>
<h2 id="lookingforward">Looking Forward</h2>
<p>Elastic has made a clear architectural bet: OpenTelemetry is the future of observability data collection, and the right response to that future is not to build a parallel OTel tool alongside the existing stack — it is to evolve the existing stack into OTel.
The Hybrid Agent and EDOT Collector are the result of that bet.</p>
<p>Fleet central management is the operational layer that makes that bet practical at scale.
OpenTelemetry gives you standardised, vendor-neutral instrumentation.
Fleet gives you the operational control plane to manage those collectors like the production infrastructure they are, not like artisanal YAML files scattered across your estate.</p>
<p>The collector sprawl problem is solvable.
The answer is a managed, policy-driven, centrally observable fleet of EDOT Collectors, and in Elastic 9.3, that answer is production-ready today.</p>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/centrally-managed-otel-collectors-with-elastic-fleet</link>
    <guid isPermaLink="false">centrally-managed-otel-collectors-with-elastic-fleet</guid>
    <category><![CDATA[OpenTelemetry]]></category>
    <dc:creator><![CDATA[Nima Rezainia]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb7bd3640a2e19035/6a7f0435eab5be18e220a318/header.jpg" length="0" type="image/jpeg"/>
    <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Pivoting Elastic's Data Ingestion to OpenTelemetry]]></title>
    <description><![CDATA[Elastic has fully embraced OpenTelemetry as the backbone of its data ingestion strategy, aligning with the open-source community and contributing to make it the best data collection platform for a broad user base. This move benefits users by providing enhanced flexibility, efficiency, and control over telemetry data.]]></description>
    <content:encoded><![CDATA[<p>Elastic has fully embraced OpenTelemetry as the backbone of its data ingestion strategy, aligning with the open-source community and contributing to make it the best data collection platform for a broad user base. This move benefits users by providing enhanced flexibility, efficiency, and control over telemetry data.</p>
<h2 id="whyopentelemetry">Why OpenTelemetry?</h2>
<p>OpenTelemetry provides a powerful set of capabilities that make it a compelling choice for open-source-focused users. Elastic is re-architecting its data ingest tools around OpenTelemetry to offer users vendor-agnostic flexibility, performance optimization through OTel's efficient data model for correlating telemetry, and enhanced flexibility and control over data pipelines. This move brings the benefits of open-source telemetry to Elastic users.</p>
<p>Elastic engineers are active contributors to the Otel project in several areas of the project. Demonstrating its commitment to open source, Elastic continues to make significant <a href="https://opentelemetry.devstats.cncf.io/d/5/companies-table?orgId=1%5C&amp;var-period_name=Last%20year&amp;var-metric=contributions">contributions to OpenTelemetry</a>.</p>
<h2 id="opentelemetryasthecoreofelasticsdataingestion">OpenTelemetry as the Core of Elastic's Data Ingestion</h2>
<p>Elastic is transforming its data ingestion strategy by basing all ingestion mechanisms on the OpenTelemetry components. Elastic currently supports the following OTel based ingest architecture, which support OTel SDKs and Collectors from OTel or Elastic's Distribution of OpenTelemetry (EDOT). </p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt274ee07c460ad240/6a7f06003ce8e286bdcf50d4/edot-components.png" alt="EDOT components" /></p>
<p>This marks a fundamental shift, ensuring a more standardized and scalable telemetry pipeline. All the existing Elastic ingest components will become OTel based.</p>
<p>|                              |                                                                                                 |
| ---------------------------- | ----------------------------------------------------------------------------------------------- |
| <strong>Beats</strong>                    | Beats architecture will be based on OTel.                                                       |
| <strong>Elastic Agent</strong>            | Agent architecture will be based on OTel to support both beats based inputs and OTel receivers. |
| <strong>Integrations</strong>             | Integrations catalogue will additionally include OTel based modules for ease of configuration.  |
| <strong>Fleet central management</strong> | Fleet will support monitoring of Elastic OTel collectors.                                       |</p>
<p>Let's discuss how each component of Elastic's data ingestion platform will be based on an OpenTelemetry collector whilst still providing the same functionality to the user.</p>
<h3 id="beats">Beats</h3>
<p>Elastic's traditional data shippers will be re-architected as OpenTelemetry Collectors, aligning with OTel's extensibility model. Current Beat architecture is essentially made up of a few stages in its pipeline, as shown in the diagram below. It consists of an Input, Processors for enrichments, Queuing of events and Output for batching and writing the data to a specific output.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt8449b5e3334e82a0/6a7f060233fa8a7cc32023e8/filebeat.png" alt="filebeat" /></p>
<h4 id="beatreceiverconcept">Beatreceiver Concept</h4>
<p>To ensure a smooth transition without major disruptions, a "beatsreceiver" concept is being implemented. These <code>beatreceivers</code> (like <code>filebeatreceiver</code> or <code>metricbeatreceiver</code>) act as dedicated Beat inputs integrated into the OpenTelemetry Collector as native receivers. They support all existing inputs and processors, guaranteeing that the final architecture accepts the user's current configuration and delivers the same functionality as today's Beats, all without introducing any breaking changes.</p>
<p>An OTel based Beats architecture will see the Input phase embedded as an OTel receiver (eg.  <code>filebeatreceiver</code> to represent the functionality of <code>filebeat</code>). This receiver would only be available as part of Elastic's distribution of OTel in support of our current user base and not a functionality that would be available upstream.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt9b96ac33c2582cb0/6a7f06059090b0591984e72b/filebeatreceiver.png" alt="filebeat" /></p>
<p>All the remaining components of the pipeline will be based on OTel. The new Beat will accept the same filebeat configuration (as an example) and will transform it to an OTel based configuration in order to avoid any deployment disruption. It should be noted that in this architecture the Beats will continue to only support ECS formatted data. In order to keep the Beat functionality inline with what exists today, the Elasticsearch exporter (as an example) will output ECS formatted data only.</p>
<p>The following diagram illustrates the <code>beatreceiver</code> concept by showing how a basic <code>filebeat</code> configuration is automatically translated into an OpenTelemetry-based configuration. This new configuration retains the original inputs and processors but leverages the native OpenTelemetry pipeline and exporter to achieve the same overall <code>filebeat</code> functionality. Existing <code>filebeat</code> configurations will be automatically converted, eliminating the need for manual adjustments or introducing breaking changes.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf043398fe986d14a/6a7f060873d9bd339329d8a8/elastic-agent-otel-config.png" alt="Filebeat OTel config" /></p>
<h3 id="elasticagent">Elastic Agent</h3>
<p>Elastic Agent is a unified agent for data collection, security, and observability. It can also be deployed in an OpenTelemetry only mode, enabling native OTel workflows. Elastic Agent is a supervisor that manages many other Beats as sub-processes in order to provide a more comprehensive data collection tool. It is capable of translating Agent Policy received from Fleet into configuration acceptable by the various sub-processes.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt58723135028419eb/6a7f060bbdcff0806ec42b5d/elastic-agent-architecture.png" alt="Elastic Agent Architecture" /></p>
<p>Expanding on the Beat receiver concept described above, the Elastic Agent, which currently can be deployed as an OTel collector (see <a href="https://www.elastic.co/observability-labs/blog/elastic-distributions-opentelemetry-ga">blog</a>), will be also modified to a much simpler OTel based architecture based on these receivers. As shown below, this architecture will streamline the components within the Elastic Agent and remove duplicated functionality such as queuing and output. Whilst supporting the current functionality, these changes will reduce the agent footprint and also present a reduction in number of connections opened to pipeline elements egress of the agent (such as Elasticsearch clusters, Logstash or Kafka brokers).</p>
<p>By moving to an OTel based architecture Elastic Agent is now able to operate as a truly hybrid Elastic Agent which provides not only the Beat functionality but also allows our users to create OTel native pipelines and take advantage of plethora of functionality available as part of the open source project.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb64f338f976e9efa/6a7f060d1967ea49ed33043d/elastic-agent-otel-architecture.png" alt="Elastic Agent OTel Architecture" /></p>
<p>Elastic's commitment to OpenTelemetry will deepen through increased contributions, resulting in OpenTelemetry receivers gradually superseding Beats receiver features. This evolution will eventually reduce the need for a distinct Beats receiver within the Elastic Agent architecture. The envisioned architecture will empower the Elastic Agent to transmit data in OTLP format as well, granting users the flexibility to select any OTLP-compatible backend, thereby upholding the principle of vendor neutrality.</p>
<h3 id="fleetintegrationsmanagingopentelemetryatscale">Fleet &amp; Integrations: Managing OpenTelemetry at Scale</h3>
<p>Elastic's centralized management system will support OpenTelemetry-based configurations, making large-scale deployments easier to manage. Managing thousands of telemetry agents at scale presents a significant challenge. Elastic's <strong>Fleet &amp; Integrations</strong> simplify this process by providing robust lifecycle management for these new OpenTelemetry-based Elastic agents.</p>
<p><strong>Key Capabilities Offered:</strong></p>
<ul>
<li><p><strong>Scalability:</strong> Manage up to 100K+ agents across distributed environments.</p></li>
<li><p><strong>Automated Upgrades:</strong> Staged rollouts and automatic upgrades ensure minimal downtime.</p></li>
<li><p><strong>Monitoring &amp; Diagnostics:</strong> Real-time status updates, failure detection, and diagnostic downloads improve system reliability.</p></li>
<li><p><strong>Policy-Based Configuration Management:</strong> Enables centralized control over agent configurations, improving consistency across deployments.</p></li>
<li><p><strong>Pre-Built Integrations:</strong> Elastic offers a catalog of <strong>470+ pre-built integrations</strong>, allowing users to ingest data seamlessly from various sources. These will also include OTel based packages making configuration much more efficient across a large deployment.</p></li>
</ul>
<p>The goal is for Fleet to also provide monitoring capabilities for native OTel collectors as well in a vendor agnostic fashion.</p>
<h2 id="conclusion">Conclusion</h2>
<p>Elastic's adoption of OpenTelemetry marks a significant milestone in the evolution of open-source observability. By standardizing on OpenTelemetry, Elastic is ensuring that its data ingestion strategy remains <strong>open, scalable, and future-proof</strong>.</p>
<p>For open-source users, this shift means:</p>
<ul>
<li><p>Greater interoperability across observability tools.</p></li>
<li><p>Enhanced flexibility in choosing telemetry backends.</p></li>
<li><p>A stronger commitment to <strong>community-driven</strong> observability standards.</p></li>
<li><p>Existing Beats and Elastic Agent users can <strong>seamlessly adopt OpenTelemetry</strong> without rearchitecting their pipelines.</p></li>
<li><p>OpenTelemetry users can <strong>integrate with Elastic's observability stack</strong> without additional complexity.</p></li>
</ul>
<p>Stay tuned for more updates as Elastic continues to expand its OpenTelemetry-based data collection capabilities! In the mean time here are some other references:</p>
<ul>
<li><p><a href="https://www.elastic.co/observability-labs/blog/elastic-distributions-opentelemetry-ga">Elastic Distributions of OpenTelemetry (EDOT) Now GA</a></p></li>
<li><p><a href="https://www.elastic.co/observability-labs/blog/k8s-discovery-with-EDOT-collector">Dynamic workload discovery on Kubernetes now supported with EDOT Collector</a></p></li>
<li><p><a href="https://www.elastic.co/observability-labs/blog/introducing-the-ottl-playground-for-opentelemetry">Introducing the OTTL Playground for OpenTelemetry</a></p></li>
</ul>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/elastic-agent-pivot-opentelemetry</link>
    <guid isPermaLink="false">elastic-agent-pivot-opentelemetry</guid>
    <category><![CDATA[OpenTelemetry]]></category>
    <category><![CDATA[APM]]></category>
    <dc:creator><![CDATA[Nima Rezainia]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltefce6a6a29657306/6a7f06101967ea2e1f330443/self-service-blog-image-templates.jpg" length="0" type="image/jpeg"/>
    <pubDate>Tue, 03 Jun 2025 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>