OBSERVABILITY DEVOPS MONITORING TRACING LOGGING

Observability untuk DevOps — Logs, Metrics, Traces, dan lainnya

⏱️ 3 menit baca
👨‍💻

Observability untuk DevOps — Logs, Metrics, Traces, dan lainnya

Dalam praktik DevOps modern, observability bukan lagi fitur tambahan—melainkan fondasi. Tapi observability bukan sekadar menambahkan library logging atau membuka dashboard Grafana. Ini soal memahami sistem dari dalam, bahkan ketika terjadi masalah yang kompleks.

Artikel ini membahas pendekatan praktis membangun observability yang efektif menggunakan tools seperti Prometheus, Grafana, Loki, Tempo, OpenTelemetry, dan ELK Stack.

Apa Itu Observability (dan Apa Bukan)

Observability ≠ Monitoring.

Sistem yang observable memungkinkan kamu:

Tiga Pilar Observability

1. Logs — Cerita dari Sistem

Logs memberitahu apa yang terjadi.

✅ Gunakan structured logging (JSON):

{
  "timestamp": "2025-06-23T09:34:56Z",
  "level": "error",
  "message": "Koneksi ke DB gagal",
  "context": {
    "user_id": 42,
    "retry_count": 3
  }
}

Gunakan stack log terpusat:

Index log berdasarkan:

2. Metrics — Detak Infrastruktur

Metrics menunjukkan insight kuantitatif:

Gunakan Prometheus:

# Scraping metrics dari Pod Kubernetes
- job_name: 'kubernetes-pods'
  kubernetes_sd_configs:
    - role: pod
  relabel_configs:
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
      action: keep
      regex: true

Contoh:

Alert via Grafana:

alert: TingkatErrorTinggi
expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.05
for: 2m
labels:
  severity: critical
annotations:
  summary: "Error rate tinggi di production"

3. Traces — Perjalanan Request

Traces menunjukkan alur request antar service.

Gunakan OpenTelemetry SDK:

npm install @opentelemetry/sdk-node

Contoh:

import { NodeSDK } from '@opentelemetry/sdk-node';
const sdk = new NodeSDK({
  serviceName: 'auth-service',
  traceExporter: new OTLPTraceExporter({ url: 'http://tempo:4317' }),
});
sdk.start();

Backend tracing:

Gunakan Correlation ID untuk hubungkan logs, metrics, dan traces.

Di Luar Pilar: Events & Profiling

🔍 Sangat berguna untuk deteksi bottleneck atau memory leak yang tidak tampak di metric biasa.

Contoh Stack Observability

Stack OSS:

Arsitektur:

[ App ]

   ├─> OpenTelemetry SDK → Tempo (trace)
   ├─> Log terstruktur → Loki
   └─> Exporter Prometheus → Prometheus
                               ↘ Grafana

Contoh Alert:

Best Practice

Kesimpulan

Observability bukan tentang tools, tapi soal kemampuan DevOps untuk melihat sistem sebagai ekosistem hidup. Dengan stack yang tepat dan kebiasaan yang disiplin, kamu bisa menjawab pertanyaan paling sulit saat sistem sedang bermasalah.

Kamu sudah pakai observability stack di proyekmu? Cerita pengalamanmu yuk di LinkedIn.

🔗 Baca Juga