Come faccio a registrare X-Amzn-Trace-Id per tracciare le richieste tramite il mio Application Load Balancer e i server web?
Breve descrizione
In Elastic Load Balancing (ELB), quando un Application Load Balancer gestisce una richiesta, le informazioni sulla traccia vengono aggiunte all'intestazione X-Amzn-Trace-Id. Ad esempio:
X-Amzn-Trace-Id: Root=1-67891233-abcdef012345678912345678
Registra l'identificatore e utilizzalo per risolvere i problemi con il tuo sistema di bilanciamento del carico. Ad esempio, utilizza l'intestazione X-Amzn-Trace-Id per identificare quando molte richieste simili vengono ricevute dallo stesso client in breve tempo. Se hai molti livelli nello stack, puoi anche usare l'intestazione X-Amzn-Trace-Id per tenere traccia di una richiesta su tutti i livelli.
Risoluzione
Utilizza i seguenti passaggi per le configurazioni più comuni dei server web (Apache, Tomcat, NGINX o IIS) per registrare l'intestazione X-Amzn-Trace-Id:
Apache
-
Apri il file di configurazione di Apache (/etc/httpd/conf/httpd.conf in Amazon Linux) nel tuo editor di testo preferito.
-
Nella sezione LogFormat, aggiungi l'opzione %{X-Amzn-Trace-Id}i come segue:
LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-Amzn-Trace-Id}i\"" combined
- Riavvia il servizio Apache per applicare le modifiche come segue:
sudo service apache restart
Tomcat
-
Apri il file di configurazione Tomcat (/etc/tomcat7/server.xml in Amazon Linux) nel tuo editor di testo preferito.
-
Nella classe org.apache.catalina.valves.AccessLogValve, aggiungi l'opzione %{X-Amzn-Trace-Id}i come segue:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b %{X-Amzn-Trace-Id}i" />
- Riavvia il servizio Tomcat per applicare le modifiche come segue:
sudo service tomcat7 restart
NGINX
-
Apri il file di configurazione NGINX (/etc/nginx/nginx.conf in Amazon Linux) nel tuo editor di testo preferito.
-
Nella sezione log_format, aggiungi l'opzione $http_x_amzn_trace_id come segue:
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"';
- Riavvia il servizio NGINX per applicare le modifiche come segue:
sudo service nginx restart
Servizi di informazione Internet (IIS)
-
Apri IIS Manager.
-
Seleziona il nome del tuo server.
-
Scegli Registrazione.
-
Scegli Seleziona campi.
-
Scegli Aggiungi campo.
-
Nella finestra di dialogo, per Nome campo, inserisci X-Amzn-Trace-Id. Per Tipo di origine, inserisci Richiedi intestazione. Per Origine, inserisci X-Amzn-Trace-Id.
-
Scegli Applica per applicare le modifiche.
Informazioni correlate
Richiedi il tracciamento per il tuo Application Load Balancer
Log di accesso per il tuo Application Load Balancer