Tous les produits
Search
Centre de documentation

Server Load Balancer:Use ALB Tracing to Analyze End-to-End Business Transactions

Dernière mise à jour :Aug 18, 2026

ALB prend en charge le traçage. Lorsque vous activez cette fonctionnalité, ALB injecte automatiquement des en-têtes de trace lors du transfert des requêtes. Cela vous permet d'obtenir des données de traçage complètes, incluant la source de la requête, les nœuds traversés et le temps de réponse. Vous pouvez ainsi identifier et résoudre rapidement les goulots d'étranglement liés aux performances dans les architectures distribuées.

Informations générales

L'analyse de trace met à la disposition des développeurs d'applications distribuées des outils tels que la reconstruction complète de la chaîne d'appels, les statistiques sur le volume des requêtes, la visualisation de la topologie et l'analyse des dépendances entre applications. Ces outils facilitent l'analyse et le diagnostic rapides des goulots d'étranglement au sein des architectures d'applications distribuées.

Un enregistrement de trace correspond à une chaîne d'appels (Trace). De manière générale, une chaîne d'appels représente le parcours d'exécution d'une transaction ou d'un flux de travail à travers un système distribué. Il s'agit d'un graphe acyclique dirigé (DAG) composé de plusieurs spans, chaque span représentant un segment nommé et horodaté d'exécution continue au sein de la chaîne d'appels.

Une fois le traçage ALB activé, ALB injecte ou met à jour les en-têtes de trace HTTP lors du transfert des requêtes, puis transmet les données de trace au service Alibaba Cloud Managed Service for OpenTelemetry. Le traçage ALB prend en charge les méthodes OpenTelemetry et Zipkin.

Méthodes de traçage

OpenTelemetry

Lorsque le traçage ALB est activé avec le type OpenTelemetry sélectionné, ALB ajoute ou met à jour le champ traceparent dans l'en-tête HTTP avant de transférer une requête vers un serveur backend. Le format du champ traceparent est {version}-{traceid}-{parentid}-{traceflags}. Le tableau suivant décrit chaque partie.

Champ

Description

Format

version

Version d'OpenTelemetry utilisée.

Toujours 00.

traceid

ID identifiant cette trace.

Nombre hexadécimal de 32 chiffres.

parentid

ID identifiant le nœud actuel sur la chaîne de trace.

Nombre hexadécimal de 16 chiffres.

traceflags

Indique si cette requête est échantillonnée.

00 (non échantillonné) ou 01 (échantillonné), déterminé par le taux d'échantillonnage configuré.

Scénario 1 : La requête ne contient pas traceparent

Si l'en-tête de requête envoyé par le client ne contient pas le champ traceparent, ALB génère un champ traceparent complet et l'insère dans l'en-tête HTTP.

image

Scénario 2 : La requête contient déjà traceparent

Lorsqu'un service amont inclut déjà le champ traceparent dans l'en-tête de requête, ALB hérite des valeurs version, traceid et traceflags, et génère uniquement un nouveau parentid.

image

Le tableau suivant compare les valeurs des champs :

Partie

Valeur de la requête amont

Valeur transférée par ALB

Traitement

version

00

00

Hérité

traceid

7a3f91c4d8e26b5f9f3a7c1d6b4e8a25

7a3f91c4d8e26b5f9f3a7c1d6b4e8a25

Hérité

parentid

1d9b4e70a6cf3288

c8e14b7a2d95f360

Généré récemment

traceflags

00

00

Hérité

Zipkin

Lorsque le traçage ALB est activé avec le type Zipkin sélectionné, ALB ajoute ou met à jour les champs X-B3-* dans l'en-tête HTTP avant de transférer une requête vers un serveur backend. Le tableau suivant décrit chaque champ.

Champ

Description

Format

X-B3-TraceId

ID identifiant cette trace.

Nombre hexadécimal de 16 chiffres.

X-B3-SpanId

ID identifiant le nœud actuel sur la chaîne de trace.

Nombre hexadécimal de 16 chiffres.

X-B3-ParentSpanId

ID identifiant le nœud précédent sur la chaîne de trace.

Nombre hexadécimal de 16 chiffres.

X-B3-Sampled

Indique si cette requête est échantillonnée.

0 (non échantillonné) ou 1 (échantillonné), déterminé par le taux d'échantillonnage configuré.

Scénario 1 : La requête ne contient pas d'en-têtes de trace

Si l'en-tête de requête envoyé par le client ne contient pas les champs X-B3-*, ALB agit comme le nœud d'origine de la chaîne de trace. Il génère les champs X-B3-TraceId, X-B3-SpanId et X-B3-Sampled, puis les insère dans l'en-tête HTTP. Comme il n'y a aucun nœud amont dans la chaîne, la requête transférée ne contient pas le champ X-B3-ParentSpanId.

image

Scénario 2 : La requête contient déjà des en-têtes de trace

Lorsqu'un service amont inclut déjà les champs X-B3-* complets dans l'en-tête de requête, ALB hérite des valeurs X-B3-TraceId et X-B3-Sampled. Il génère un nouveau X-B3-SpanId et transmet le X-B3-SpanId de la requête amont au serveur backend en tant que X-B3-ParentSpanId.

image

Le tableau suivant compare les valeurs des champs :

Champ

Valeur de la requête amont

Valeur transférée par ALB

Traitement

X-B3-TraceId

7a3f91c4d8e26b5f

7a3f91c4d8e26b5f

Hérité

X-B3-SpanId

1d9b4e70a6cf3288

9f3a7c1d6b4e8a25

Généré récemment

X-B3-ParentSpanId

e45c2a9f7b10d36e

1d9b4e70a6cf3288

Utilise le SpanId amont

X-B3-Sampled

1

1

Hérité

Champ d'application

Étape 1 : Activer le traçage

  1. Connectez-vous à la console ALB, sélectionnez la région où se trouve votre instance, repérez l'instance cible et cliquez sur son ID d'instance.

  2. Cliquez sur l'onglet Listener, repérez l'écouteur cible et cliquez sur son ID d'écouteur.

  3. Dans la section Tracing de l'onglet Listener Details, activez l'interrupteur Tracing.

  4. Dans la boîte de dialogue Enable Tracing, effectuez les configurations suivantes et cliquez sur Save.

    • Activate Service

      • Activate Managed Service for OpenTelemetry : si vous utilisez ce service pour la première fois, sélectionnez l'accord de service pour confirmer l'activation.

    • Create Access Log (si aucun journal d'accès n'a encore été créé pour l'instance ALB cible)

      • Project : unité de gestion des ressources dans Simple Log Service utilisée pour l'isolation et le contrôle des ressources.

        • Select Project : sélectionnez un projet existant dans la liste déroulante.

        • Create Project : saisissez un nom de projet dans le champ.

      • Logstore : unité dans Simple Log Service dédiée à la collecte, au stockage et à l'interrogation des données de journal.

        • Select Logstore : sélectionnez un Logstore existant dans la liste déroulante.

        • Create Logstore : saisissez un nom de Logstore dans le champ. Si vous sélectionnez Create Project, vous devez également sélectionner Create Logstore.

    • Enable Tracing Analysis

      • Tracing Analysis Protocol : vous pouvez sélectionner OpenTelemetry(W3C) ou Zipkin(B3).

      • Sampling Rate : valeurs valides de 1 à 100. Valeur par défaut : 100. Ajustez le taux d'échantillonnage pour contrôler le volume des données de trace rapportées.

    • Notes on Creating Service-linked Role : lors de cette opération, le système crée automatiquement un rôle lié au service.

Étape 2 : Afficher les données de trace

  1. Connectez-vous à un terminal client et testez la connectivité avec le serveur backend. Pour plus d'informations, consultez la rubrique Mettre en œuvre rapidement l'équilibrage de charge IPv4 avec ALB.

  2. Connectez-vous à la console ALB, sélectionnez la région où se trouve votre instance, repérez l'instance cible et cliquez sur son ID d'instance.

  3. Cliquez sur l'onglet Listener, repérez l'écouteur cible et cliquez sur son ID d'écouteur.

  4. Dans la section Tracing de l'onglet Listener Details, cliquez sur View à côté de Trace Analysis et accédez à la console Managed Service for OpenTelemetry pour afficher les données de trace.

    La barre de requête en haut de la page inclut automatiquement les filtres attributes.app_lb_id et attributes.slb_vport. Le panneau de filtre rapide sur la gauche vous permet de filtrer par statut, plage de durée et nom d'application.

Informations complémentaires

Désactiver le traçage

  • Le traçage dépend des journaux d'accès. La désactivation des journaux d'accès rend le traçage indisponible, procédez donc avec prudence. Après la désactivation du traçage, les journaux d'accès restent activés. Si vous n'en avez plus besoin, désactivez-les manuellement.

  • Lorsque le traçage est désactivé pour tous les écouteurs d'une instance ALB, ALB cesse d'envoyer les données de trace vers Managed Service for OpenTelemetry.

Facturation

Lorsque vous utilisez le traçage, Alibaba Cloud active automatiquement le service Managed Service for OpenTelemetry et le service de journal d'accès. Après l'activation, des frais sont facturés pour le rapport des données, le stockage des traces et les services de journalisation.

Régions prises en charge pour le traçage ALB

Régions du cloud public

Zone

Région

Chine

Chine (Hangzhou), Chine (Shanghai), Chine (Shenzhen), Chine (Chengdu), Chine (Qingdao), Chine (Pékin), Chine (Zhangjiakou), Chine (Ulanqab), Chine (Hong Kong), Chine (Guangzhou) et Chine (Heyuan)

Asie-Pacifique

Singapour, Malaisie (Kuala Lumpur), Japon (Tokyo), Indonésie (Jakarta)

Europe et Amériques

Royaume-Uni (Londres), Allemagne (Francfort), États-Unis (Virginie) et États-Unis (Silicon Valley)