Skip to main content

OpenTelemetry

Plugin: otel.plugin Module: otel

Overview

This plugin ingests OpenTelemetry metrics and logs via the OTLP/gRPC protocol.

It receives OTLP-formatted data from any OpenTelemetry-compatible source (collectors, SDKs, instrumented applications) and automatically creates Netdata charts for visualization and alerting.

For logs, it stores them in systemd-compatible journal files with configurable rotation and retention policies.

The plugin listens on a gRPC endpoint (default 127.0.0.1:4317) for incoming OTLP data. It supports both metrics and logs signals. Metrics are mapped to Netdata charts using configurable mapping rules. Logs are stored in journal files for querying via the Netdata Logs tab.

This collector is only supported on the following platforms:

  • Linux

This collector only supports collecting metrics from a single instance of this integration.

Default Behavior

Auto-Detection

The plugin starts automatically and listens on 127.0.0.1:4317 for incoming OTLP/gRPC connections.

Limits

The default configuration for this integration does not impose any limits on data collection.

Performance Impact

The default configuration for this integration is not expected to impose a significant performance impact on the system.

Metrics

Metrics are dynamically created based on the OpenTelemetry data received. The specific metrics depend on the OTLP sources sending data to the plugin.

Alerts

There are no alerts configured by default for this integration.

Setup

Prerequisites

OpenTelemetry data source

An OpenTelemetry Collector, SDK, or instrumented application configured to send OTLP data to the Netdata agent's gRPC endpoint.

Configuration

Options

The plugin is configured via otel.yaml in the Netdata configuration directory.

Config options
OptionDescriptionDefaultRequired
endpoint.pathgRPC endpoint to listen on for incoming OTLP data.127.0.0.1:4317no
endpoint.tls_cert_pathPath to TLS certificate file. Enables TLS when provided.no
endpoint.tls_key_pathPath to TLS private key file. Required when TLS certificate is provided.no
endpoint.tls_ca_cert_pathPath to TLS CA certificate file for client authentication.no
metrics.chart_configs_dirDirectory with YAML files for mapping OTLP metrics to Netdata charts.otel.d/v1/metrics/no
metrics.buffer_samplesNumber of samples to buffer for collection interval detection.10no
metrics.throttle_chartsMaximum number of new charts to create per collection interval.100no
logs.journal_dirDirectory to store journal files for ingested logs.yes
logs.size_of_journal_fileMaximum file size before rotating to a new journal file.100MBno
logs.entries_of_journal_fileMaximum log entries per journal file.50000no
logs.duration_of_journal_fileMaximum time span within a single journal file.2 hoursno
logs.number_of_journal_filesMaximum number of journal files to keep.10no
logs.size_of_journal_filesMaximum total size of all journal files.1GBno
logs.duration_of_journal_filesMaximum age of journal files.7 daysno

via File

The configuration file name for this integration is otel.yaml.

You can edit the configuration file using the edit-config script from the Netdata config directory.

cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config otel.yaml
Examples
Basic configuration

Listen on default endpoint with default settings.

endpoint:
path: "127.0.0.1:4317"
metrics:
chart_configs_dir: otel.d/v1/metrics/
buffer_samples: 10
logs:
journal_dir: /var/log/netdata/otel-journals

TLS-enabled configuration

Listen with TLS enabled for secure connections.

Config
endpoint:
path: "0.0.0.0:4317"
tls_cert_path: /etc/netdata/ssl/cert.pem
tls_key_path: /etc/netdata/ssl/key.pem
metrics:
chart_configs_dir: otel.d/v1/metrics/
buffer_samples: 10
logs:
journal_dir: /var/log/netdata/otel-journals


Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.