The OpenTelemetry project facilitates the collection of telemetry data via the OpenTelemetry Collector. The OpenTelemetry Collector offers a vendor-agnostic implementation on how to receive, process, and export telemetry data. It removes the need to run, operate, and maintain multiple agents/collectors in order to support open-source observability data formats (e.g. Jaeger, Prometheus, etc.) sending to one or more open-source or commercial back-ends. In addition, the Collector gives end-users control of their data. The Collector is the default location instrumentation libraries export their telemetry data.
The Collector may be offered as a distribution, see here for more information.
The OpenTelemetry Collector provides a single binary and two deployment methods:
For information on how to use the Collector see the getting started documentation.
The Collector is made up of the following components:
receivers
: How to get data into the Collector; these can be push or pull
basedprocessors
: What to do with received dataexporters
: Where to send received data; these can be push or pull basedThese components are enabled through pipelines
. Multiple instances of
components as well as pipelines can be defined via YAML configuration.
For more information about these components see the configuration documentation.
The OpenTelemetry project provides two versions of the Collector: