Distributed Tracing mit AWS X-Ray und strukturiertem Logging
Bereitstellen von Anwendungen auf AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Die langsame Anfrage, die niemand fand
Eine Anfrage dauert vier Sekunden
Die Logs jedes Dienstes sehen für sich gut aus
Niemand sieht den gesamten Pfad
Was Distributed Tracing löst
Eine Anfrage berührt
viele Services
Nur Logs zeigen nicht den
End-to-End-Pfad
Ein
Trace
fügt die gesamte Anfrage zusammen
Sieh genau, wo die Zeit hinging
Segmente, Subsegmente und die Service-Map
Segment
: die Arbeit eines Dienstes
Subsegment
: Einheit im Segment, z. B. ein DB-Call
Service-Map
: grafische Ansicht aller Segmente
Latenz und Fehler erscheinen je Knoten
Annotations vs. Metadata
Annotations
Indexierte Schlüssel-Werte, daher
filterbar
Nutze sie für Suchkriterien, z. B. Kundensegment
Metadata
Zusatzdetails,
nicht indexiert
Für Kontext anhängen, aber nicht durchsuchbar
Logs mit Trace-IDs korrelieren
Jeder Trace hat eine eindeutige
Trace-ID
Nimm die Trace-ID in deine
strukturierten Logs
auf
Spring von einem langsamen Trace zu den passenden Logzeilen
Logs und Traces werden eine gemeinsame Analyse
Über die Service-Map den Flaschenhals finden
Starte bei der
Service-Map
, nicht in den Logs
Finde den Knoten mit der höchsten
Latenz
Geh in seine
Trace-Zeitleiste
Das längste Segment ist der Verdächtige
Tracing über die gesamte Anfrage
API Gateway, Lambda und Downstream-Calls alle
getraced
Jeder fügt sein
Segment
zum selben Trace hinzu
Eine Trace-ID verbindet Logs und Segmente
End-to-End-Sichtbarkeit für jede Anfrage
Lass uns üben!
Bereitstellen von Anwendungen auf AWS
Preparing Video For Download...