opentelemetry-collector/docs
Juliano Costa 20600a6096
fix typo (#13049)
Fix small typo
2025-05-19 08:31:55 +00:00
..
img [service/internal] Allow components to transition from PermanentError to Stopping (#10958) 2024-12-17 13:02:44 +00:00
rfcs [chore] Generate codecov badge for all READMEs (#12962) 2025-05-05 15:26:50 +00:00
README.md fix typo (#13049) 2025-05-19 08:31:55 +00:00
coding-guidelines.md [chore] Add naming guidance for modules prefix (#12479) 2025-02-25 22:40:14 +00:00
component-stability.md [chore] Document scalability, performance and resiliency requirements for stable components (#12994) 2025-05-12 11:54:44 +00:00
component-status.md [chore] Added spell check (#12671) 2025-03-20 18:53:25 +00:00
ga-roadmap.md [chore] Explicitly note that service and otelcol are not part of 1.0 (#10643) 2024-07-31 10:42:04 +02:00
internal-architecture.md Documentation improvements - Internal Architecture Doc + Package level comments (#10068) 2024-05-20 22:33:02 +02:00
observability.md [docs] Fix links `syslist.go` (#12388) 2025-02-14 15:50:35 +00:00
platform-support.md [docs] Fix links `syslist.go` (#12388) 2025-02-14 15:50:35 +00:00
release.md [chore] update docs/release.md (#13033) 2025-05-13 22:50:39 +00:00
scraping-receivers.md Update whitespace for list formatting (#12569) 2025-03-06 21:05:37 +00:00
security-best-practices.md [docs] Remove end-user content from security README (#12002) 2025-01-10 11:20:45 +00:00
standard-warnings.md Add standard warnings for components (#5558) 2022-06-27 09:24:06 -07:00
vision.md [docs] Clean up internal observability docs (#10454) 2024-06-28 10:25:13 +02:00

README.md

OpenTelemetry Collector

Status: Beta

The OpenTelemetry Collector consists of the following components:

These combined provide users the ability to easily switch between OpenTelemetry Collector Distributions while also ensuring that components produced by the OpenTelemetry Collector SIG are able to work with any vendor who claims support for an OpenTelemetry Collector.

Configuration file

An OpenTelemetry Collector configuration file is defined as YAML and MUST support the following minimum structure:

receivers:
processors:
exporters:
connectors:
extensions:
service:
  telemetry:
  pipelines:

OpenTelemetry Collector components

For a library to be considered an OpenTelemetry Collector component, it MUST implement a Component interface defined by the OpenTelemetry Collector SIG.

Components require a unique identifier to be included in an OpenTelemetry Collector. In the event of a name collision, the components resulting in the collision cannot be used simultaneously in a single OpenTelemetry Collector. In order to resolve this, the clashing components must use different identifiers.

Compatibility requirements

A component is defined as compatible with an OpenTelemetry Collector when its dependencies are source- and version-compatible with the Component interfaces of that Collector.

For example, a Collector derived from version tag v0.100.0 of the OpenTelemetry Collector MUST support all components that are version-compatible with the Golang Component API defined in the github.com/open-telemetry/opentelemetry-collector/component module found in that repository for that version tag.

OpenTelemetry Collector Distribution

An OpenTelemetry Collector Distribution (Distro) is a compiled instance of an OpenTelemetry Collector with a specific set of components and features. A Distribution author MAY choose to produce a distribution by utilizing tools and/or documentation supported by the OpenTelemetry project. Alternatively, a Distribution author MUST provide end users with the capability for adding their own components to the Distribution's components. Note that the resulting binary from updating a Distribution to include new components is a different Distribution.