← Kembali ke Blog

Monitoring Infrastructure dengan Prometheus dan Grafana

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%.