OpenTelemetry (OTel)

DevOps 🟡 Mid

Définition

Standard ouvert de la CNCF pour l'observabilité : API, SDK, protocole OTLP et Collector pour produire et acheminer traces, métriques et journaux vers n'importe quel backend (Grafana, Datadog, Jaeger…). Le statut officiel de la spécification indique que le traçâge est stable avec support long terme, que les journaux sont stables et que le modèle de données des métriques est stable dans OTLP.

Analogie

La prise électrique normalisée : quel que soit l'appareil (service) et quel que soit le fournisseur d'énergie (backend), tout se branche sans adaptateur.

Exemple de code

// instrumentation.js – chargé avant l'app (node --import ./instrumentation.js)
import { NodeSDK } from '@opentelemetry/sdk-node';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';

const sdk = new NodeSDK({
  serviceName: 'api',
  traceExporter: new OTLPTraceExporter({ url: 'http://otel-collector:4318/v1/traces' }),
  instrumentations: [getNodeAutoInstrumentations()], // http, pg, redis... auto-tracés
});
sdk.start();

Cas d'usage

Instrumenter une fois ses services et rester libre de changer d'outil d'observabilité sans retoucher le code.

Anti-pattern

Instrumenter avec le SDK propriétaire d'un fournisseur : chaque changement d'outil impose de réécrire l'instrumentation.
#devops#monitoring#cncf

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre