Tous les produits
Search
Centre de documentation

Server Load Balancer:Utiliser le traçage ALB pour analyser les transactions métier de bout en bout

Dernière mise à jour :Sep 21, 2026

ALB prend en charge le traçage. Une fois cette fonctionnalité activée, ALB injecte automatiquement des en-têtes de traçage lors du transfert des requêtes. Vous obtenez ainsi 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. Identifiez et résolvez rapidement les goulots d'étranglement liés aux performances dans les architectures distribuées.

Informations générales

L'analyse de traçage 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 segments (spans), où chaque segment représente une partie nommée et chronométrée de l'exécution continue au sein de la chaîne d'appels.

Après avoir activé le traçage ALB, celui-ci injecte ou met à jour automatiquement les en-têtes de traçage HTTP lors du transfert des requêtes, puis transmet les données de traçage à 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 composant.

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ée) ou 01 (échantillonnée), 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

Si un service en 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 :

Composant

Valeur de la requête en amont

Valeur transférée par ALB

Traitement

version

00

00

Hérité

traceid

7a3f91c4d8e26b5f9f3a7c1d6b4e8a25

7a3f91c4d8e26b5f9f3a7c1d6b4e8a25

Hérité

parentid

1d9b4e70a6cf3288

c8e14b7a2d95f360

Généré

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ée) ou 1 (échantillonnée), déterminé par le taux d'échantillonnage configuré.

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

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 et les insère dans l'en-tête HTTP. Comme il n'y a pas de nœud en 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 traçage

Si un service en amont inclut déjà les champs complets X-B3-* dans l'en-tête de requête, ALB hérite des valeurs de X-B3-TraceId et X-B3-Sampled, génère un nouveau X-B3-SpanId et transmet le X-B3-SpanId de la requête en 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 en amont

Valeur transférée par ALB

Traitement

X-B3-TraceId

7a3f91c4d8e26b5f

7a3f91c4d8e26b5f

Hérité

X-B3-SpanId

1d9b4e70a6cf3288

9f3a7c1d6b4e8a25

Généré

X-B3-ParentSpanId

e45c2a9f7b10d36e

1d9b4e70a6cf3288

Utilise le SpanId en amont

X-B3-Sampled

1

1

Hérité

Périmètre 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, configurez les options 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 non déjà 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 : Sélectionnez OpenTelemetry(W3C) ou Zipkin(B3).

      • Sampling Rate : Valeurs valides : 1 à 100. Valeur par défaut : 100. Ajustez le taux d'échantillonnage pour contrôler le volume des données de traçage 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 traçage

  1. Connectez-vous à un terminal client et testez la connectivité avec le serveur backend. Pour plus d'informations, consultez la rubrique Implémenter 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 traçage.

    La barre de recherche 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, celle-ci cesse d'envoyer les données de traçage à Managed Service for OpenTelemetry.

Facturation

Lorsque vous utilisez le traçage, Alibaba Cloud active automatiquement Managed Service for OpenTelemetry et le service de journal d'accès. Après l'activation, des frais sont facturés pour la transmission 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 (Beijing), 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)