Di balik setiap aplikasi modern, terdapat aliran metrik seperti CPU, memory, dan latency yang mencerminkan kondisi kesehatan sistem secara real-time. Untuk menjaga layanan tetap stabil, banyak tim operasional dan engineering mengandalkan Amazon CloudWatch sebagai platform monitoring andalan mereka.
Masalahnya, banyak tim masih menyetel CloudWatch Alarm dengan threshold statis. Pendekatan ini memang sederhana, tetapi sudah tidak lagi memadai untuk mengikuti dinamika performa aplikasi yang terus berubah.
Mengapa Threshold Statis Tidak Lagi Cukup?
Variasi beban yang kecil dapat memengaruhi performa aplikasi, tetapi threshold statis sering gagal mengenali perubahan bertahap. Akibatnya, gejala awal tidak terdeteksi hingga masalah membesar. Hal ini biasanya disebabkan oleh dua faktor berikut:
Pola Trafik yang Dinamis
Aplikasi sering memiliki ritme penggunaan harian. Trafik naik saat jam makan siang, turun di malam hari, atau melonjak saat ada event. Dengan pola yang berubah-ubah (seasonal behavior) seperti ini, satu threshold statis sulit menggambarkan kondisi “normal”, sehingga alarm bisa memicu peringatan yang tidak diperlukan (false alarm) atau tidak aktif ketika performa mulai menurun.
Tantangan Menentukan Threshold
Threshold yang terlalu sensitif mudah memicu false alarm, sedangkan threshold yang terlalu longgar dapat membuat gejala awal penurunan performa terabaikan sehingga masalah baru terlihat ketika sudah terlambat.
Apa Solusinya?
AWS menyediakan fitur CloudWatch Anomaly Detection, yang menawarkan pendekatan monitoring jauh lebih adaptif. Fitur ini membangun model machine learning secara otomatis dengan mempelajari pola historis metrik—baik perubahan per jam, harian, maupun mingguan. Dari pola tersebut, sistem kemudian membuat confidence band yang menunjukkan batas atas dan bawah dari nilai normal.
Jika suatu metrik keluar dari band tersebut, alarm akan aktif secara otomatis. Dengan mekanisme ini, tanda-tanda penurunan performa bisa terdeteksi lebih cepat, bahkan sebelum terlihat jelas di dashboard atau dirasakan oleh pengguna.
Keunggulan CloudWatch Anomaly Detection
Deteksi Otomatis
Menghilangkan kebutuhan membuat dan menyesuaikan threshold manual satu per satu.
Adaptif terhadap Pola Penggunaan
Menyesuaikan rentang normal berdasarkan pola harian, mingguan, atau periode sibuk tertentu.
Lebih Peka terhadap Perubahan Kecil
Mendeteksi deviasi halus yang dapat memengaruhi pengalaman pengguna jauh lebih awal.
Alur Kerja CloudWatch Anomaly Detection

1. Layanan AWS Mengirimkan Metrik ke CloudWatch
Layanan seperti Application Load Balancer, EC2, dan RDS secara otomatis mengirimkan metrik performa—seperti latency, CPU, atau error rate—ke Amazon CloudWatch.
2. CloudWatch Anomaly Detection Menganalisis Pola Normal
CloudWatch Anomaly Detection Alarm menggunakan model machine learning untuk membaca pola historis dan membentuk rentang nilai normal (confidence band) berdasarkan perilaku metrik harian, mingguan, atau periode sibuk tertentu.
3. Alarm Menyala Saat Nilai Metrik Tidak Sesuai Pola Normal
Ketika metrik bergerak di luar rentang yang dianggap normal, CloudWatch Anomaly Detection Alarm langsung aktif dan meneruskan kejadian tersebut ke Amazon SNS (Simple Notification Service).
4. Notifikasi Dikirimkan Melalui Amazon SNS
Amazon SNS kemudian mengirimkan notifikasi ke berbagai kanal seperti email, Slack (via AWS Chatbot), PagerDuty, SMS, atau bahkan menjalankan aksi otomatis melalui AWS Lambda.
5. Pengguna Menerima Notifikasi
Pengguna menerima notifikasi dan dapat segera melakukan investigasi atau tindakan korektif sesuai prosedur operasional.
Cara Mengaktifkan Anomaly Detection di CloudWatch
Step 1: Pilih Metrik yang Akan Dimonitor
- Login ke AWS Console → CloudWatch → Metrics
- Pilih Metric → Graphed Metrics

Contoh: Application ELB Metrics → Target Response Time (latency).
Notes: Sediakan setidaknya dua minggu data historis agar model dapat mempelajari pola dengan stabil. Semakin banyak data yang tersedia, semakin akurat hasil deteksinya.
Step 2: Aktifkan Anomaly Detection di Grafik Metrik
1. Di halaman Graphed metrics → Klik Pulse icon

