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.

The FleetAgents 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 is enabled for the collector.

To open a collector, click its host name in the list.

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.

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 : 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.

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.

To remove several collectors at once, select them in the Agents list, then choose Remove collectors from the bulk actions menu.

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.
  2. A panel with Health, Info, and Config tabs, covering health, metadata, and the effective configuration.
  3. An Error patterns table.

The Settings and Diagnostics tabs that appear for Elastic Agents aren't shown, because neither applies to a collector.

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, and a Component health 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.

Open the Info tab of the collector details panel.

Refer to the Overview panel on the Agent details tab.

Field Description
Name 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 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 Average CPU usage over the last 5 minutes. Requires internal telemetry.
Memory Average memory usage over the last 5 minutes. Requires internal telemetry.
Agent policy 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 CPU architecture of the host, such as arm64.
OS Operating system type, such as darwin, linux, or windows.
Platform Full operating system description, such as macOS 26.6.2.
Platform Operating system type, such as darwin, linux, or windows.
Collector group The collector group this instance belongs to.
Pipelines Number of pipelines defined in the collector's configuration.
Enrolled When the collector first enrolled in Fleet.
Tags Tags assigned to the collector. Refer to 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.

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.

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.

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.

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. 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. Click it again, or click an empty area of the canvas, to close the panel.

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.

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.

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.

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.

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.

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.

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 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.

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.

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 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.

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.

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.

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.