Comment suivre une demande de l'Application Load Balancer par l'intermédiaire de X-Amzn-Trace-Id ?

Dernière mise à jour : 03/02/2021

Comment puis-je journaliser X-Amzn-Trace-Id pour assurer le suivi des demandes via mon Application Load Balancer et des serveurs Web ?

Brève description

Dans Elastic Load Balancing (ELB), lorsqu'un Application Load Balancer gère une demande, les informations de suivi sont ajoutées à l'en-tête X-Amzn-Trace-Id. Par exemple :

X-Amzn-Trace-Id: Root=1-67891233-abcdef012345678912345678

Vous pouvez journaliser cet identifiant et l'utiliser ensuite pour résoudre des problèmes liés à votre équilibreur de charge. Par exemple, vous pouvez utiliser l'en-tête X-Amzn-Trace-Id pour identifier le moment où de nombreuses requêtes similaires sont reçues du même client en peu de temps. Si vous avez plusieurs couches dans votre pile, vous pouvez également utiliser l'en-tête X-Amzn-Trace-Id pour suivre une requête sur toutes les couches.

Résolution

Utilisez les étapes suivantes pour les configurations de serveur Web courants (Apache, Tomcat, NGINX ou IIS) afin de journaliser l'en-tête X-Amzn-Trace-Id :

Apache

1.    Ouvrez le fichier de configuration Apache ( /etc/httpd/conf/httpd.conf dans Amazon Linux) dans l'éditeur de texte de votre choix.

2.    Dans la section LogFormat, ajoutez l'option %{X-Amzn-Trace-Id}i comme suit :

LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-Amzn-Trace-Id}i\"" combined

3.    Redémarrez le service Apache pour appliquer vos modifications comme suit :

sudo service apache restart

Tomcat

1.    Ouvrez le fichier de configuration Tomcat ( /etc/tomcat7/server.xml dans Amazon Linux) dans l'éditeur de texte de votre choix.    

2.    Dans la classe org.apache.catalina.valves.AccessLogValve, ajoutez l'option %{X-Amzn-Trace-Id}i comme suit :

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

      prefix="localhost_access_log." suffix=".txt"

      pattern="%h %l %u %t &quot;%r&quot; %s %b %{X-Amzn-Trace-Id}i" />

3.    Redémarrez le service Tomcat pour appliquer vos modifications comme suit :

sudo service tomcat7 restart

NGINX

1.    Ouvrez le fichier de configuration NGINX ( /etc/nginx/nginx.conf dans Amazon Linux) dans l'éditeur de texte de votre choix.

2.    Dans la section log_format, ajoutez l'option $http_x_amzn_trace_id comme suit :

log_format  main  '"$http_x_forwarded_for" $remote_addr - $remote_user [$time_local] "$request" '

    '$status $body_bytes_sent "$http_referer" '

    '"$http_user_agent" "$http_x_amzn_trace_id"';

3.    Redémarrez le service Apache pour appliquer vos modifications comme suit :

sudo service nginx restart

Internet Information Services (IIS)

1.    Ouvrez le gestionnaire d'Internet Information Services (IIS).

2.    Sélectionnez le nom de votre serveur.

3.    Choisissez Logging (Journalisation).

4.    Choisissez Select Fields (Sélectionner les champs).

5.    Choisissez Add Field (Ajouter un champ).

6.    Dans la boîte de dialogue, pour Field Name (Nom du champ), entrez X-Amzn-Trace-Id. Pour Source Type (Type de source), entrez Request Header (En-tête de demande). Pour Source, entrez X-Amzn-Trace-Id.

7.    Choisissez Apply (Appliquer) pour appliquer les changements.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?