﻿---
title: View OTel Collectors in Fleet
description: View OpenTelemetry Collectors in the Fleet Agents list and inspect an individual collector's health, pipeline, and configuration.
url: https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8127/reference/fleet/view-otel-collectors
products:
  - Elastic Agent
  - Fleet
applies_to:
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Preview since 9.4
---

# View OTel Collectors in Fleet
After you add OpenTelemetry (OTel) Collectors in Fleet, you can view them in the **Agents** list and open an individual collector to inspect its health, pipeline topology, metadata, and running configuration.

## View OTel Collectors in the Agents list

The **Fleet** → **Agents** page lists OTel Collectors alongside Elastic Agents. For each collector, the list shows its status, host name, CPU and memory usage, last activity timestamp, and version.
Two columns behave differently for collectors than for Elastic Agents:
- **Agent policy** shows a dash (`-`), because collectors use managed policies.
- **Version** shows the version the collector reports for itself, not an Elastic Stack version. An upstream OTel Collector reports its own release number, such as `0.144.0`.

**CPU** and **Memory** show `N/A` unless [internal telemetry](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8127/reference/fleet/add-otel-collector-internal-telemetry) is enabled for the collector.
To open a collector, click its host name in the list.

### Filter the list to show only collectors

You can narrow the list to OTel Collectors in two ways:
- From the **Tags** filter, select the tag that corresponds to your collectors. Each collector is automatically tagged with the value of its `service.name` attribute. If you added the collector through the **Add collector** flow, this is the **Service name** you supplied, which defaults to a slug of the collector group display name, such as `otel-collector-group`. Elastic Agent running in OTel mode reports `elastic-otel-collector` as its service name, so that value becomes its tag. Any labels you enter in the **Tags** field of the **Add collector** flow are added as additional tags.
- From the **Agent policies** filter, select **OpAMP**. Fleet creates this managed policy automatically when you add your first collector, and enrolls every collector into it. The policy is hidden from the **Agent policies** tab, but it appears in this filter.


### Available actions

Collectors support a smaller set of actions than Elastic Agents. From the **Actions** menu on the collector's details page, or the actions menu in its row in the **Agents** list, you can:
- **View agent JSON**: Inspect the raw agent document for the collector.
- **Remove collector** <applies-to>Elastic Stack: Preview since 9.5</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>: Remove the collector from Fleet. Fleet asks you to confirm before removing it. This action requires the **Agents** privilege set to `All`, and is unavailable for inactive collectors. Refer to [Fleet privileges](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8127/reference/fleet/fleet-roles-privileges).

<applies-to>Elastic Stack: Preview since 9.5</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to> Removing a collector removes it from the **Agents** list only. It doesn't stop the collector process, and its enrollment credentials stay valid, so a collector that's still running can reconnect and reappear in the list. To stop a collector from reporting to Fleet for good, remove the `opamp` extension from its configuration and restart it.
<applies-to>Elastic Stack: Preview since 9.5</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to> To remove several collectors at once, select them in the **Agents** list, then choose **Remove collectors** from the bulk actions menu.

## Open the collector details

<applies-switch>
  <applies-item title="{ stack: preview 9.5+, serverless: preview }" applies-to="Elastic Cloud Serverless: Preview, Elastic Stack: Preview since 9.5">
    A collector's details page shows a **Collector (OpAMP)** badge next to the host name, and two tabs: **Collector details** and **Logs**.The **Collector details** tab contains three sections, from top to bottom:
    1. A [visualization of the collector's pipelines](#visualize-the-collector-pipeline).
    2. A panel with **Health**, **Info**, and **Config** tabs, covering [health](#health-in-the-collector-details-panel), [metadata](#review-collector-metadata), and the [effective configuration](#view-the-effective-configuration).
    3. An [**Error patterns**](#investigate-error-patterns) table.
    The **Settings** and **Diagnostics** tabs that appear for Elastic Agents aren't shown, because neither applies to a collector.
  </applies-item>

  <applies-item title="{ stack: preview =9.4 }" applies-to="Elastic Stack: Preview in 9.4">
    A collector's details page shows four tabs: **Agent details**, **Logs**, **Diagnostics**, and **Settings**.The **Agent details** tab has two columns: an **Overview** panel with the collector's [metadata](#review-collector-metadata), and a [**Component health**](#health-in-the-classic-agent-details-view) panel.The **Diagnostics** and **Settings** tabs appear, but neither applies to a collector. Requesting a diagnostics bundle isn't supported, and the **Agent logging level** setting has no effect on a collector. Both tabs are removed for collectors in 9.5.
  </applies-item>
</applies-switch>


## Review collector metadata

<applies-to>Elastic Stack: Preview since 9.5</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to> Open the **Info** tab of the collector details panel.
<applies-to>Elastic Stack: Preview in 9.4</applies-to> Refer to the **Overview** panel on the **Agent details** tab.

| Field                                                                           | Description                                                                                                                                             |
|---------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Name** <applies-to>Elastic Stack: Preview since 9.5</applies-to>              | The per-instance display name reported by the collector. Shows a dash (`-`) unless you set **Collector display name** when adding the collector.        |
| **Agent ID**                                                                    | The UUID assigned to this collector instance, matching `instance_uid` in its OpAMP configuration.                                                       |
| **Agent status**                                                                | Current status of the collector, such as `Healthy`, `Unhealthy`, or `Offline`.                                                                          |
| **Last activity**                                                               | Time of the most recent check-in.                                                                                                                       |
| **Last checkin message**                                                        | Status message from the last check-in, such as `StatusOK`.                                                                                              |
| **Service name** <applies-to>Elastic Stack: Preview since 9.5</applies-to>      | The collector's `service.name` attribute. Also used as its automatic tag.                                                                               |
| **Service version**                                                             | The version the collector reports for itself. For an upstream collector, this is its own release number rather than an Elastic Stack version.           |
| **CPU** <applies-to>Elastic Stack: Preview in 9.4</applies-to>                  | Average CPU usage over the last 5 minutes. Requires internal telemetry.                                                                                 |
| **Memory** <applies-to>Elastic Stack: Preview in 9.4</applies-to>               | Average memory usage over the last 5 minutes. Requires internal telemetry.                                                                              |
| **Agent policy** <applies-to>Elastic Stack: Preview in 9.4</applies-to>         | Shows a dash (`-`), because collectors use managed policies.                                                                                            |
| **Host name**                                                                   | Name of the host running the collector.                                                                                                                 |
| **Host ID**                                                                     | Host identifier. Usually shows a dash (`-`) for collectors.                                                                                             |
| **Host architecture** <applies-to>Elastic Stack: Preview since 9.5</applies-to> | CPU architecture of the host, such as `arm64`.                                                                                                          |
| **OS** <applies-to>Elastic Stack: Preview since 9.5</applies-to>                | Operating system type, such as `darwin`, `linux`, or `windows`.                                                                                         |
| **Platform** <applies-to>Elastic Stack: Preview since 9.5</applies-to>          | Full operating system description, such as `macOS 26.6.2`.                                                                                              |
| **Platform** <applies-to>Elastic Stack: Preview in 9.4</applies-to>             | Operating system type, such as `darwin`, `linux`, or `windows`.                                                                                         |
| **Collector group** <applies-to>Elastic Stack: Preview since 9.5</applies-to>   | The collector group this instance belongs to.                                                                                                           |
| **Pipelines** <applies-to>Elastic Stack: Preview since 9.5</applies-to>         | Number of pipelines defined in the collector's configuration.                                                                                           |
| **Enrolled** <applies-to>Elastic Stack: Preview since 9.5</applies-to>          | When the collector first enrolled in Fleet.                                                                                                             |
| **Tags**                                                                        | Tags assigned to the collector. Refer to [Filter the list to show only collectors](#filter-the-list-to-show-only-collectors) for how these are derived. |
| **Capabilities**                                                                | The OpAMP capabilities the collector reports, such as `ReportsHealth`, `ReportsStatus`, `ReportsEffectiveConfig`, and `ReportsAvailableComponents`.     |

<applies-to>Elastic Stack: Preview in 9.4</applies-to> On 9.4, several fields use different labels for the same values: **Status** instead of **Agent status**, **Agent version** instead of **Service version**, and **Collector capabilities** instead of **Capabilities**.

## Visualize the collector pipeline

<applies-to>
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Preview since 9.5
</applies-to>

The top of the **Collector details** tab draws the collector's pipelines as a graph, so you can see how telemetry flows from receivers through to exporters without reading the YAML.
The graph is built from the collector's effective configuration, so it renders even when the collector is offline.

### Choose which pipelines to display

Use the **Pipeline** selector above the graph:
- **All pipelines** displays every pipeline in the configuration.
- Individual pipelines are listed by their configuration ID, such as `logs`, `metrics`, or `metrics/host`.
- When a signal type has more than one pipeline, an option to display all pipelines for that signal also appears.

If the configuration defines no pipelines, the graph is replaced by a **No pipelines configured** message.

### Read the graph

Each node is a pipeline component, labeled with its type and its configuration ID, and color-coded by type. The graph draws receivers, processors, exporters, and connectors. Extensions aren't drawn, because they don't participate in a pipeline.
The layout depends on your selection:
- When a single pipeline is displayed, components are laid out left to right in the order data flows through them.
- When several pipelines are displayed, each becomes a labeled container, with its components nested inside. A connector that exports from one pipeline and receives into another is drawn with a dashed line between the two containers.

When health data is available, each node shows a status indicator using the same states described in [Check collector health](#check-collector-health). A pipeline container aggregates the health of the components inside it.
Use the controls in the lower-left corner to zoom in, zoom out, or fit the graph to the panel. The graph refits automatically when you change the pipeline selection.
Click any node to open the [component detail panel](#inspect-a-pipeline-component). Click it again, or click an empty area of the canvas, to close the panel.

## Check collector health

A collector reports its own health, and the health of each component in its pipelines, over OpAMP. Where Fleet displays this depends on your version.

### Health in the collector details panel

<applies-to>
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Preview since 9.5
</applies-to>

The **Health** tab of the collector details panel summarizes the collector's overall state:

| Field                  | Description                                                                                          |
|------------------------|------------------------------------------------------------------------------------------------------|
| **Health status**      | Overall health reported by the collector.                                                            |
| **Start time**         | When the collector process started.                                                                  |
| **Uptime**             | How long the collector has been running, shown relative to its start time.                           |
| **Last health update** | When the collector last reported health data.                                                        |
| **Last error**         | The most recent error the collector reported. This row appears only when an error has been reported. |

If the collector is offline, inactive, unenrolled, or uninstalled, the tab shows a **Collector is not active** message instead. Health data is only available while a collector is running.
Below the summary, **Component health** breaks down health per pipeline. A badge next to the heading rolls up the totals across all pipelines, such as `6 healthy` or `4 healthy, 2 unhealthy`, followed by the time of the last update.
Expand a pipeline to see its components, grouped by type: **Receivers**, **Connectors**, **Processors**, and **Exporters**. Each pipeline shows its own component count and health badge. Components reporting an error display the error message beneath them.
Click any component to open the [component detail panel](#inspect-a-pipeline-component).
Components report one of three health states:

| State         | Meaning                                                                                           |
|---------------|---------------------------------------------------------------------------------------------------|
| **Healthy**   | The component reported `StatusOK` or `StatusStarting`. Shown with a green indicator.              |
| **Unhealthy** | The component reported a recoverable, permanent, or fatal error. Shown with an amber indicator.   |
| **Unknown**   | The component reported `StatusNone`, or no health data was received. Shown with a grey indicator. |

A pipeline indicator is green when every component in it is healthy, red when none are, and amber when some are.

### Health in the classic agent details view

<applies-to>
  - Elastic Stack: Preview in 9.4
</applies-to>

The **Component health** panel on the **Agent details** tab shows **Collector status** at the top, followed by a section for each configured pipeline and one for extensions.
Within each section, click **Components** to expand the list of individual components, each labeled with its type and configuration ID, such as `Receiver: otlp` or `Exporter: elasticsearch/otel`.
Each component and section displays a colored indicator:

| Indicator | Meaning                                              |
|-----------|------------------------------------------------------|
| Green     | The component is healthy.                            |
| Yellow    | The component reported a degraded or warning status. |
| Red       | The component reported any other unhealthy status.   |

Components that aren't healthy display the status the collector reported, such as `StatusPermanentError`, along with any error details.

## Inspect a pipeline component

<applies-to>
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Preview since 9.5
</applies-to>

Clicking a component in the pipeline graph or in the **Component health** list opens a detail panel titled with the component's type and ID, such as `Receiver: otlp`. Its current health status appears in the panel header.
The panel has up to three tabs.

### Health


| Field               | Description                                                                             |
|---------------------|-----------------------------------------------------------------------------------------|
| **Status**          | The component's health state: **Healthy**, **Unhealthy**, or **Unknown**.               |
| **Reported status** | The raw status string the collector reported, such as `StatusOK`.                       |
| **Last updated**    | When this component last reported health data.                                          |
| **Last error**      | The most recent error for this component. Appears only when an error has been reported. |


### Metrics

This tab is available for receivers, processors, and exporters. It isn't available for connectors, or when you select a whole pipeline.
Metrics come from the collector's own telemetry, so this tab shows **No metrics data available** unless you've [added internal telemetry](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8127/reference/fleet/add-otel-collector-internal-telemetry) to the collector.
Select a time range of **5m**, **15m**, or **1h**. Depending on the component type, up to three groups of charts are shown:
- **Throughput**: Rate of telemetry the component accepted or sent.
- **Errors**: Rate of failed items.
- **Queue**: Current queue size and capacity, for exporters that queue data.


### Config

Displays the component's own configuration as YAML, which you can copy. For receivers, processors, exporters, and connectors, a **View component documentation** link opens the upstream OpenTelemetry documentation for that component type.
When you select a whole pipeline, this tab shows the pipeline's wiring instead: its receivers, processors, and exporters.

## Investigate error patterns

<applies-to>
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Preview since 9.5
</applies-to>

The **Error patterns** table at the bottom of the **Collector details** tab groups similar error and warning messages from the collector's own logs, so you can spot recurring problems without reading through every log line.
This table reads the collector's internal telemetry logs. It stays empty unless you've [added internal telemetry](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8127/reference/fleet/add-otel-collector-internal-telemetry) to the collector. Only logs recorded since the collector enrolled are included.
A summary above the table reports how many patterns were found, across how many logs, for the selected time range. Use the controls to change what's shown:
- Select a time range of **Last 5 minutes**, **Last 1 hour**, **Last 1 day**, or **Last 1 week**.
- Switch between **Errors** and **Warnings**. Each button shows its own count.
- Sort by **Most frequent** or **Most recent**.

For each pattern, the table shows its **Level**, the detected **Pattern**, its **Count**, **First seen** and **Last seen** timestamps, an **Example message**, and the **Component** that produced it. Click the icon in the last column to explore the matching logs in **Discover**.

## View the effective configuration

The effective configuration is the configuration the collector is actually running. It can differ from the configuration file you wrote, because the collector resolves environment variables and merges multiple configuration sources.
<applies-switch>
  <applies-item title="{ stack: preview 9.5+, serverless: preview }" applies-to="Elastic Cloud Serverless: Preview, Elastic Stack: Preview since 9.5">
    Open the **Config** tab of the collector details panel. The configuration is displayed as YAML, with a badge showing its line count. You can copy it, expand it to full screen, or click **Download** to save it as a YAML file.
  </applies-item>

  <applies-item title="{ stack: preview =9.4 }" applies-to="Elastic Stack: Preview in 9.4">
    On the **Agent details** tab, click **View Collector Configuration**. A flyout opens showing the effective configuration as YAML, which you can copy or save using **Download Configuration**.
  </applies-item>
</applies-switch>


## Related pages

- [Monitor OpenTelemetry Collectors in Fleet](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8127/reference/fleet/monitor-otel-collectors)
- [Add internal telemetry to an OTel Collector monitored by Fleet](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/8127/reference/fleet/add-otel-collector-internal-telemetry)
- [Troubleshoot OTel Collectors in Fleet](/elastic/docs-content/pull/8127/troubleshoot/ingest/fleet/common-problems#opentelemetry-collectors-in-fleet)