The OpenTelemetry Collector uses the following components to receive, process, and export telemetry data:
The default configurations of the Elastic Distribution of the OpenTelemetry (EDOT) Collector follows these flows:
MacOS and Linux host metrics
MacOS and Linux logs
Kubernetes metrics
Kubernetes, MacOS, and Linux logs
Refer to the following tables for more information on the components included in the EDOT Collector. Follow the links for OpenTelemetry documentation with more configuration details for each component. To set up the EDOT Collector, get started using the guided onboarding docs or the manual configuration docs.
Component | Description |
---|---|
filelogreceiver |
Collects logs from files on the local filesystem, supporting various formats and log rotation strategies. |
hostmetricsreceiver |
Collects metrics from the host machine, such as CPU, memory, disk, and network usage. |
httpcheckreceiver |
Performs HTTP checks to monitor the availability and response time of web services. |
k8sclusterreceiver |
Gathers metrics and metadata from a Kubernetes cluster. |
k8sobjectsreceiver |
Monitors changes to Kubernetes objects, and collects related metrics. |
kubeletstatsreceiver |
Collects metrics from the Kubelet, including node and pod-level resource usage. |
otlpreceiver |
Receives metrics, traces, and logs in OpenTelemetry Protocol (OTLP) format. |
Component | Description |
---|---|
elasticinframetricsprocessor |
Processes infrastructure metrics to enhance and convert them for Elasticsearch. |
attributesprocessor |
Modifies telemetry data attributes. |
filterprocessor |
Filters telemetry data to include or exclude specific data points. |
k8sattributesprocessor |
Enhances telemetry data with Kubernetes-specific metadata. |
resourcedetectionprocessor |
Detects resource attributes and adds them to telemetry data. |
resourceprocessor |
Allows resource attributes to be modified in telemetry data. |
transformprocessor |
Transforms telemetry data modifying based on specified rules. |
batchprocessor |
Batches telemetry data to improve export performance and manage load on back-end systems. |
Component | Description |
---|---|
elasticsearchexporter |
Sends collected telemetry data to Elasticsearch for storage and analysis. |
fileexporter |
Writes telemetry data to a file, useful for debugging or offline analysis. |
debugexporter |
Outputs telemetry data in a human-readable format for debugging purposes. |
otlpexporter |
Sends telemetry data in OTLP format to a specified endpoint. |
otlphttpexporter |
Sends telemetry data using HTTP with OTLP. |
Component | Description |
---|---|
filestorage |
Provides file-based storage for temporary data, such as checkpoints and intermediate state. |
memorylimiterextension |
Limits the memory usage of the collector to prevent out-of-memory errors. |