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.
Connectors: Send telemetry data between different collector pipelines.
You can activate components by configuring service pipelines in the Collector configuration. See Get started: Understand and use the Collector to learn how to define multiple instances of components as well as their pipelines.
The Splunk Distribution of the 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 |
---|---|---|
Apache Web Server receiver ( |
Fetches stats from a Apache Web Server. |
Metrics |
Apache Spark receiver ( |
Fetches metrics for an Apache Spark cluster through the Apache Spark REST API. |
Metrics |
Azure event hub receiver ( |
Pulls logs from an Azure event hub. |
Logs |
Carbon receiver ( |
Receives metrics in Carbon plaintext protocol. |
Metrics |
Cloud Foundry receiver ( |
Connects to the Reverse Log Proxy (RLP) gateway of Cloud Foundry to extract metrics. |
Metrics |
CollectD receiver ( |
Receives data exported through the CollectD |
Metrics |
Discovery receiver ( |
Wraps the receiver creator to facilitate the discovery of metric collection targets. See Discover telemetry sources automatically. |
Logs |
Elasticsearch receiver ( |
Queries the Elasticsearch node stats, cluster health and index stats endpoints to scrape metrics from a running Elasticsearch cluster. |
Metrics |
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 |
HAProxy receiver ( |
Generates metrics by polling periodically the HAProxy process through a dedicated socket or HTTP URL. |
Metrics |
Host metrics receiver ( |
Generates system metrics from various sources. Use this receiver when deploying the Collector as an agent. |
Metrics |
HTTP check receiver ( |
Performs synthethic checks against HTTP endpoints. |
Metrics |
Jaeger receiver ( |
Receives trace data in Jaeger format. |
Traces |
JMX receiver ( |
Works in conjunction with the OpenTelemetry JMX Metric Gatherer to report metrics from an MBean server. |
Metrics |
Journald receiver ( |
Parses Journald events from the systemd journal. The |
Logs |
Kafka receiver ( |
Receives metrics, logs, and traces from Kafka. Metrics and logs only support the OTLP format. |
Metrics, logs, traces |
Kafka metrics receiver ( |
Collects Kafka metrics such as brokers, topics, partitions, and consumer groups from Kafka server, and converts them to OTLP format. |
Metrics |
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 |
Kubernetes events receiver ( |
Collects all new and updated events from the Kubernetes API server. Supports authentication through service accounts only. |
Logs |
Kubernetes objects receiver ( |
Collects objects from the Kubernetes API server. Supports authentication through service accounts only. |
Logs |
Kubelet stats receiver ( |
Pulls pod metrics from the API server on a kubelet. |
Metrics |
MongoDB receiver ( |
Fetches stats from a MongoDB instance using the Golang |
Metrics |
MongoDB Atlas receiver ( |
Retrieves metrics from MongoDB Atlas using their monitoring APIs. |
Metrics |
Microsoft SQL server receiver ( |
Grabs metrics from a Microsoft SQL Server instance. |
Metrics |
MySQL receiver ( |
Queries and retrieves metrics about MySQL’s global status and InnoDB tables. |
Metrics |
NGINX receiver ( |
Fetches stats from a NGINX instance using the |
Metrics |
Oracle Database receiver ( |
Connects to an Oracle Database instance and obtains metrics such as physical reads, CPU, time, and others. |
Metrics |
OTLP receiver ( |
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 |
RabbitMQ receiver ( |
Fetches stats from a RabbitMQ node using the RabbitMQ Management Plugin. |
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 |
Redis receiver ( |
Retrieves Redis |
Metrics |
SAPM receiver ( |
Receives traces from other collectors or from the SignalFx Smart Agent. |
Traces |
SignalFx Gateway Prometheus remote write receiver ( |
OTel native version of the SignalFx Prometheus remote write gateway. |
Metrics |
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 Enterprise receiver ( |
Enables the ingestion of performance metrics describing the operational status of a user’s Splunk Enterprise deployment. |
Metrics |
Splunk HEC receiver ( |
Accepts telemetry in the Splunk HEC format. |
Metrics, logs, traces |
SQL Query receiver ( |
Runs custom SQL queries to generate metrics from a database connection. |
Metrics |
SSH check receiver ( |
Creates stats by connecting to an SSH server, might be an SFTP server. |
Metrics |
StatsD receiver ( |
Collects StatsD messages to generate metrics. |
Metrics |
Syslog receiver ( |
Parses syslog messages received over TCP or UDP. |
Logs |
TCP log receiver ( |
Receives logs over TCP. |
Logs |
UDP log receiver ( |
Receives logs over UDP. |
Logs |
vCenter receiver ( |
Supports ESXi and vCenter. |
Metrics |
Wavefront receiver ( |
Accepts metrics and depends on the |
Metrics |
Windows event log receiver ( |
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 |
Cumulative to delta processor ( |
Convert cumulative monotonic metrics to delta aggretation temporality. This enhances the usage of cumulative metrics in Splunk Observability Cloud. |
Metrics |
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 |
Metrics transform processor ( |
Renames metrics, and adds, renames, or deletes label keys and values. |
Metrics |
Probabilistic sampler processor ( |
Supports several modes of sampling for spans and log records. |
Traces, logs |
Redaction processor ( |
Deletes span attributes that don’t match a list of allowed attributes. It also masks span attribute values that match a blocked value list. |
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 |
Routing processor ( |
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 |
Span processor ( |
Modifies either the span name or attributes of a span based on the span name. |
Traces |
Tail sampling processor ( |
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 |
---|---|---|
AWS S3 exporter ( |
This exporter targets to support proto/json format. |
Metrics, logs, traces |
File exporter ( |
Writes pipeline data to a JSON file in Protobuf JSON encoding using the OpenTelemetry protocol. |
Metrics, logs, traces |
Kafka exporter ( |
Exports metrics, logs, and traces to Kafka using a synchronous producer. |
Metrics, logs, traces |
Load balancing exporter ( |
Exports metrics, logs, and traces to different back-ends. |
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 |
Pulsar exporter ( |
Exports logs, metrics, and traces to Pulsar. |
Metrics, logs, 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 |
Docker Observer extension ( |
Detects and reports container endpoints discovered through the Docker API. Only containers that are in the state of |
ECS Observer extension ( |
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. |
ECS task observer extension ( |
Detects and reports container endpoints for the running ECS task of which your Collector instance is a member. |
File storage extension ( |
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. |
HTTP forwarder extension ( |
Accepts HTTP requests and optionally adds headers and forwards them. The RequestURIs of the original requests are preserved by the extension. |
Host observer extension ( |
Looks at the current host for listening network endpoints. Uses the /proc file system and requires the |
Kubernetes observer extension ( |
Uses the Kubernetes API to discover pods running on the local node. See Receiver creator receiver for more information. |
Memory Ballast extension (deprecated) ( |
|
OAuth2 Client Auth extension ( |
Provides OAuth2 Client Credentials flow authenticator for HTTP and gRPC based exporters. |
Pprof observer extension ( |
Activates the golang |
Smart Agent extension ( |
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. |
A connector connects different pipelines and helps you send telemetry data between them. A connector acts as an exporter to one pipeline and a receiver to another.
Each pipeline in the OpenTelemetry Collector acts on one type of telemetry data. If you need to process one form of telemetry data into another one, route the data accordingly to its proper collector pipeline.
Name |
Description |
Pipeline types |
---|---|---|
Span Metrics connector ( |
Aggregates Request, Error and Duration (R.E.D) OpenTelemetry metrics from span data. |
Traces, metrics |
See the following docs: