Skip to main content

OpenTelemetry Overview

The Netdata Agent receives OpenTelemetry telemetry over OTLP/gRPC, on port 4317: metrics become Netdata charts, and logs and traces are stored, indexed, on the receiving Agent. Anything that speaks OTLP/gRPC can send to it — an OpenTelemetry Collector, an instrumented application, an SDK — with TLS or mutual TLS on the endpoint. Start with OTLP Ingestion for the endpoint, the exporter block, and two smoke tests.

Metrics​

Gauges, sums, histograms with explicit buckets, and summaries become charts under otel. contexts, with the resource, scope, and data-point attributes as labels; you attach health alerts to them as to any other chart. Exponential histograms are not ingested. Mapping files control the dimension attribute and collection interval per instrumentation scope, and a per-request budget (100 by default) bounds how many new charts one request may create. The receiver recipes are in Metrics Collection; every option is in the plugin reference.

Logs​

Logs land in Netdata's log store on the receiving Agent: every field indexed, exact counts, size and age retention, and optional offloading to S3-compatible object storage with transparent read-back. You explore them in the Logs tab under the otel-logs source. Which sources to centralize at all is a Logs Management decision — see Centralizing Logs with OpenTelemetry; the Collector recipes per source are in Logs Collection, and retention and offloading are in Log Storage and Retention.

Traces​

Traces land on the receiving Agent too: spans indexed, their own retention settings, and the same optional offloading to S3-compatible object storage as logs, read back through the download cache both signals share. You explore them in the Traces tab. Sending traces from an SDK or a Collector is in OTLP Ingestion; storage, retention, offloading, and sizing are in Trace Storage and Retention.

Requirements​

  • Linux native packages install the plugin as a dependency of netdata; static builds bundle it (except 32-bit ARMv6) and all Docker images include it. macOS kickstart installs provision a Rust toolchain and build it — when no adequate toolchain ends up available, the install continues with a warning and without the plugin. Linux source builds need --enable-plugin-otel. It is not available on Windows or FreeBSD.
  • Viewing logs and traces requires signing in with Netdata Cloud, free for community use.
  • The examples on these pages are validated with OpenTelemetry Collector Contrib 0.157.0.

In this section​


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