Pengenalan AWS CloudWatch
Apa Itu CloudWatch?
AWS CloudWatch adalah layanan monitoring dan observability dari Amazon Web Services. Fungsinya adalah memantau semua yang terjadi di infrastruktur AWS kamu — mulai dari performa server, penggunaan CPU, aktivitas aplikasi, hingga log error yang muncul.
Kalau infrastruktur AWS itu seperti sebuah pabrik, CloudWatch adalah CCTV dan alarm sistemnya.
Analoginya: CloudWatch seperti dokter yang terus memantau kesehatan infrastrukturmu. Jika ada yang tidak normal, dia langsung memberi peringatan sebelum masalahnya makin parah.
Kenapa CloudWatch Penting?
- Deteksi masalah lebih awal — tahu ada masalah sebelum pengguna mengeluh
- Hemat biaya — pantau resource yang tidak terpakai dan matikan jika tidak perlu
- Otomatis bereaksi — bisa dikonfigurasi untuk melakukan tindakan otomatis saat ada anomali
- Satu tempat untuk semua — log, metrik, dan alarm semuanya terpusat di satu layanan
Komponen Utama CloudWatch
1. Metrics
Metrics adalah data numerik yang dikumpulkan dari layanan AWS secara otomatis. Contohnya penggunaan CPU, jumlah request yang masuk, penggunaan memori, dan sebagainya.
Setiap layanan AWS sudah otomatis mengirim metricsnya ke CloudWatch tanpa perlu konfigurasi tambahan.
Contoh metrics yang umum dipantau:
| Layanan | Metrics |
|---|---|
| EC2 (Server) | CPUUtilization, NetworkIn, NetworkOut |
| RDS (Database) | DatabaseConnections, FreeStorageSpace |
| ALB (Load Balancer) | RequestCount, TargetResponseTime |
| Lambda | Invocations, Duration, Errors |
| S3 | BucketSizeBytes, NumberOfObjects |
2. Logs
CloudWatch Logs adalah tempat menyimpan dan menganalisis log dari berbagai sumber — log aplikasi, log server, log Lambda, dan lainnya.
Dengan CloudWatch Logs kamu bisa:
- Melihat log secara real-time
- Mencari teks tertentu dalam log
- Menyimpan log dalam jangka panjang
- Membuat alarm berdasarkan pola log tertentu
Cara kirim log dari EC2 ke CloudWatch:
bash
# Install CloudWatch Agent di EC2
sudo apt install amazon-cloudwatch-agent
# Jalankan agent
sudo systemctl start amazon-cloudwatch-agent
sudo systemctl enable amazon-cloudwatch-agent3. Alarms
Alarm adalah notifikasi yang berjalan otomatis ketika nilai suatu metrik melewati batas yang ditentukan.
Contoh: buat alarm jika CPU server melebihi 80% selama 5 menit — CloudWatch akan langsung kirim notifikasi via email atau SMS.
Contoh membuat alarm lewat AWS CLI:
bash
aws cloudwatch put-metric-alarm \
--alarm-name "CPU-Tinggi" \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--statistic Average \
--period 300 \
--threshold 80 \
--comparison-operator GreaterThanThreshold \
--evaluation-periods 2 \
--alarm-actions arn:aws:sns:ap-southeast-1:123456789:notifikasi-sayaStatus alarm ada tiga:
- OK — kondisi normal, tidak ada masalah
- ALARM — nilai sudah melewati batas yang ditentukan
- INSUFFICIENT_DATA — data belum cukup untuk dinilai
4. Dashboards
Dashboard adalah tampilan visual dari semua metrik yang ingin dipantau dalam satu layar. Kamu bisa membuat grafik CPU, memory, request count, dan lainnya dalam satu halaman.
Berguna untuk memantau kondisi infrastruktur secara keseluruhan secara real-time.
5. Events (CloudWatch Events / EventBridge)
CloudWatch Events memungkinkan kamu menjalankan aksi otomatis berdasarkan kejadian tertentu. Misalnya:
- Setiap jam 00.00, otomatis buat backup database
- Ketika ada EC2 yang mati, otomatis kirim notifikasi
- Ketika deployment selesai, otomatis jalankan testing
Contoh Kasus Penggunaan
Kasus 1: Server CPU terlalu tinggi CloudWatch mendeteksi CPUUtilization EC2 mencapai 90% → alarm aktif → notifikasi dikirim ke email → tim langsung tahu dan bisa segera investigasi.
Kasus 2: Aplikasi error Log dari aplikasi dikirim ke CloudWatch Logs → CloudWatch mendeteksi pola teks "ERROR" muncul lebih dari 10 kali dalam 1 menit → alarm aktif → tim langsung dapat notifikasi.
Kasus 3: Auto Scaling CloudWatch mendeteksi traffic meningkat → alarm memicu Auto Scaling Group untuk menambah jumlah server secara otomatis → traffic tertangani tanpa intervensi manual.
CloudWatch di CloudFormation
Kamu juga bisa membuat alarm CloudWatch langsung lewat template CloudFormation:
yaml
Resources:
AlarmCPU:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmName: "CPU-Terlalu-Tinggi"
AlarmDescription: "Alarm jika CPU lebih dari 80%"
MetricName: CPUUtilization
Namespace: AWS/EC2
Statistic: Average
Period: 300
Threshold: 80
ComparisonOperator: GreaterThanThreshold
EvaluationPeriods: 2
Dimensions:
- Name: InstanceId
Value: !Ref ServerWebKesimpulan
CloudWatch adalah mata dan telinga dari infrastruktur AWS. Tanpa CloudWatch, kamu berjalan buta — tidak tahu apa yang terjadi di dalam sistem sampai ada pengguna yang mengeluh. Dengan CloudWatch, kamu bisa memantau, mendeteksi, dan bereaksi terhadap masalah sebelum berdampak besar.
:
Kirim Komentar: