Wie protokolliere ich X-Amzn-Trace-Id, um Anfragen über meinen Application Load Balancer und Webserver nachzuverfolgen?
Kurzbeschreibung
Wenn in Elastic Load Balancing (ELB) ein Application Load Balancer eine Anfrage bearbeitet, werden die Trace-Informationen demX-Amzn-Trace-Id-Header hinzugefügt. Zum Beispiel:
X-Amzn-Trace-Id: Root=1-67891233-abcdef012345678912345678
Protokollieren Sie den Identifier und verwenden Sie ihn dann, um Probleme mit Ihrem Load Balancer zu beheben. Verwenden Sie beispielsweise denX-Amzn-Trace-Id-Header, um zu ermitteln, wann innerhalb kurzer Zeit viele ähnliche Anfragen von demselben Client empfangen werden. Wenn Ihr Stapel viele Ebenen enthält, können Sie auch denX-Amzn-Trace-Id-Header verwenden, um eine Anfrage über alle Ebenen hinweg zu verfolgen.
Behebung
Gehen Sie für gängige Webserverkonfigurationen (Apache, Tomcat, NGINX oder IIS) wie folgt vor, um denX-Amn-Trace-Id-Header zu protokollieren:
Apache
1.Öffnen Sie die Apache-Konfigurationsdatei (/etc/httpd/conf/httpd.conf in Amazon Linux) in Ihrem bevorzugten Texteditor.
2.Fügen Sie im AbschnittLogFormatdie Option**%{X-Amzn-Trace-Id}i**wie folgt hinzu:
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.Starten Sie den Apache-Dienst neu, um Ihre Änderungen wie folgt zu übernehmen:
sudo service apache restart
Tomcat
1.Öffnen Sie die Tomcat-Konfigurationsdatei (/etc/tomcat7/server.xmlin Amazon Linux) in Ihrem bevorzugten Texteditor.
2.Fügen Sie in der Klasseorg.apache.catalina.valves.AccessLogValvedie Option**%{X-Amzn-Trace-Id}i**wie folgt hinzu:
<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" />
3.Starten Sie den Tomcat-Dienst neu, um Ihre Änderungen wie folgt zu übernehmen:
sudo service tomcat7 restart
NGINX
1.Öffnen Sie die NGINX-Konfigurationsdatei (/etc/nginx/nginx.conf in Amazon Linux) in Ihrem bevorzugten Texteditor.
2.Fügen Sie im Abschnittlog\ _formatdie Option**$http\ _x\ _amzn\ _trace\ _id**wie folgt hinzu:
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.Starten Sie den NGINX-Dienst neu, um Ihre Änderungen wie folgt zu übernehmen:
sudo service nginx restart
Internetinformationsdienste (IIS)
1.Öffnen Sie den IIS-Manager.
2.Wählen Sie den Namen Ihres Servers aus.
3.Wählen SieProtokollierungaus.
4.Wählen SieFelder auswählen aus.
5.Wählen SieFeld hinzufügen aus.
6.Geben Sie im Dialogfeld alsFeldname****X-Amzn-Trace-Id ein. Geben Sie alsQuelltyp****Request Headerein. Geben Sie alsQuelle****X-Amzn-Trace-Idein.
7.0Wählen SieAnwenden, um Ihre Änderungen zu übernehmen.
Weitere Informationen
Tracing von Anforderungen für Ihren Application Load Balancer
Zugriffsprotokolle für Ihren Application Load Balancer