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.

ReceiverProcessorExporterConnectorExtension
TypeRoleConnections
ReceiverReceives telemetry from a sourceOutgoing only
ProcessorTransforms telemetry in flightIncoming and outgoing
ExporterSends telemetry to a destinationIncoming only
ConnectorJoins two pipelines, as the exporter of one and the receiver of the nextBoth, across pipelines
ExtensionAdds capabilities outside the data pathNone

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 depend on the configuration's collector distribution, and the components and their fields depend on the collector version selected in the toolbar. The following lists cover the palette for OpenTelemetry Collector Contrib.

Receivers

ReceiverDescription
otlpOTLP over gRPC or HTTP. The most common entry point.
prometheusScrape Prometheus metrics endpoints.
datadogReceive telemetry from Datadog agents.
docker_statsContainer CPU, memory, network, and block I/O metrics from the Docker daemon's stats API. Metrics pipelines only, Linux only; the collector needs read access to the Docker socket.
filelogTail and parse log files. A collector that runs in a container sees only mounted paths: a server fleet's deploy group dialog lists the directories the receiver's include and exclude paths point at under Read/write paths, and a Kubernetes supervisor fleet's under This config references paths with no matching volume mount, so you can add a read-only volume mount for each. See Volume mounts.
fluentforwardReceive logs from Fluent Bit and Fluentd forward outputs over TCP or a Unix socket. Logs pipelines only; TLS and the Forward handshake are not supported.
hostmetricsHost system metrics, such as CPU, memory, disk, and network.
jaegerJaeger traces in the legacy Jaeger formats: gRPC, Thrift over HTTP, and Thrift compact or Thrift binary over UDP. gRPC, Thrift HTTP, and Thrift compact are enabled by default.
journaldRead the systemd journal as log records. Linux only; the collector needs the journalctl binary and read access to the journal.
zipkinZipkin trace spans.
k8s_clusterKubernetes cluster-level metrics.
k8s_eventsKubernetes events.
k8sobjectsKubernetes object state.
kubeletstatsKubelet and container metrics.
netflowNetwork flow data.
syslogSyslog messages.
statsdStatsD metrics.

Processors

ProcessorDescription
batchBatch telemetry before export. Telflo recommends it on most pipelines to reduce export calls.
memory_limiterLimit collector memory use. Place it first when used.
resourceAdd or modify resource attributes.
attributesAdd, update, or remove attributes on spans, data points, or logs.
filterDrop telemetry that matches a condition.
probabilistic_samplerHead-based sampling at a fixed rate.
tail_samplingPolicy-based trace sampling after spans complete.
k8sattributesEnrich telemetry with Kubernetes metadata.
redactionRemove or mask attribute values.
cumulativetodeltaConvert cumulative metrics to delta.
resourcedetectionDetect resource attributes from the host and cloud environment.
transformApply OTTL statements to telemetry.
logdedupAggregate identical log records within an interval and emit one record with a duplicate count. Logs pipelines only.
spanRename spans from attribute values, extract attributes from span names with regex capture groups, or override span status. Traces pipelines only.
groupbyattrsRegroup spans, metrics, and logs into resources keyed by the listed attribute values; with no keys, compact records that share a resource. Pair it with batch.
metricstransformRename metrics, add or rename labels, scale values, and aggregate across labels or label values, within a batch only. Metrics pipelines only.

Exporters

ExporterDescription
otlpOTLP over gRPC. The most common destination.
otlphttpOTLP over HTTP.
datadogSend traces, metrics, and logs to Datadog.
prometheusExpose pipeline metrics at a /metrics endpoint for a Prometheus server to scrape. Pull-based; metrics pipelines only.
prometheusremotewritePush metrics to a Prometheus remote-write endpoint, such as Prometheus, Cortex, Mimir, Thanos, or ClickStack. Metrics pipelines only. TLS is required by default, so a plain http:// endpoint needs Disable TLS.
loadbalancingDistribute telemetry across backend endpoints.
zipkinSend trace spans to a Zipkin backend.
clickhouseSend traces, metrics, and logs to ClickHouse tables. ClickHouse performs best with large batched inserts; keep async inserts on or add a batch processor upstream.
debugPrint telemetry to the collector console.
fileWrite 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.

ConnectorDescription
spanmetricsGenerate request, error, and duration (RED) metrics from spans.
forwardForward 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.
routingRoute telemetry to different pipelines of the same signal type with an ordered table of OTTL conditions, for example by tenant, environment, or severity. Telemetry that matches no route goes to the default pipelines, or is dropped when none are set. The input and output signal types must match. Target and default pipelines are chosen in the connector's configuration rather than drawn as edges; the canvas shows them as dashed route edges. See Canvas & pipelines.

Extensions

Extensions add capabilities that are not part of a pipeline.

ExtensionDescription
health_checkExpose an HTTP health endpoint.
pprofExpose a performance-profiling endpoint.
zpagesExpose in-process debug pages.
file_storagePersist state to disk, such as file offsets and sending queues. On a container install, its directory needs a writable volume mount, or the checkpoints are lost when the container restarts; a server fleet's deploy group dialog lists the directory under Read/write paths, and a Kubernetes supervisor fleet's under This config references paths with no matching volume mount. See Volume mounts.
opampConnect the collector to an OpAMP server for remote management over WebSocket or HTTP polling. Reports the effective configuration and health, and can accept restart commands.
memory_limiterThe same limits as the memory_limiter processor, applied before requests are decoded. Not in the stock Contrib distribution, so validation against Contrib reports it as unknown; ClickStack includes it.
bearertokenauthA static bearer-token authenticator, referenced from a receiver or exporter as auth.authenticator: bearertokenauth. Takes a token, a token list, or a token file.
oidcVerify incoming bearer JWTs against one or more OIDC providers, matched by issuer, referenced from a receiver as auth.authenticator: oidc.

Collector distributions

A configuration's collector distribution is chosen when the configuration is created and decides which components the palette offers. A configuration on OpenTelemetry Collector Contrib, the default, offers the full palette above. A ClickStack configuration, available in private preview, offers only the components the ClickStack collector ships and hides the rest. On ClickStack 2.36.0 that is the otlp, prometheus, datadog, docker_stats, filelog, fluentforward, hostmetrics, k8s_cluster, and kubeletstats receivers; every processor; the otlp, otlphttp, prometheusremotewrite, clickhouse, and debug exporters; the forward and routing connectors; and every extension, except oidc on ClickStack versions before 2.35.0. A component that ClickStack does not ship is also reported by validation if it reaches the YAML. Configurations created through the API or the CLI are always on OpenTelemetry Collector Contrib. See Key concepts and Managing configurations.

Next steps

Connect components into pipelines. See Canvas & pipelines.

Last updated on

On this page