open-telemetry/opentelemetry-collector

DevOps & Self-hosting

A vendor-neutral telemetry pipeline that replaces a stack of per-backend agents with one receive-process-export collector.

7,708
2,318
Go
Apache-2.0
7 years old

If you run several observability backends, the OpenTelemetry Collector is worth evaluating before you install another bespoke agent. It is a general-purpose telemetry pipeline, not a dashboard or a managed service, so budget time for configuration as well as deployment.

The problem

A team sends traces, metrics and logs to more than one backend, or is migrating between vendors. Each source format tends to arrive with its own agent, so operators run and maintain several forwarding processes and keep several sets of credentials and routing rules in sync. The desired end state is a single hop: applications emit OTLP, one collector receives it, and the collector decides what to sample, batch or redact before export. The step that changes is the middle of the pipeline; the result is one configuration surface for routing telemetry to open-source or commercial backends.

What's different

The project describes itself as a vendor-agnostic implementation for receiving, processing and exporting telemetry, explicitly aimed at removing the need to run and maintain multiple agents or collectors for formats such as Jaeger and Prometheus (project README). That framing matters because the collector is not tied to one storage vendor: the same deployment can fan data out to several destinations, and new protocol support can be added as components rather than as a second daemon. Configuration is the mechanism, so the practical benefit is centralised control over what leaves your network and in what shape.

The trade-off is that this control is exercised through a configuration file and a component model, not through a GUI. The README points to separate documentation for component stability levels, which is the right thing to read before depending on a particular receiver, processor or exporter in production. Being a library as well as a binary also matters: the README discusses Go version tracking for library users (compatibility notes), so embedding the collector in another Go program carries its own compatibility expectations.

Who should try it

A good fit is a platform or observability team that already runs OTLP-emitting services and wants one collection layer between them and two or more backends, or wants to normalise data before it is stored. A poor fit is a single small application whose only requirement is to send telemetry straight to one SaaS endpoint: adding a collector introduces a component to deploy and configure for no routing benefit in that setup, unless you specifically want a local processing boundary. Teams evaluating vendor migration can start from the getting-started path and compare a minimal pipeline against their current agent fleet.

Requirements and limitations

You need somewhere to run the collector and a configuration that names the receivers, processors and exporters you actually use; the README's getting-started link is the entry point rather than a set of defaults you can ignore. Component stability is graded, so the stability documentation determines whether a chosen piece is safe to treat as a stable contract. If you consume the collector as a Go library, the supported Go minor versions move with the Go release policy, and dropping support for an unsupported version is not a breaking change (README compatibility section); that affects build pipelines more than binary deployments.

Operationally, the released container images are signed and the README documents verifying them with cosign (signature verification instructions). That is a genuine supply-chain check, not a promise that a given pipeline configuration or upgrade will be trouble-free, so keep configuration under review alongside image updates.

HotRepo's take

HotRepo's only recorded observation is 2026-10-27, when the repository had 7,704 stars and gained 10 stars that day, ranking on the daily board once (HotRepo snapshot). One dated sample is not enough to judge whether interest is rising or fading, and the project's 2019 creation date says nothing about current maintenance quality. The decision-relevant check is narrower: confirm that every receiver, processor and exporter in your intended configuration meets the stability level you need before standardising on this collector.

Written by AI from the project's README, updated October 27, 2026. The project's own docs are the source of truth.