OpenTelemetry on Linux hosts

Install OpenTelemetry as a system package to automatically instrument the applications running on a Linux host.

Vous consultez la version anglaise de cette page car elle n’a pas encore été entièrement traduite. Vous souhaitez contribuer ? Voir Contribuer.

Setting up OpenTelemetry usually depends on where your applications run. Some environments are highly automated, such as Kubernetes, thanks to the OpenTelemetry Operator, or Functions as a Service with the OpenTelemetry Lambda layers. But many Java, .NET, Node.js, and Python applications run directly on Linux hosts, where instrumenting them has traditionally meant downloading agents by hand and wiring up environment variables yourself.

The OpenTelemetry Packaging SIG provides system packages that make OpenTelemetry a dependency of the host itself. After installing a single package and restarting your applications, the Java, .NET, Node.js, and Python processes on the host are automatically instrumented and start emitting telemetry.

How it works

The opentelemetry package is a metapackage that depends on:

  • The OpenTelemetry Injector, which configures the dynamic linker so that supported runtimes load the matching auto-instrumentation when a process starts.
  • The language-specific auto-instrumentation packages for Java, .NET, Node.js, and Python.

Once installed, the injector attaches to every newly started, dynamically linked process on the host. It only has a visible effect on processes of a supported runtime, loading the matching auto-instrumentation for them; processes of runtimes without an OpenTelemetry SDK are left unaffected. Applications that were already running are instrumented after they are restarted. By default, telemetry is exported using OTLP to localhost on ports 4317 (gRPC) and 4318 (HTTP), so you typically run a local OpenTelemetry Collector to receive and forward it. The Collector itself is distributed as system packages by the OpenTelemetry Collector Releases project; integrating it into this system-package repository is tracked in opentelemetry-collector-releases#1561.

The Packaging and OBI SIGs also plan to deliver OpenTelemetry eBPF Instrumentation as a system package, extending zero-code instrumentation to additional runtimes such as Go, Rust, and C++.

Get started

  • Installation: add the repository and install the package on Debian, Ubuntu, Fedora, or RHEL and derivatives.
  • Configuration: point the injector at your Collector or backend and tune what gets instrumented.

Status and limitations

Learn more


Installation

Add the OpenTelemetry package repository and install the system packages on Debian, Ubuntu, Fedora, or RHEL and derivatives.

Configuration

Point the OpenTelemetry Injector at your Collector or backend and control what gets instrumented on a Linux host.