Home / Observability / OpenTelemetry
Instrumentation · Vendor-neutral

OpenTelemetry

Lo standard CNCF per instrumentare applicazioni. Un'API, sei lingue, qualsiasi backend — niente vendor lock-in.

OPENTELEMETRY · open source
OpenTelemetry logo
Cos'è

Una sola instrumentation, qualunque backend.

OpenTelemetry (OTel) è il progetto CNCF che unifica instrumentation di metriche, log e trace. È il successore di OpenTracing + OpenCensus, sviluppato da Microsoft, Splunk, Google, Honeycomb, Lightstep, Grafana Labs e centinaia di altri.

Tre componenti: SDK per ogni linguaggio (Java, .NET, Go, Node, Python, Rust, PHP, Ruby), auto-instrumentation per i framework più diffusi (zero codice), OTel Collector come gateway agnostico verso qualunque backend.

È il modo per evitare vendor lock-in sull'observability: oggi i dati vanno a Grafana Tempo/Mimir/Loki, domani anche a un altro backend, semplicemente cambiando la destinazione del Collector. Le tue app non sanno nemmeno cosa sia sotto.

Caratteristiche chiave

Perché ogni nuovo progetto parte da OTel.

Standard, neutrale, completo.

Multi-linguaggio

Java, .NET, Go, Node, Python, Rust, PHP, Ruby. Stessa API, stesse convenzioni semantiche.

Auto-instrument

Java agent, .NET profiler API, Python autoload — zero codice per framework comuni.

OTLP

Protocollo binario gRPC/HTTP per spedire metriche+log+trace. Ricevuto da quasi ogni backend moderno.

OTel Collector

Gateway processo: ricevi da N protocolli, processi/sample/redact, spedisci a N backend.

Semantic conventions

Attributi standard (http.route, db.system, k8s.pod.name): dashboard portabili tra clienti.

Vendor-neutral

Cambi backend senza re-instrumentare. Spedisci ai più: Tempo + Datadog in parallelo, ok.

Come lo usiamo

Come instrumentiamo i clienti con OTel.

OpenTelemetry SDKOTel CollectorJava agent.NET profilerPython autoloadOTLP gRPC/HTTPSemantic conventions
  • Auto-instrumentation con Java agent / .NET profiler / Python autoload — istallato come sidecar.
  • Custom instrumentation solo dove serve (business metrics, span attributi domain-specific).
  • OTel Collector come DaemonSet/Deployment in ogni cluster: gateway per OTLP.
  • Pipeline processor: batching, tail sampling, secret redaction, attribute renaming.
  • Exporter verso Mimir (metriche), Loki (log), Tempo (trace) — tutto su Clodino Cloud o on-prem.
  • Convenzioni semantiche allineate alle linee guida CNCF: dashboard riutilizzabili.
“OTel è quello che ti garantisce che se domani vuoi cambiare backend, non devi toccare una riga di codice applicativo.”
Hands on

Java app instrumentata in 1 riga.

shell · otel java agent~/clodino
$ wget https://github.com/open-telemetry/.../opentelemetry-javaagent.jar

$ java -javaagent:opentelemetry-javaagent.jar \
    -Dotel.service.name=checkout-api \
    -Dotel.exporter.otlp.endpoint=http://otel-collector:4317 \
    -jar checkout.jar

 OpenTelemetry · auto-instrument bootstrap
 Spring Boot 3.x detected · instrumented
 JDBC detected · instrumented (postgresql, redis)
 Kafka client detected · instrumented
 HTTP client detected · instrumented (OkHttp, Apache)
 Exporting OTLP to otel-collector:4317

 47 spans/s · 1.2M metrics points/min

Vuoi instrumentare le tue app senza vendor lock-in?

Auto-instrumentation + OTel Collector + pipeline verso Grafana stack. Zero modifiche applicative tipiche.

← Monitoring Parla con noi