Monitoring EC2 di Auto Scaling Group dengan Prometheus Self-Hosted
Prometheus saya selama ini memantau server-server EC2 dengan static_configs: daftar IP ditulis manual satu per satu. Untuk server yang tetap, cara itu masih oke. Masalahnya muncul waktu ada aplikasi yang jalan di Auto Scaling Group (ASG) dengan kapasitas 2 sampai 50 instance. IP-nya datang dan pergi mengikuti scaling, dan nggak mungkin saya edit prometheus.yml setiap kali ASG scale out. Solusinya ada tiga bagian: Instance di ASG ── node_exporter (:9100) ▲ │ scrape, target ditemukan lewat EC2 service discovery │ Prometheus self-hosted ──► Grafana │ └── cloudwatch_exporter (:9106) ◄── CloudWatch ◄── ALB (RPS, latency, error) 1. Pasang Node Exporter lewat User Data Instance di ASG dibuat dari Launch Template, jadi node_exporter harus terpasang otomatis saat instance pertama kali boot. Tempatnya di EC2 → Launch Templates → pilih template → Actions → Modify template (Create new version) → Advanced details → User data. ...