---
title: Collect OpenTelemetry data with Elastic Agent integrations
description: Fleet supports installing Elastic Agent integration packages for collecting and visualizing OpenTelemetry data such as logs, metrics, and traces.
url: https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/4236/reference/fleet/otel-integrations
products:
  - Elastic Agent
  - Fleet
---

# Collect OpenTelemetry data with Elastic Agent integrations
Fleet now supports installing Elastic Agent integration packages for collecting and visualizing OpenTelemetry (OTel) data such as logs, metrics, and traces. To find the available OpenTelemetry integration packages, open the **Integrations** page in Kibana, then select the **OpenTelemetry** category.
There are two types of OpenTelemetry integration packages:
- Input packages which include an OTel Collector configuration.
- Content packages which include Elasticsearch and Kibana assets such as prebuilt dashboards and visualizations.

Unlike Elastic Agent integrations based on the [Elastic Common Schema](https://docs-v3-preview.elastic.dev/elastic/ecs/tree/main/reference) (ECS), OpenTelemetry input packages use OTel Collector receivers to collect OTel data following [OpenTelemetry semantic conventions](https://opentelemetry.io/docs/specs/semconv).
When OTel data is collected using an OpenTelemetry input package, content packages with assets related to the collected data type are automatically installed if available.
<important>
  OpenTelemetry input packages are used with Fleet and Elastic Agent running in default mode. They are distinct from [running Elastic Agent as an EDOT Collector](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/4236/reference/fleet/otel-agent), and cannot be used on Elastic Agent running in `otel` mode.
</important>


## Configure OpenTelemetry input packages

The installation and configuration of OpenTelemetry input packages is similar to that of ECS-based integrations and allow you to specify the namespace, dataset name, data stream type, and more. For more information, refer to [Add an integration to an Elastic Agent policy](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/4236/reference/fleet/add-integration-to-policy).
When the integration policy for the input package is created, Fleet creates a managed index template with an OTel configuration and an index pattern with an `.otel` suffix. The index template uses Fleet component templates for settings and OTel component templates for default mappings. It also includes `@custom` component templates that allow you to [customize your Elasticsearch index](/elastic/docs-content/pull/4236/reference/fleet/data-streams#data-streams-index-templates-edit) similarly to ECS-based integrations.
On the OpenTelemetry input package's **Configs** page, you can view a generated sample configuration, which you can use as a starting point to set up the integration on a standalone Elastic Agent.
This is a partial configuration as it does not include an exporter component. For more information on setting up the exporter, refer to [Elasticsearch exporter](https://docs-v3-preview.elastic.dev/elastic/elastic-agent/tree/main/reference/edot-collector/components/elasticsearchexporter).
<note>
  Currently, OpenTelemetry input packages only support sending data using the Elasticsearch output.
</note>


## Compatibility with ECS-based integrations

Elastic Agent policies can include configurations for both ECS-based integrations and OpenTelemetry input packages, essentially converting the Elastic Agents enrolled in the policy into hybrid agents.
Only Elastic Agents on version 9.2 or later can collect OTel data using OpenTelemetry input packages. OpenTelemetry input packages added to an agent policy do not affect enrolled agents on prior versions.