Pencatatan log dan metrik dengan Amazon CloudWatch

Mendeploy Aplikasi di AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Apakah sedang down?

  • Seorang pelanggan bilang aplikasinya rusak
  • Anda tak punya data untuk memastikan atau menyangkal
  • CloudWatch mengubah tebakan menjadi jawaban

Dasbor pemantauan dengan tanda tanya, ragu apakah layanan sehat atau down

Mendeploy Aplikasi di AWS

Logging vs monitoring vs observability

Diagram tiga kolom yang membedakan logging sebagai catatan peristiwa yang tak dapat diubah, monitoring sebagai ambang metrik dengan alarm, dan observability sebagai korelasi data untuk menjawab pertanyaan baru

  • Logging: merekam peristiwa diskret saat terjadi
  • Monitoring: melacak metrik yang dikenal terhadap ambang
  • Observability: mengajukan pertanyaan baru pada data Anda
  • Anda memerlukan ketiganya untuk beroperasi dengan yakin
Mendeploy Aplikasi di AWS

Log group, log stream, dan retention

  • Log group: kontainer bernama untuk log terkait
  • Log stream: urutan dari satu sumber
  • Retention: lamanya log disimpan
  • Log berbiaya; atur retention dengan sengaja

Hierarki CloudWatch Logs: log group berisi beberapa log stream, tiap stream menampilkan urutan peristiwa menurut waktu, dengan pengaturan periode retensi dan catatan biaya

Mendeploy Aplikasi di AWS

Metrik dan metrik kustom

  • Metrik: data numerik runtun waktu
  • AWS memublikasikan banyak metrik layanan secara otomatis
  • Custom metrics: angka yang diterbitkan aplikasi Anda
  • Dimensi membagi metrik menurut atribut

Metrik CloudWatch: metrik layanan AWS terpublikasi otomatis di kiri, metrik kustom dengan dimensi di kanan, dan bagan runtun waktu dengan garis ambang alarm

Mendeploy Aplikasi di AWS

Embedded metric format

Satu baris log terstruktur memuat nilai metrik Anda plus blok _aws yang memberi tahu CloudWatch bidang mana yang merupakan metrik:

{
  "_aws": {
    "CloudWatchMetrics": [
      {
        "Namespace": "OrdersApp",
        "Dimensions": [["customerTier"]],
        "Metrics": [{ "Name": "OrderLatencyMs", "Unit": "Milliseconds" }]
      }
    ]
  },
  "customerTier": "premium",
  "OrderLatencyMs": 142
}
Mendeploy Aplikasi di AWS

Dasbor dan alarm

Panel widget dasbor CloudWatch di kiri dan state machine alarm dengan status OK, ALARM, dan INSUFFICIENT_DATA di kanan, perutean notifikasi SNS ke email dan otomasi

  • Dashboard: satu layar berisi bagan dan widget
  • Alarm: aktif saat metrik melewati ambang
  • Alarm dirutekan ke SNS, lalu email, SMS, atau otomasi
  • Pasang alarm pada gejala yang dirasakan pengguna, bukan tiap metrik
Mendeploy Aplikasi di AWS

Strategi logging terstruktur

  • Log sebagai JSON, bukan teks bebas
  • Sertakan timestamp, level, request ID, user ID
  • Bidang terstruktur dapat difilter dan dikueri
  • Konsistensi antarlayanan memungkinkan korelasi

Baris log JSON terstruktur dengan bidang timestamp, level, requestId, dan userId, serta kueri Logs Insights yang menunjukkan bagaimana bidang bernama memungkinkan pemfilteran dan agregasi yang presisi

Mendeploy Aplikasi di AWS

Ayo berlatih!

Mendeploy Aplikasi di AWS

Preparing Video For Download...