Distributed tracing met AWS X-Ray en gestructureerd loggen
Applicaties implementeren op AWS
Dunieski Otano
Amazon Web Services Solutions Architect
De trage request die niemand kon vinden
Eén request duurt vier seconden
De logs per service lijken los oké
Niemand ziet het hele pad
Wat distributed tracing oplost
Eén request raakt
veel services
Logs alleen tonen niet het
end-to-end-pad
Een
trace
naait het hele request aan elkaar
Zie precies waar de tijd bleef
Segmenten, subsegmenten en de servicemap
Segment
: het werk van één service
Subsegment
: een onderdeel binnen een segment, zoals een DB-call
Servicemap
: een visuele grafiek van alle segmenten
Latentie en fouten staan op elke node
Annotaties vs. metadata
Annotaties
Geïndexeerde key-values, dus
filterbaar
Gebruik voor zaken waarop je zoekt, zoals klantniveau
Metadata
Extra detail,
niet geïndexeerd
Voeg toe voor context, maar je kunt er niet op zoeken
Logs correleren met trace-ID's
Elke trace heeft een unieke
trace-ID
Zet de trace-ID in je
gestructureerde logs
Spring van een trage trace naar de bijbehorende logregels
Logs en traces vormen één onderzoek
De servicemap lezen om de bottleneck te vinden
Begin bij de
servicemap
, niet de logs
Vind de node met de hoogste
latentietijd
Klik door naar de
tracetijdlijn
Het langste segment is je verdachte
Tracen over de volledige request
API Gateway, Lambda en downstream-calls worden allemaal
getraced
Elk voegt zijn
segment
toe aan dezelfde trace
Eén trace-ID verbindt logs en segmenten
End-to-end-inzicht voor elke request
Laten we oefenen!
Applicaties implementeren op AWS
Preparing Video For Download...