Di grafik, akan muncul area berwarna abu-abu (grey band) yang menunjukkan rentang nilai normal. Setiap nilai yang berada di luar pola tersebut akan ditandai sebagai anomali dan ditampilkan dalam warna merah.
Notes: Sensitivitas anomaly detection dapat disesuaikan dengan mempersempit atau memperlebar grey band. Pengaturan ini dilakukan melalui Metric Math menggunakan fungsi ANOMALY_DETECTION_BAND (metric, stddev), yang memiliki dua parameter:
Parameter Pertama: Metrik yang Dianalisis
Menentukan metrik mana yang akan diproses oleh anomaly detection (misalnya m1 pada contoh).
Parameter Kedua: Standard Deviation
Mengatur jumlah standard deviation yang digunakan untuk menentukan lebar band (misalnya 2 pada contoh).
- Nilai lebih tinggi → Band lebih lebar (lebih toleran terhadap variasi)
- Nilai lebih rendah → Band lebih sempit (lebih sensitif terhadap anomali)
2. Setelah disesuaikan, klik Apply untuk simpan pengaturan.
Step 3: Buat Alarm Berdasarkan Anomaly Detection
1. Klik Bell Icon

2. Pada Bagian Conditions:


Pilih statistik yang ingin digunakan (misalnya Average atau p90), lalu tentukan kondisi alarm:
- Outside of the band: Nilai berada di atas atau di bawah band.
- Greater than the band: Nilai berada di atas band.
- Lower than the band: Nilai berada di bawah band.
Klik Next untuk melanjutkan.
3. Pada Bagian Notification:

- Pilih Create New Topic jika belum tersedia.
- Beri nama topik, misalnya Anomaly Detection Topic.
- Masukkan email penerima untuk notifikasi.
- Klik Create Topic, lalu Next untuk melanjutkan.
4. Pada Bagian Alarm Details:

- Beri nama alarm, misalnya ALB-TargetResponseTime-Anomaly-Alarm.
- Klik Next untuk melanjutkan.
5. Review Kembali Konfigurasinya

- Klik Create Alarm jika seluruh konfigurasi sudah sesuai.
- Cek inbox e-mail penerima untuk konfirmasi subscription dari SNS.
- Setelah penerima mengklik Confirm Subscription, alarm langsung aktif dan siap mengirim notifikasi.
Jika Anomaly Detection Tidak Berfungsi dengan Optimal
Dalam praktiknya, ada kalanya hasil anomaly detection tidak seakurat yang diharapkan. Beberapa kondisi yang kerap muncul antara lain:
- Lonjakan sesaat (spike) terbaca sebagai pola normal.
- Alarm terasa terlalu sensitif dan terlalu sering aktif.
- Anomaly band tidak muncul sehingga alarm tidak dapat bekerja dengan benar.
Jika hasilnya belum optimal atau Anda membutuhkan fine-tuning, silakan cek panduan resmi AWS berikut untuk membantu troubleshooting:
Baca: “How do I manage and troubleshoot CloudWatch anomaly detection bands?”
Estimasi Biaya Penggunaan
CloudWatch Anomaly Detection menghitung lebih dari satu metrik ketika alarm dibuat. Setiap alarm akan memproses tiga metrik sekaligus:
- Metric asli (actual metric)
- Batas atas (upper bound)
- Batas bawah (lower bound)
Karena itu, biaya dihitung berdasarkan total metrik yang diproses. Berikut contoh perhitungannya:
- 1 anomaly detection alarm → 3 metrik × $0.10 = $0.30 per bulan
- 5 anomaly detection alarms → $1.50 per bulan
Notes:
- Contoh biaya di atas menggunakan tarif standard resolution metrics di region US East (North Virginia). Harga dapat berbeda di region lain.
- Mengaktifkan model anomaly detection tanpa membuat alarm tidak menimbulkan biaya alarm tambahan.
Kesimpulan
CloudWatch Anomaly Detection memberikan pendekatan pemantauan yang jauh lebih adaptif. Dengan membaca pola historis dan menangkap deviasi kecil lebih awal, fitur ini membantu tim mendeteksi potensi masalah sebelum memengaruhi pengguna—tanpa bergantung pada threshold statis yang sering kali kurang akurat.
Untuk mulai memanfaatkannya, Anda hanya perlu:
- Memilih metrik yang relevan.
- Mengaktifkan anomaly detection.
- Membuat alarm berbasis anomaly band.
- Menghubungkan alarm ke kanal notifikasi tim.
- Melakukan peninjauan dan penyesuaian berkala.
Pendekatan ini meningkatkan observabilitas, menjaga stabilitas aplikasi di berbagai kondisi, dan memastikan pengalaman pengguna tetap optimal.
Jika Anda ingin menerapkan CloudWatch Anomaly Detection secara lebih efektif, tim ahli Central Data Technology (CDT) siap membantu Anda melalui link berikut.
Penulis: Gerda Iswari
Editor: Danurdhara Suluh Prasasta
CTI Group Content Writer
