Components
The component library: receivers, processors, exporters, connectors, and extensions.
OpenTelemetry Collector pipelines are built from five kinds of components. Each has its own role and connection rules.
| Type | Role | Connections |
|---|---|---|
| Receiver | Receives telemetry from a source | Outgoing only |
| Processor | Transforms telemetry in flight | Incoming and outgoing |
| Exporter | Sends telemetry to a destination | Incoming only |
| Connector | Joins two pipelines, as the exporter of one and the receiver of the next | Both, across pipelines |
| Extension | Adds capabilities outside the data path | None |
To add a component, drag it from the palette onto the canvas. The palette is grouped by type, and each component is color-coded on the canvas.
The available components and fields depend on the collector version selected in the toolbar. The following lists cover the common set.
Receivers
| Receiver | Description |
|---|---|
otlp | OTLP over gRPC or HTTP. The most common entry point. |
prometheus | Scrape Prometheus metrics endpoints. |
datadog | Receive traces and metrics from Datadog agents. |
filelog | Tail and parse log files. |
hostmetrics | Host system metrics, such as CPU, memory, disk, and network. |
jaeger | Jaeger traces over gRPC, HTTP, or UDP. |
zipkin | Zipkin trace spans. |
k8s_cluster | Kubernetes cluster-level metrics. |
k8s_events | Kubernetes events. |
k8sobjects | Kubernetes object state. |
kubeletstats | Kubelet and container metrics. |
netflow | Network flow data. |
syslog | Syslog messages. |
statsd | StatsD metrics. |
Processors
| Processor | Description |
|---|---|
batch | Batch telemetry before export. Telflo recommends it on most pipelines to reduce export calls. |
memory_limiter | Limit collector memory use. Place it first when used. |
resource | Add or modify resource attributes. |
attributes | Add, update, or remove attributes on spans, data points, or logs. |
filter | Drop telemetry that matches a condition. |
probabilistic_sampler | Head-based sampling at a fixed rate. |
tail_sampling | Policy-based trace sampling after spans complete. |
k8sattributes | Enrich telemetry with Kubernetes metadata. |
redaction | Remove or mask attribute values. |
cumulativetodelta | Convert cumulative metrics to delta. |
resourcedetection | Detect resource attributes from the host and cloud environment. |
transform | Apply OTTL statements to telemetry. |
Exporters
| Exporter | Description |
|---|---|
otlp | OTLP over gRPC. The most common destination. |
otlphttp | OTLP over HTTP. |
datadog | Send traces, metrics, and logs to Datadog. |
loadbalancing | Distribute telemetry across backend endpoints. |
zipkin | Send trace spans to a Zipkin backend. |
debug | Print telemetry to the collector console. |
file | Write telemetry to a file. |
Connectors
A connector is both an exporter and a receiver. It consumes telemetry at the end of one pipeline and emits telemetry into another, and it can change the signal type in between.
| Connector | Description |
|---|---|
spanmetrics | Generate request, error, and duration (RED) metrics from spans. |
forward | Forward telemetry of the same signal type between pipelines: merge several pipelines into one, or fan one out into many. The input and output signal types must match, and it has no configuration. |
Extensions
Extensions add capabilities that are not part of a pipeline.
| Extension | Description |
|---|---|
health_check | Expose an HTTP health endpoint. |
pprof | Expose a performance-profiling endpoint. |
zpages | Expose in-process debug pages. |
file_storage | Persist state to disk, such as file offsets and sending queues. |
Next steps
Connect components into pipelines. See Canvas & pipelines.
Last updated on