Tracing distribuito con AWS X-Ray e logging strutturato
Distribuire applicazioni su AWS
Dunieski Otano
Amazon Web Services Solutions Architect
La richiesta lenta che nessuno trovava
Una richiesta impiega quattro secondi
I log di ogni servizio, presi da soli, sembrano ok
Nessuno vede l'intero percorso
Cosa risolve il tracing distribuito
Una richiesta tocca
molti servizi
I soli log non mostrano il
percorso end-to-end
Un
trace
cuce l'intera richiesta
Vedi esattamente dove è andato il tempo
Segmenti, subsegmenti e service map
Segment
: il lavoro svolto da un servizio
Subsegment
: unità dentro un segmento, es. una chiamata DB
Service map
: grafo visivo di tutti i segmenti
Latenza ed errori compaiono su ogni nodo
Annotations vs metadata
Annotations
Coppie chiave-valore indicizzate, quindi
filtrabili
Usale per ciò che cercherai, es. livello cliente
Metadata
Dettagli extra,
non indicizzati
Allegali per contesto, ma non ci puoi fare ricerche
Correlare i log con i trace ID
Ogni trace ha un
trace ID
univoco
Includi il trace ID nei tuoi
log strutturati
Passa da un trace lento alle sue esatte righe di log
Log e trace diventano un'unica indagine
Leggere la service map per trovare il collo di bottiglia
Parti dalla
service map
, non dai log
Trova il nodo con
latenza
più alta
Entra nella sua
timeline del trace
Il segmento più lungo è il sospetto
Tracing sull'intera richiesta
API Gateway, Lambda e chiamate a valle tutte
tracciate
Ognuna aggiunge il proprio
segment
allo stesso trace
Un unico trace ID lega log e segmenti
Visibilità end-to-end per ogni richiesta
Esercitiamoci!
Distribuire applicazioni su AWS
Preparing Video For Download...