Alarm dan notifikasi CloudWatch

Pemantauan dan Pemecahan Masalah AWS

John Q. Martin

Principal Consultant

Apa itu CloudWatch Alarms

 

Konsep utama

  • Memantau satu metrik selama periode waktu
  • Melakukan aksi saat metrik melewati ambang

 

Enam komponen inti alarm CloudWatch: metric, threshold, period, evaluation periods, datapoints to alarm, dan actions

Pemantauan dan Pemecahan Masalah AWS

Status alarm

Tiga status alarm CloudWatch: OK, ALARM, dan INSUFFICIENT_DATA

Diagram transisi status alarm CloudWatch saat data metrik masuk

Pemantauan dan Pemecahan Masalah AWS

Evaluasi alarm

 

  1. Kumpulkan data point pada interval tertentu
  2. Terapkan statistik (Average, Sum, Max, Min) per periode
  3. Bandingkan hasil dengan ambang
  4. Hitung periode evaluasi yang melanggar
  5. Ubah status jika ambang datapoints-to-alarm terpenuhi

 

Metric: CPUUtilization > 80%
Period: 5 min | 
Eval Periods: 3 | 
Datapoints to Alarm: 2 of 3

Period 1: 85% (breach) | 
Period 2: 75% (ok) | 
Period 3: 90% (breach)
Result: ALARM — 2 of 3 breached
Pemantauan dan Pemecahan Masalah AWS

Strategi evaluasi

 

Tiga strategi evaluasi alarm: consecutive, partial, dan single breach beserta kompromi sensitivitasnya

Pemantauan dan Pemecahan Masalah AWS

Jenis dan pemicu aksi alarm

 

Pemicu aksi

  • OK
  • ALARM
  • INSUFFICIENT_DATA

 

Jenis aksi

  • Notifikasi SNS
  • Auto Scaling
  • Aksi EC2 (stop/terminate/reboot/recover)
  • Systems Manager
Pemantauan dan Pemecahan Masalah AWS

Perilaku data hilang

 

Opsi perilaku data hilang pada alarm: notBreaching, breaching, ignore, dan missing

Pemantauan dan Pemecahan Masalah AWS

Membuat alarm standar: AWS CLI

aws cloudwatch put-metric-alarm \
  --alarm-name HighCPUUtilization \
  --alarm-description "Alert when CPU exceeds 80%" \
  --metric-name CPUUtilization \
  --namespace AWS/EC2 \
  --statistic Average \
  --period 300 \
  --evaluation-periods 2 \
  --threshold 80 \
  --comparison-operator GreaterThanThreshold \
  --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
  --alarm-actions arn:aws:sns:us-east-1:123456789012:my-topic
Pemantauan dan Pemecahan Masalah AWS

Alarm komposit: apa dan mengapa

Masalah

  • Banyak alarm terkait menyala terpisah = kelelahan alert

Solusi

  • Gabungkan alarm dengan operator logika

Logika alarm komposit yang menggabungkan alarm anak dengan operator AND, OR, dan NOT

Pemantauan dan Pemecahan Masalah AWS

Membuat alarm komposit: AWS CLI

aws cloudwatch put-composite-alarm \
  --alarm-name CriticalSystemHealth \
  --alarm-description "Critical when CPU and Memory both high" \
  --actions-enabled \
  --alarm-actions arn:aws:sns:us-east-1:123456789012:critical-alerts \
  --alarm-rule "ALARM(HighCPUAlarm) AND ALARM(HighMemoryAlarm)"
Contoh aturan kompleks
--alarm-rule "(ALARM(HighErrorRate) OR ALARM(HighLatency)) \
  AND NOT ALARM(MaintenanceMode)"
Pemantauan dan Pemecahan Masalah AWS

Strategi pemilihan ambang

Empat strategi pemilihan ambang: baseline deviation, batas kapasitas, target SLA, dan laju perubahan

Pemantauan dan Pemecahan Masalah AWS

Strategi alarm multi-tingkat

 

Respons alarm bertingkat: peringatan, kritis, dan darurat yang diarahkan ke SNS terpisah

Contoh: Peringatan CPU di 75%, Kritis di 90%, masing-masing ke topik SNS berbeda

Pemantauan dan Pemecahan Masalah AWS

Alarm deteksi anomali

aws cloudwatch put-metric-alarm \
  --alarm-name AnomalousTraffic \
  --comparison-operator LessThanLowerOrGreaterThanUpperThreshold \
  --metrics '[
    {"Id":"m1","MetricStat":{"Metric":{"Namespace":"AWS/ApplicationELB",
      "MetricName":"RequestCount"},"Period":300,"Stat":"Average"}},
    {"Id":"e1","Expression":"ANOMALY_DETECTION_BAND(m1, 2)"}
  ]'
  • Model Machine Learning mempelajari perilaku metrik normal
  • Membuat pita ambang dinamis (dapat dikonfigurasi)
  • Beradaptasi dengan pola harian/mingguan
  • Mengurangi penyetelan ambang manual
Pemantauan dan Pemecahan Masalah AWS

Alarm sumber daya: Lambda dan ALB

Alarm Lambda

Alarm Lambda yang direkomendasikan memantau jumlah error, throttle, dan durasi tinggi mendekati batas timeout

Alarm ALB

Alarm ALB yang direkomendasikan memantau waktu respons target, host tidak sehat, dan jumlah error 5xx

Pemantauan dan Pemecahan Masalah AWS

Praktik terbaik pengelolaan alarm

  • Penamaan: <Service>-<Metric>-<Resource>-<Severity>
  • Deskripsi: apa yang dipantau, ambang, petunjuk pemecahan masalah, tautan runbook
  • Tag: Environment, Team, Severity
  • Tinjau bulanan: sesuaikan ambang, hapus yang usang, perbarui aksi
aws cloudwatch set-alarm-state \
  --alarm-name MyAlarm \
  --state-value ALARM \
  --state-reason "Testing alarm notification"
Pemantauan dan Pemecahan Masalah AWS

Ringkasan video

  • Tiga status alarm: OK, ALARM, INSUFFICIENT_DATA
  • Strategi evaluasi: consecutive, partial, single breach
  • Alarm komposit menggabungkan banyak alarm dengan AND, OR, NOT
  • Empat strategi ambang: statistik, kapasitas, SLA, laju perubahan
  • Peringatan bertingkat: warning → critical → emergency
  • Alarm sumber daya untuk Lambda (errors, throttles, duration) dan ALB (5xx, latensi)
Pemantauan dan Pemecahan Masalah AWS

Ayo berlatih!

Pemantauan dan Pemecahan Masalah AWS

Preparing Video For Download...