Urmărire distribuită cu AWS X-Ray și logging structurat
Implementarea aplicațiilor pe AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Cererea lentă pe care nimeni n-o găsea
O cerere durează patru secunde
Logurile fiecărui serviciu par în regulă
Nimeni nu vede întregul parcurs
Ce rezolvă urmărirea distribuită
O cerere traversează
mai multe servicii
Logurile singure nu arată
parcursul complet
Un
traseu
leagă întreaga cerere
Vezi exact unde s-a pierdut timpul
Segmente, subsegmente și harta serviciilor
Segment
: activitatea unui singur serviciu
Subsegment
: o unitate din segment, precum un apel DB
Harta serviciilor
: un graf vizual al tuturor segmentelor
Latența și erorile sunt afișate pe fiecare nod
Adnotări vs. metadate
Adnotări
Perechi cheie-valoare indexate, deci
filtrabile
Folosește-le pentru câmpuri după care vei căuta, precum nivelul clientului
Metadate
Detalii suplimentare,
neindexate
Utile pentru context, dar nu pot fi căutate
Corelarea logurilor cu ID-urile de traseu
Fiecare traseu are un
ID de traseu
unic
Include ID-ul de traseu în
logurile structurate
Treci de la un traseu lent la liniile exacte de log
Logurile și traseele devin o singură investigație
Citirea hărții serviciilor pentru a identifica blocajul
Începe cu
harta serviciilor
, nu cu logurile
Găsește nodul cu cea mai mare
latență
Detaliază
cronologia traseului
Segmentul cel mai lung este principalul suspect
Urmărirea pe întreaga cerere
API Gateway, Lambda și apelurile ulterioare sunt
urmărite
Fiecare adaugă
segmentul
său la același traseu
Un singur ID de traseu leagă logurile și segmentele
Vizibilitate completă pentru fiecare cerere
Hai să exersăm!
Implementarea aplicațiilor pe AWS
Preparing Video For Download...