Monitoring adalah mata dan telinga infrastruktur. Tanpa monitoring yang baik, Anda beroperasi secara buta. Berdasarkan pengalaman setup monitoring untuk production cluster di Badr Interactive, berikut panduan lengkapnya.
Stack yang Digunakan
- Prometheus — Metrics collection & alerting
- Grafana — Dashboard & visualization
- AlertManager — Alert routing & notification
- Node Exporter — Server metrics
- kube-state-metrics — Kubernetes metrics
Setup Prometheus
# prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'kubernetes-nodes'
kubernetes_sd_configs:
- role: node
- job_name: 'kubernetes-pods'
kubernetes_sd_configs:
- role: pod
Dashboard yang Wajib Ada
1. RED Metrics (Rate, Errors, Duration)
Metrik paling penting untuk setiap service. Saya selalu punya panel:
- Request rate per endpoint
- Error rate (5xx, 4xx)
- Response time distribution (p50, p95, p99)
2. Infrastructure Health
- CPU, Memory, Disk usage per node
- Network I/O
- Pod status & restarts
3. Business Metrics
Metrics spesifik aplikasi: active users, orders, transactions — ini yang paling dilihat stakeholder.
Alerting Strategy
Alert harus actionable dan tidak noisy:
- Page urgency: PagerDuty untuk incident (on-call)
- Warning: Slack/Email untuk issue yang perlu diinvestigasi
- Info: Dashboard annotations untuk trend analysis
Hasil
Dengan monitoring yang baik, Mean Time To Detect (MTTD) turun dari 45 menit menjadi 3 menit, dan Mean Time To Resolve (MTTR) turun 60%.