Paket 2 · Praktik LanjutanModul G — Monitoring, Logging & Observability

Incident Troubleshooting & Production Monitoring

Alur penanganan insiden, on-call, dashboard, SLO burn rate, komunikasi, dan postmortem yang efektif.

Monitoring yang baik tidak mencegah semua insiden, tetapi mempercepat deteksi dan pemulihan. Halaman ini menggabungkan observability dengan proses insiden.

Siklus insiden

Deteksi → Triage → Mitigasi → Diagnosa → Perbaikan → Postmortem
TahapTujuanOutput
DeteksiMengetahui ada masalahAlert/tiket
TriageMenilai dampakSeverity
MitigasiMemulihkan layananLayanan normal
DiagnosaAkar masalahTemuan
PerbaikanMencegah berulangPerubahan kode/sistem
PostmortemPembelajaranDokumen tindakan

Severity

LevelDampakRespons
SEV-1Layanan utama matiSemua tangan, segera
SEV-2Sebagian pengguna terdampakTim on-call
SEV-3Dampak terbatasJam kerja
SEV-4Kosmetik/pertanyaanBacklog

Dashboard monitoring

Dashboard produksi minimal:

  • Availability/uptime.
  • Error rate (4xx/5xx).
  • Latency p50/p95/p99.
  • Request per second.
  • CPU, RAM, disk.
  • Database connections dan query latency.
  • Replication lag.
  • Queue depth.
  • Deploy annotation.

Tambahkan anotasi deploy agar lonjakan bisa dikorelasikan.

SLO burn rate

Burn rate mengukur seberapa cepat error budget habis.

burn rate = error rate aktual / error budget rate

Alert multi-window:

WindowBurn rateAksi
1 jam14.4Halaman segera
6 jam6Halaman
3 hari1Tiket

Ini mengurangi alert yang tidak perlu.

Runbook

Setiap alert penting harus punya runbook:

  • Arti alert.
  • Dampak pengguna.
  • Langkah verifikasi.
  • Mitigasi cepat.
  • Eskalasi.
  • Tautan dashboard/log.

Contoh:

# Alert: HighErrorRate

## Cek
1. Buka dashboard API.
2. Lihat error rate per route.
3. Cek log: {job="app"} |= "ERROR"
4. Cek deploy terakhir.

## Mitigasi
- Rollback jika muncul setelah deploy.
- Restart instance jika hang.
- Hubungi DB on-call jika query timeout.

Komunikasi

  • Tetapkan incident commander.
  • Update status berkala.
  • Gunakan channel insiden.
  • Hindari spekulasi; sampaikan fakta dan ETA.
  • Setelah pulih, umumkan resolusi.

Diagnosa berbasis sinyal

PertanyaanData
Kapan mulai?Grafik metrik + anotasi deploy
Siapa terdampak?Error rate per route/region
Di mana lambat?Trace span
Mengapa?Log error
Apa yang berubah?Riwayat deploy/config

Mitigasi vs perbaikan

Mitigasi mengembalikan layanan; perbaikan menghilangkan akar masalah.

Contoh:

  • Rollback = mitigasi.
  • Memperbaiki query lambat = perbaikan.

Jangan menunda mitigasi demi mencari akar masalah.

Postmortem

# Postmortem: API 500 selama 18 menit

## Ringkasan
...

## Dampak
...

## Timeline
- 10:00 deploy v1.4.0
- 10:03 error rate naik
- 10:05 alert
- 10:08 rollback
- 10:18 layanan normal

## Akar masalah
Migrasi kolom tidak kompatibel dengan kode lama.

## Tindakan
- [ ] Migrasi expand-contract (owner, tenggat)
- [ ] Test kompatibilitas versi (owner, tenggat)

Praktik: latihan insiden

  1. Buat skenario (DB down, app 500, disk penuh).
  2. Jalankan di staging.
  3. Ukur waktu deteksi dan pemulihan.
  4. Uji runbook.
  5. Perbaiki gap.

Ringkasan

  • Deteksi cepat bergantung pada metrik, log, dan alert yang tepat.
  • Severity dan runbook mempercepat respons.
  • SLO burn rate mengurangi alert fatigue.
  • Postmortem blameless menghasilkan perbaikan nyata.

Selanjutnya

On this page