• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Tracing distribué NGINX avec OpenTelemetry

|View as Markdown (English)

NGINX 1.25.3 et les versions ultérieures incluent le ngx_otel_module, un module OpenTelemetry natif qui ajoute la prise en charge du tracing distribué directement dans le serveur web.

Lorsque vous combinez ngx_otel_module avec des applications instrumentées, New Relic connecte les traces de bout en bout et crée des relations de service entre vos services et l’entité NGINX. Ces relations apparaissent dans les cartes des services, vous donnant une visibilité sur la façon dont le trafic circule à travers votre serveur web ou proxy inverse.

Comment ça marche

Dans une configuration typique, le trafic circule comme suit :

Instrumented app (client) → NGINX (with ngx_otel_module) → Instrumented app (backend)
  1. L’application cliente envoie une requête avec un en-tête traceparent W3C.
  2. ngx_otel_module de NGINX extrait le contexte de trace, crée un span pour la requête, et injecte le contexte de trace mis à jour dans la requête transmise par proxy au backend en amont.
  3. L’application backend reçoit la requête avec le contexte de trace propagé et continue la trace.
  4. Tous les spans (du client, de NGINX, et du backend) sont exportés vers un Collector OpenTelemetry, qui enrichit les spans NGINX avec l’identité NGINX et les transmet à New Relic.

New Relic utilise ces spans connectés pour créer des relations CALLS :

  • Service client APPELLE entité NGINX
  • Entité NGINX APPELLE Service backend

Étant donné que le collecteur estampille la même identité nginx.deployment.name et nginx.server.endpoint que celle utilisée par les métriques NGINX, les spans NGINX se résolvent vers la même entité NGINXSERVER que vos métriques NGINX. Ces relations sont visibles dans les cartes de service et l’ expérience des cartes.

Compatibilité

ngx_otel_module fonctionne avec toute application qui prend en charge la propagation du contexte W3C Trace Context, notamment :

  • Applications instrumentées par le SDK OpenTelemetry (tout langage)
  • Auto-instrumentation OpenTelemetry (Java, .NET, Python, Node.js, Go)
  • Agents New Relic APM (Go, Java, .NET, Node.js, Python, Ruby, PHP) avec le tracing distribué activé

Vous pouvez combiner les approches d’instrumentation. Par exemple, un client SDK OTel peut appeler via NGINX un backend d’agent New Relic APM, et la chaîne de relations apparaît correctement dans New Relic.

Avant de commencer

Assurez-vous d'avoir :

Conseil

Ce guide configure à la fois la collecte de métriques et le tracing distribué dans un seul Collecteur Otel. Pour une configuration uniquement basée sur les métriques, ou un déploiement Kubernetes, consultez Monitorer NGINX auto-hébergé, et Monitorer NGINX sur Kubernetes.

Configurer le tracing distribué

Conseil

Le pipeline de trace ci-dessous est la même configuration standard que vous utiliseriez pour tout service participant au tracing distribué. Il ne s’agit pas d’une configuration de relation manuelle. Une fois le tracing actif, New Relic détecte automatiquement les spans connectées, et crée des relations de service.

Dépannage

Prochaines étapes

Droits d'auteur © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.