Amazon CloudWatch ile günlükler ve metrikler

AWS'de Uygulama Dağıtımı

Dunieski Otano

Amazon Web Services Solutions Architect

Kapalı mı?

  • Bir müşteri uygulama bozuk diyor
  • Bunu doğrulayacak ya da yalanlayacak verin yok
  • CloudWatch tahmini yanıta çevirir

Hizmet sağlıklı mı kapalı mı emin olunamayan, soru işaretli bir izleme panosu

AWS'de Uygulama Dağıtımı

Logging vs monitoring vs observability

Günlüklemeyi değiştirilemez olay kayıtları, izlemeyi eşiklere bağlı metrik alarmları ve gözlemlenebilirliği yeni sorulara yanıt için veriyi ilişkilendirme olarak ayıran üç sütunlu diyagram

  • Logging: gerçekleşen ayrık olayları kaydet
  • Monitoring: bilinen metrikleri eşiklere göre izle
  • Observability: verine yeni sorular sor
  • Güvenle çalışmak için üçü de gerekir
AWS'de Uygulama Dağıtımı

Log grupları, log akışları ve saklama süresi

  • Log group: ilgili günlükler için adlandırılmış kap
  • Log stream: tek kaynaktan bir dizi
  • Retention: günlüklerin tutulma süresi
  • Günlükler maliyetlidir; saklama süresini bilinçli ayarla

CloudWatch Logs hiyerarşisi: bir log group içinde birden çok log stream, her biri zaman sıralı olaylar; retention ayarı ve maliyet notuyla

AWS'de Uygulama Dağıtımı

Metrikler ve özel metrikler

  • Metrics: zaman serisi sayısal veriler
  • AWS birçok hizmet metriğini otomatik yayımlar
  • Custom metrics: uygulamanın yaydığı sayılar
  • Boyutlar bir metriği özelliğe göre dilimler

CloudWatch metrikleri: solda otomatik yayımlanan AWS hizmet metrikleri, sağda boyutları olan özel metrik ve eşik alarm çizgili bir zaman serisi grafik

AWS'de Uygulama Dağıtımı

Gömülü metrik biçimi

Tek bir yapılandırılmış günlük satırı, metrik değerlerini ve CloudWatch'a hangi alanların metrik olduğunu söyleyen bir _aws bloğunu taşır:

{
  "_aws": {
    "CloudWatchMetrics": [
      {
        "Namespace": "OrdersApp",
        "Dimensions": [["customerTier"]],
        "Metrics": [{ "Name": "OrderLatencyMs", "Unit": "Milliseconds" }]
      }
    ]
  },
  "customerTier": "premium",
  "OrderLatencyMs": 142
}
AWS'de Uygulama Dağıtımı

Panolar ve alarmlar

Solda CloudWatch pano bileşenleri, sağda OK, ALARM ve INSUFFICIENT_DATA durumlarına sahip alarm durum makinesi; SNS ile e-posta ve otomasyona yönlendirme

  • Dashboard: tek ekranda grafikler ve bileşenler
  • Alarm: metrik eşik aşınca tetiklenir
  • Alarmlar SNS üzerinden e‑posta, SMS veya otomasyona gider
  • Her metrik yerine, kullanıcının hissettiği belirtilere alarm kur
AWS'de Uygulama Dağıtımı

Yapılandırılmış günlükleme stratejisi

  • Serbest metin değil, JSON olarak günlükle
  • timestamp, level, request ID, user ID ekle
  • Yapılandırılmış alanlar filtrelenir ve sorgulanır
  • Hizmetler arası tutarlılık ilişkilendirmeyi mümkün kılar

timestamp, level, requestId ve userId alanları olan yapılandırılmış JSON günlük satırı ve adlandırılmış alanların hassas filtreleme ve toplamayı nasıl sağladığını gösteren Logs Insights sorgusu

AWS'de Uygulama Dağıtımı

Hadi pratik yapalım!

AWS'de Uygulama Dağıtımı

Preparing Video For Download...