AWS X-Ray ile dağıtık izleme ve yapılandırılmış günlüğe kaydetme

AWS'de Uygulama Dağıtımı

Dunieski Otano

Amazon Web Services Solutions Architect

Kimsenin bulamadığı yavaş istek

  • Bir istek dört saniye sürüyor
  • Her servisin günlükleri tek başına normal görünüyor
  • Kimse tüm yolu göremiyor

Kırmızı bir dar boğaz düğümüyle, dağıtık hizmet haritasında yavaş bir isteği büyüteçle izleme

AWS'de Uygulama Dağıtımı

Dağıtık izlemenin çözdükleri

Solda kırmızı izole servis başına günlük adacıkları; sağda API Gateway, Lambda, DynamoDB ve harici API boyunca aynı isteği birleştiren yeşil birleştirilmiş X-Ray Gantt iz çizelgesi

  • Tek bir istek birçok servise dokunur
  • Günlükler tek başına uçtan uca yolu göstermez
  • Bir trace tüm isteği bir araya getirir
  • Zamanın nereye gittiğini net gör
AWS'de Uygulama Dağıtımı

Segmentler, subsegmentler ve service map

  • Segment: bir servisin yaptığı iş
  • Subsegment: bir segment içindeki birim, ör. DB çağrısı
  • Service map: tüm segmentlerin görsel grafı
  • Gecikme ve hatalar her düğümde görünür

X-Ray iz yapısı: servis başına segment, DB çağrıları için subsegmentler; her düğümde gecikme ve hata oranını gösteren bir service map grafında birleştirilmiş

AWS'de Uygulama Dağıtımı

Annotations ve metadata


Annotations

  • Dizinlenen anahtar-değerler; filtrelenebilir
  • Müşteri katmanı gibi arayacağın şeyler için kullan

Metadata

  • Ek detay, dizinlenmez
  • Bağlam için ekle, ama bununla arama yapamazsın
AWS'de Uygulama Dağıtımı

Günlükleri trace ID'lerle ilişkilendirme

  • Her iz için benzersiz bir trace ID vardır
  • Yapılandırılmış günlüklerine trace ID ekle
  • Yavaş bir izden tam ilgili günlük satırlarına atla
  • Günlükler ve izler tek bir inceleme olur

xray_trace_id alanı vurgulanmış yapılandırılmış günlük satırı; ilişkilendirilmiş inceleme için X-Ray iz görünümünden CloudWatch Logs'taki eşleşen günlük satırlarına ok işareti

AWS'de Uygulama Dağıtımı

Darboğazı bulmak için service map'i okumak

Yüksek gecikmeli düğümü vurgulanmış X-Ray service map; en uzun segment çubuğunun darboğaz olarak belirlendiği iz zaman çizelgesine ayrıntıya inme

  • Service map ile başla, günlüklerle değil
  • En yüksek gecikmeye sahip düğümü bul
  • İz zaman çizelgesine in
  • En uzun segment şüphelindir
AWS'de Uygulama Dağıtımı

Tüm istek boyunca izleme

  • API Gateway, Lambda ve aşağı akış çağrılarının hepsi izlenir
  • Her biri aynıize kendi segmentini ekler
  • Tek bir trace ID günlükleri ve segmentleri bağlar
  • Her istek için uçtan uca görünürlük

API Gateway'den Lambda'ya, oradan DynamoDB ve harici API'ye uçtan uca dağıtık iz; her segment başlığında tüm günlük ve segmentleri bağlayan tek bir trace ID görünür

AWS'de Uygulama Dağıtımı

Hadi pratik yapalım!

AWS'de Uygulama Dağıtımı

Preparing Video For Download...