Alarm CloudWatch dan Alarm Gabungan
Tetapkan alarm berbasis ambang batas untuk memicu Auto Scaling atau notifikasi SNS, lalu gabungkan beberapa alarm menjadi alarm gabungan untuk mengurangi kebisingan peringatan.
Alarm CloudWatch dan Alarm Gabungan adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa Itu Alarm CloudWatch?
Alarm CloudWatch memantau satu metrik atau hasil ekspresi matematika metrik selama periode waktu yang Anda tentukan. Saat metrik melewati ambang batas yang Anda tetapkan, alarm mengubah status dan dapat otomatis memicu tindakan, seperti mengirim notifikasi SNS, menyesuaikan ukuran grup Auto Scaling, menghentikan instans EC2, atau menjalankan OpsItem Systems Manager. Alarm merupakan mekanisme utama untuk respons operasional otomatis di AWS.
Status Alarm
Alarm CloudWatch selalu berada dalam salah satu dari tiga status: OK — metrik berada dalam ambang batas yang ditentukan; ALARM — metrik telah melewati ambang batas selama jumlah periode evaluasi yang diperlukan; DATA_TIDAK_MEMADAI — alarm baru saja dibuat, metrik tidak tersedia, atau data yang terkumpul belum mencukupi. Perubahan status memicu tindakan yang dikonfigurasi untuk perubahan tersebut — Anda dapat menggunakan topik SNS yang berbeda untuk status OK, ALARM, dan DATA_TIDAK_MEMADAI.
# View all alarms and their current state
aws cloudwatch describe-alarms \
--query 'MetricAlarms[].{Name:AlarmName,State:StateValue,Metric:MetricName}' \
--output table
# List only alarms currently in ALARM state
aws cloudwatch describe-alarms \
--state-value ALARM \
--query 'MetricAlarms[].AlarmName'Membuat Alarm CloudWatch
Saat membuat alarm, Anda menentukan: metrik dan namespace, statistik (Average, Sum, Maximum, dan sebagainya), periode (seberapa sering metrik dievaluasi dalam detik), periode evaluasi (berapa banyak periode berturut-turut yang harus melewati ambang batas), nilai ambang batas, dan operator perbandingan. Alarm terpicu saat metrik melewati ambang batas selama jumlah periode evaluasi berturut-turut yang ditentukan.
# Create an alarm: trigger when CPU > 70% for 2 consecutive 5-min periods
aws cloudwatch put-metric-alarm \
--alarm-name HighCPUAlarm \
--alarm-description 'Trigger when EC2 CPU exceeds 70%' \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--dimensions Name=InstanceId,Value=i-0123456789abcdef0 \
--statistic Average \
--period 300 \
--evaluation-periods 2 \
--threshold 70 \
--comparison-operator GreaterThanThreshold \
--alarm-actions arn:aws:sns:us-east-1:111122223333:AlertTeamTindakan Alarm: SNS, Auto Scaling, EC2
Tindakan alarm dapat menargetkan beberapa tujuan: topik Amazon SNS (untuk mengirim email, SMS, atau memicu Lambda), kebijakan Auto Scaling (untuk memperkecil atau memperbesar ASG), dan tindakan EC2 (untuk menghentikan, mengakhiri, memulai ulang, atau memulihkan instans EC2). Untuk setiap status (OK, ALARM, DATA_TIDAK_MEMADAI), Anda dapat menentukan kumpulan tindakan yang berbeda — misalnya, beri tahu tim saat ALARM, beri tahu saat pemulihan dengan OK, dan kirim peringatan saat DATA_TIDAK_MEMADAI untuk mendeteksi celah pemantauan.
# Alarm that stops an idle EC2 instance when CPU < 1% for 30 min
aws cloudwatch put-metric-alarm \
--alarm-name LowCPUStopInstance \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--dimensions Name=InstanceId,Value=i-0123456789abcdef0 \
--statistic Average \
--period 300 \
--evaluation-periods 6 \
--threshold 1 \
--comparison-operator LessThanThreshold \
--alarm-actions arn:aws:swf:us-east-1:111122223333:action/actions/AWS_EC2.InstanceId.Stop/1.0Penanganan Data yang Hilang
Saat CloudWatch mengevaluasi alarm dan beberapa titik data hilang, Anda harus menentukan cara menanganinya. Opsinya adalah: notBreaching (memperlakukan data yang hilang sebagai data dalam ambang batas — alarm tetap OK jika data lainnya OK), breaching (memperlakukan data yang hilang sebagai data yang melampaui ambang batas — alarm berpindah ke ALARM), ignore (status alarm tidak berubah), dan missing (alarm berpindah ke DATA_TIDAK_MEMADAI). Pemilihan opsi yang salah menyebabkan positif palsu atau kegagalan yang tidak terdeteksi — nuansa penting dalam ujian SAA-C03.
# Set missing data treatment on an alarm
aws cloudwatch put-metric-alarm \
--alarm-name WebsiteLatencyAlarm \
--metric-name TargetResponseTime \
--namespace AWS/ApplicationELB \
--statistic Average \
--period 60 \
--evaluation-periods 3 \
--threshold 2.0 \
--comparison-operator GreaterThanThreshold \
--treat-missing-data breaching \
--alarm-actions arn:aws:sns:us-east-1:111122223333:OpsResolusi Alarm dan Periode Evaluasi
Resolusi alarm adalah hasil kali periode × periode evaluasi. Misalnya, periode 60 detik dengan 5 periode evaluasi berarti alarm mempertimbangkan 5 titik data berturut-turut yang masing-masing berdurasi 1 menit. Secara bawaan, alarm hanya berpindah ke ALARM jika kelima periode melewati ambang batas. Anda dapat mengonfigurasi datapoints-to-alarm agar hanya memerlukan M dari N periode untuk melewati ambang batas — misalnya, 3 dari 5 — sehingga mengurangi positif palsu akibat lonjakan sementara.
# Alarm that requires 3 out of 5 periods to breach (reduces false positives)
aws cloudwatch put-metric-alarm \
--alarm-name CPUSpike \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--dimensions Name=AutoScalingGroupName,Value=my-asg \
--statistic Average \
--period 60 \
--evaluation-periods 5 \
--datapoints-to-alarm 3 \
--threshold 80 \
--comparison-operator GreaterThanThreshold \
--alarm-actions arn:aws:autoscaling:us-east-1:111122223333:scalingPolicy:...Alarm Komposit: Menggabungkan Beberapa Alarm
Alarm komposit mengevaluasi status beberapa alarm lain menggunakan logika Boolean (AND, OR, NOT). Alarm ini memasuki status ALARM hanya jika ekspresi aturannya menghasilkan nilai true. Alarm komposit digunakan untuk mengurangi kebisingan peringatan — misalnya, kirim peringatan hanya jika alarm CPU tinggi DAN latensi tinggi aktif secara bersamaan, karena CPU tinggi saja mungkin wajar selama pemrosesan batch. Anda juga dapat menggunakan alarm komposit untuk menekan alarm turunan selama jendela pemeliharaan.
# Create a composite alarm (alerts only when BOTH CPU and latency are high)
aws cloudwatch put-composite-alarm \
--alarm-name HighLoadComposite \
--alarm-rule 'ALARM("HighCPUAlarm") AND ALARM("HighLatencyAlarm")' \
--alarm-actions arn:aws:sns:us-east-1:111122223333:CriticalOps \
--alarm-description 'Alert only when both CPU and latency are elevated'Penekanan Alarm dengan Alarm Komposit
Alarm komposit mendukung tindakan penekanan alarm — Anda dapat mengonfigurasi alarm komposit untuk menekan alarm turunannya selama pemeliharaan terencana. Misalnya, selama jendela penerapan, Anda dapat menetapkan alarm komposit yang menggabungkan alarm 'MaintenanceMode' dengan logika OR, sehingga menekan semua notifikasi alarm turunan selama pemeliharaan aktif. Tindakan ini mencegah banjir peringatan saat Anda sengaja membuat layanan tidak tersedia untuk pemutakhiran.
# Composite alarm with suppression: alert UNLESS maintenance is active
aws cloudwatch put-composite-alarm \
--alarm-name ProductionAlerts \
--alarm-rule 'ALARM("HighCPUAlarm") AND NOT ALARM("MaintenanceModeAlarm")' \
--alarm-actions arn:aws:sns:us-east-1:111122223333:ProductionOpsIntegrasi dengan Kebijakan Auto Scaling
Grup Auto Scaling menggunakan alarm CloudWatch sebagai pemicu untuk kebijakan penskalaan bertahap dan penskalaan sederhana. Saat alarm memasuki status ALARM, kebijakan penskalaan dijalankan. Untuk penskalaan bertahap, Anda menentukan beberapa penyesuaian penskalaan untuk rentang ambang batas yang berbeda — misalnya, menambahkan 1 instans jika CPU 70–80%, menambahkan 3 jika CPU 80–90%, dan menambahkan 5 jika CPU di atas 90%. Alarm memicu langkah pertama yang berlaku berdasarkan tingkat pelampauan saat evaluasi.
# Create a scale-out alarm linked to an ASG scaling policy
aws cloudwatch put-metric-alarm \
--alarm-name ScaleOutTrigger \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--dimensions Name=AutoScalingGroupName,Value=my-asg \
--statistic Average \
--period 60 \
--evaluation-periods 2 \
--threshold 70 \
--comparison-operator GreaterThanThreshold \
--alarm-actions arn:aws:autoscaling:us-east-1:111122223333:scalingPolicy:POLICY_ARNAlarm Penagihan CloudWatch
Anda dapat membuat alarm penagihan di CloudWatch agar diberi tahu saat perkiraan biaya AWS melampaui ambang batas. Metrik penagihan hanya diterbitkan di Wilayah us-east-1 (di mana pun sumber daya Anda dijalankan) dan diperbarui kira-kira setiap 6 jam. Untuk mengaktifkan alarm penagihan, Anda harus terlebih dahulu mengaktifkan Billing Alerts di konsol AWS Billing. Alat yang lebih presisi adalah AWS Budgets, tetapi alarm penagihan CloudWatch tetap merupakan opsi yang valid dan diujikan dalam ujian.
# Create a billing alarm for $100 threshold
aws cloudwatch put-metric-alarm \
--region us-east-1 \
--alarm-name MonthlyBillingAlert \
--alarm-description 'Alert when estimated charges exceed $100' \
--metric-name EstimatedCharges \
--namespace AWS/Billing \
--dimensions Name=Currency,Value=USD \
--statistic Maximum \
--period 86400 \
--evaluation-periods 1 \
--threshold 100 \
--comparison-operator GreaterThanThreshold \
--alarm-actions arn:aws:sns:us-east-1:111122223333:BillingAlertsMenguji dan Memantau Alarm
Anda dapat menetapkan status alarm secara manual menggunakan perintah set-alarm-state untuk menguji tindakan alarm tanpa menunggu pelampauan ambang batas yang sebenarnya. Hal ini berguna untuk memverifikasi bahwa topik SNS, kebijakan Auto Scaling, dan fungsi Lambda Anda merespons dengan benar. Selalu uji tindakan alarm di lingkungan nonproduksi dan pastikan langganan email yang benar pada topik SNS telah dikonfirmasi sebelum mengandalkan alarm untuk peringatan produksi.
# Manually trigger an alarm for testing (does NOT persist — reverts on next evaluation)
aws cloudwatch set-alarm-state \
--alarm-name HighCPUAlarm \
--state-value ALARM \
--state-reason 'Testing alarm action'
# Watch alarm state history
aws cloudwatch describe-alarm-history \
--alarm-name HighCPUAlarm \
--history-item-type StateUpdate \
--query 'AlarmHistoryItems[].{Time:Timestamp,Summary:HistorySummary}'Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Rangkuman Pelajaran
Dalam pelajaran ini, Anda mempelajari bahwa alarm memiliki tiga status (OK, ALARM, DATA_TIDAK_MEMADAI) dan dapat memicu tindakan SNS, Auto Scaling, serta EC2; datapoints-to-alarm memungkinkan evaluasi M-dari-N untuk mengurangi positif palsu; dan alarm komposit menggunakan logika Boolean untuk menggabungkan beberapa alarm serta menekan kebisingan peringatan. Selanjutnya, kita akan membahas CloudWatch Logs dan Log Insights untuk pengelolaan log terpusat.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Alarm CloudWatch dan Alarm Gabungan” gratis?
Ya — teks lengkap “Alarm CloudWatch dan Alarm Gabungan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Alarm CloudWatch dan Alarm Gabungan”?
Tetapkan alarm berbasis ambang batas untuk memicu Auto Scaling atau notifikasi SNS, lalu gabungkan beberapa alarm menjadi alarm gabungan untuk mengurangi kebisingan peringatan. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?
Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Alarm CloudWatch dan Alarm Gabungan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?
Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Metrik, Ruang Nama, dan Dimensi CloudWatch
- Alarm CloudWatch dan Alarm Gabungan
- Log CloudWatch dan Log Insights
- Dasbor CloudWatch dan Container Insights