Recraftory

Pengenalan Observability

Konsep monitoring, logging, dan tracing untuk sistem modern

Apa itu Observability

  • Kemampuan memahami state internal sistem dari output eksternal
  • Lebih luas dari sekadar monitoring
  • Terdiri dari tiga pilar utama

Tiga Pilar Observability

Metrics

  • Data numerik yang diukur dari waktu ke waktu
  • Contoh: CPU usage, memory usage, request latency, error rate
  • Biasanya dikumpulkan dalam interval reguler
  • Tools: Prometheus, Datadog, CloudWatch

Logs

  • Catatan kejadian atau event dalam sistem
  • Berisi timestamp dan detail kontekstual
  • Contoh: request log, error log, audit log
  • Tools: ELK Stack, Loki, Splunk

Traces

  • Melacak journey satu request melalui berbagai service
  • Berguna untuk sistem microservices
  • Menunjukkan latency di setiap hop
  • Tools: Jaeger, Zipkin, OpenTelemetry

Monitoring vs Observability

Monitoring

  • Menjawab pertanyaan yang sudah diketahui
  • Contoh: "Apakah CPU di atas 80%?"
  • Dashboard dengan metric predefined
  • Alerting berbasis threshold

Observability

  • Menjawab pertanyaan yang belum diketahui
  • Contoh: "Mengapa request ini lambat?"
  • Eksplorasi data secara ad-hoc
  • Root cause analysis

Sinyal Emas (Golden Signals)

Dari Google SRE Book, empat metric kritis untuk setiap service:

Latency

  • Waktu untuk memproses request
  • Bedakan latency sukses dan error
  • Percentile lebih penting daripada average

Traffic

  • Jumlah request per satuan waktu
  • Indikator beban sistem
  • Contoh: requests per second (RPS)

Errors

  • Rate request yang gagal
  • HTTP 5xx, 4xx, exception, timeout
  • Dihitung sebagai rasio dari total traffic

Saturation

  • Seberapa penuh resource sistem
  • CPU, memory, disk, connection pool
  • Threshold biasanya 80% untuk warning

Instrumentasi

White-box Monitoring

  • Instrumentasi dari dalam aplikasi
  • Application metrics, custom business metrics
  • Lebih detail dan kontekstual

Black-box Monitoring

  • Monitoring dari luar aplikasi
  • Synthetic monitoring, uptime checks
  • Mewakili perspektif pengguna

SLA, SLO, dan SLI

SLI (Service Level Indicator)

  • Metric yang diukur (misal: availability, latency)

SLO (Service Level Objective)

  • Target yang ingin dicapai (misal: latency < 200ms untuk 99% request)

SLA (Service Level Agreement)

  • Kontrak dengan konsekuensi jika SLO tidak tercapai
  • Biasanya melibatkan timbangan kompensasi

Error Budget

  • Jumlah error yang diperbolehkan dalam periode tertentu
  • Contoh: SLO 99.9% availability = error budget 0.1%
  • Jika error budget habis, freeze deploy baru
  • Menyeimbangkan kecepatan deploy dan reliability

Tools Populer

Open Source

  • Prometheus + Grafana (metrics)
  • ELK / Loki (logs)
  • Jaeger / Zipkin (tracing)
  • OpenTelemetry (unified instrumentation)

Cloud Native

  • Datadog
  • New Relic
  • Dynatrace
  • AWS CloudWatch
  • Google Cloud Monitoring