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 and fields depend on the collector version selected in the toolbar. The following lists cover the common set.

Receivers

ReceiverDescription
otlpOTLP over gRPC or HTTP. The most common entry point.
prometheusScrape Prometheus metrics endpoints.
datadogReceive telemetry from Datadog agents.
filelogTail and parse log files.
hostmetricsHost system metrics, such as CPU, memory, disk, and network.
jaegerJaeger traces over gRPC, HTTP, or UDP.
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.

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. Metrics pipelines only.
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.

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.

Next steps

Connect components into pipelines. See Canvas & pipelines.

Last updated on

On this page