Collector components 🔗
The OpenTelemetry Collector includes the following component types:
Receivers: Get data into the Collector from multiple sources.
Processors: Perform operations on data before it’s exported. For example, filtering.
Exporters: Send data to one or more backends or destinations.
Extensions: Extend the capabilities of the Collector.
You can activate components by configuring service pipelines in the Collector configuration. See Configure the Collector to learn how to define multiple instances of components as well as their pipelines.
The Splunk Distribution of OpenTelemetry Collector includes and supports the components listed on this doc.
Note
The following lists might not contain all the latest additions. For a complete list of Collector components, including components that aren’t included in the Splunk Distribution of OpenTelemetry Collector, see the opentelemetry-contrib
repository in GitHub.
Name |
Description |
Pipeline types |
---|---|---|
|
Pulls logs from an Azure event hub. |
Logs |
|
Receives metrics in Carbon plaintext protocol. |
Metrics |
|
Connects to the Reverse Log Proxy (RLP) gateway of Cloud Foundry to extract metrics. |
Metrics |
|
Receives data exported through the CollectD |
Metrics |
Databricks receiver ( |
Uses the Databricks API to generate metrics about the operation of a Databricks instance. |
Metrics |
|
Wraps the receiver creator to facilitate the discovery of metric collection targets. See Discover and configure metrics sources automatically. |
Logs |
Filelog receiver ( |
Tails and parses logs from files. |
Logs |
Fluent Forward receiver ( |
Runs a TCP server that accepts events through the Fluentd Forward protocol. |
Logs |
Host metrics receiver ( |
Generates system metrics from various sources. Use this receiver when deploying the Collector as an agent. |
Metrics |
Jaeger receiver ( |
Receives trace data in Jaeger format. |
Traces |
|
Parses Journald events from the systemd journal. The |
Logs |
Kubernetes cluster receiver ( |
Collects cluster-level metrics from the Kubernetes API server. It uses the Kubernetes API to listen for updates. You can use a single instance of this receiver to monitor a cluster. |
Metrics |
|
Collects all new and updated events from the Kubernetes API server. Supports authentication through service accounts only. |
Logs |
|
Collects objects from the Kubernetes API server. Supports authentication through service accounts only. |
Logs |
|
Collects Kafka metrics such as brokers, topics, partitions, and consumer groups from Kafka server, and converts them to OTLP format. |
Metrics |
|
Receives metrics, logs, and traces from Kafka. Metrics and logs only support the OTLP format. |
Metrics, logs, traces |
Kubelet stats receiver ( |
Pulls pod metrics from the API server on a kubelet. |
Metrics |
MongoDB Atlas receiver ( |
Retrieves metrics from MongoDB Atlas using their monitoring APIs. |
Metrics |
Oracle Database receiver ( |
Connects to an Oracle Database instance and obtains metrics such as physical reads, CPU, time, and others. |
Metrics |
|
Receives data through gRPC or HTTP using OTLP format. |
Metrics, logs, traces |
PostgreSQL receiver ( |
Queries the PostgreSQL statistics collector. Supports PostgreSQL version 9.6 and higher. |
Metrics |
Prometheus receiver ( |
Provides a simple configuration interface to scrape metrics from a single target. |
Metrics |
Simple Prometheus receiver ( |
Wraps the |
Metrics |
Receiver creator receiver ( |
Instantiates other receivers at runtime based on whether observed endpoints match a configured rule. To use the receiver creator, configure one or more observer extensions to discover networked endpoints. |
N/A |
|
Retrieves Redis |
Metrics |
|
Receives traces from other collectors or from the SignalFx Smart Agent. |
Traces |
SignalFx receiver ( |
Accepts metrics and logs in the proto format. |
Metrics, logs |
Smart Agent receiver ( |
Uses the existing Smart Agent monitors as Collector metric receivers. Learn more in Use Smart Agent monitors with the Collector. |
Metrics |
Splunk HEC receiver ( |
Accepts telemetry in the Splunk HEC format. |
Metrics, logs, traces |
|
Runs custom SQL queries to generate metrics from a database connection. |
Metrics |
|
Collects StatsD messages to generate metrics. |
Metrics |
Syslog receiver ( |
Parses syslog messages received over TCP or UDP. |
Logs |
|
Receives logs over TCP. |
Logs |
|
Receives logs over UDP. |
Logs |
|
Tails and parses logs from the Windows Event log API. |
Logs |
Windows Performance Counters receiver ( |
Collects the configured system, application, or custom performance counter data from the Windows Registry. |
Metrics |
Zipkin receiver ( |
Receives spans from Zipkin versions 1 and 2. |
Traces |
Name |
Description |
Pipeline types |
---|---|---|
Attributes processor ( |
Modifies attributes of a span or log record. |
Logs, traces |
Batch processor ( |
Accepts spans, metrics, or logs and places them into batches. Batching helps better compress the data and reduce the number of outgoing connections required to transmit the data. This processor supports both size-based and time-based batching. |
Metrics, logs, traces |
Filter processor ( |
Can be configured to include or exclude metrics based on metric name in the case of the |
Metrics |
Group by attributes processor ( |
Reassociates spans, log records, and metric data points to a resource that matches with the specified attributes. As a result, all spans, log records, or metric data points with the same values for the specified attributes are grouped under the same resource. |
Metrics, logs, traces |
Kubernetes attributes processor ( |
Allows automatic tagging of spans, metrics, and logs with Kubernetes metadata. Formerly known as |
Metrics, logs, traces |
Memory Limiter processor ( |
Prevents out of memory situations on the Splunk Distribution of OpenTelemetry Collector. |
Metrics, logs, traces |
|
Renames metrics, and adds, renames, or deletes label keys and values. |
Metrics |
|
Provides samples based on hash values determined by trace IDs. |
Traces |
Resource processor ( |
Applies changes to resource attributes. Attributes represent actions that can be applied on resources. |
Metrics, logs, traces |
Resource detection processor ( |
Detects resource information from the host, in a format that conforms to the OpenTelemetry resource semantic conventions, and appends or overrides the resource value in telemetry data with this information. |
Metrics, logs, traces |
|
Reads a header from the incoming HTTP request or reads a resource attribute, and then directs the trace information to specific exporters based on the value. |
Metrics, logs, traces |
|
Modifies either the span name or attributes of a span based on the span name. |
Traces |
|
Samples traces based on a set of defined policies. All spans for a given trace must be received by the same Collector instance for effective sampling decisions. |
Traces |
Transform processor ( |
Modifies telemetry based on OpenTelemetry Transformation Language functions. |
Metrics, logs, traces |
Name |
Description |
Pipeline types |
---|---|---|
|
Writes pipeline data to a JSON file in Protobuf JSON encoding using the OpenTelemetry protocol. |
Metrics, logs, traces |
|
Exports metrics, logs, and traces to Kafka using a synchronous producer. |
Metrics, logs, traces |
Logging exporter ( |
Exports data to the console. By default, |
Metrics, logs, traces |
OTLP exporter ( |
Exports data through gRPC using the OTLP format. By default, this exporter requires TLS and provides queued retry capabilities. |
Metrics, logs, traces |
OTLP/HTTP exporter ( |
Exports data in OTLP format over the HTTP protocol. |
Metrics, logs, traces |
Splunk APM exporter ( |
Allows the Splunk Distribution of OpenTelemetry Collector to export traces from multiple nodes or services in a single batch. |
Traces |
SignalFx exporter ( |
Sends metrics, events, and trace correlation to Splunk Observability Cloud. |
Logs (events), metrics, traces (trace to metric correlation only) |
Splunk APM exporter ( |
Exports traces from multiple nodes or services in a single batch. |
Traces |
Splunk HEC exporter ( |
Sends telemetry to a Splunk HEC endpoint. |
Metrics, logs, traces |
Name |
Description |
---|---|
Basicauth extension ( |
Implements both |
|
Detects and reports container endpoints discovered through the Docker API. Only containers that are in the state of |
|
Uses the ECS and EC2 API to discover Prometheus scrape targets from all running tasks and filter them based on service names, task definitions, and container labels. Only compatible with the Prometheus receiver. |
|
Persists state to the local file system. Requires read and write access to a diectory. |
Health Check extension ( |
Activates an HTTP URL that can be probed to check the status of the OpenTelemetry Collector. You can also use this extension as a liveness or readiness probe on Kubernetes. |
|
Accepts HTTP requests and optionally adds headers and forwards them. The RequestURIs of the original requests are preserved by the extension. |
|
Looks at the current host for listening network endpoints. Uses the /proc file system and requires the |
|
Uses the Kubernetes API to discover pods running on the local node. See Receiver creator receiver for more information. |
Memory Ballast extension ( |
Configures the memory ballast for the Collector process, either as a size in megabytes or as a size expressed as a percentage of the total memory. Sufficient ballast enhances the stability of Collector deployments. |
|
Activates the golang |
|
Provides a mechanism to set configuration options that are applicable to all instances of the Smart Agent receiver. Allows to migrate your existing Smart Agent configuration to the Splunk Distribution of OpenTelemetry Collector. |
zPages extension ( |
Activates an extension that serves zPages, an HTTP endpoint that provides live data for debugging different components. |
Read on to learn how to: