← Blog'a Dön
DEVOPS

Observability Nedir? Gözlemlenebilirlik Üç Sütunu

F. Çağrı Bilgehan24 Ocak 202610 dk okuma
observabilitymonitoringdevopsprometheus

Observability Nedir? Gözlemlenebilirlik Üç Sütunu

Sisteminiz çöktüğünde "ne oldu?" diye sorarsınız. Monitoring size "bir şey bozuldu" der. Observability ise "neden bozuldu, nerede bozuldu ve nasıl düzeltilir" sorularını yanıtlar.

Monitoring vs Observability

| Özellik | Monitoring | Observability | |---------|-----------|--------------| | Odak | Bilinen sorunları izle | Bilinmeyen sorunları keşfet | | Yaklaşım | Dashboard + alarm | Sorgulama + keşif | | Soru | "Sistem çalışıyor mu?" | "Neden çalışmıyor?" | | Veri | Önceden tanımlı metrikler | Zengin, bağlamsal veri |

Üç Sütun (Three Pillars)

1. Metrics (Metrikler)

Sayısal ölçümler. Zaman serisi veri olarak saklanır:

http_requests_total{method="GET", status="200"} 15234
http_request_duration_seconds{quantile="0.99"} 0.250
cpu_usage_percent 45.2
memory_used_bytes 1073741824

Araçlar: Prometheus, Grafana, Datadog, CloudWatch

RED Method (Request-oriented):

  • Rate — İstek oranı (req/sec)
  • Errors — Hata oranı
  • Duration — Yanıt süresi

USE Method (Resource-oriented):

  • Utilization — Kullanım oranı
  • Saturation — Doygunluk
  • Errors — Hata sayısı

2. Logs (Günlükler)

Olayların metin tabanlı kayıtları. Yapılandırılmış (structured) loglar tercih edilir:

{
  "timestamp": "2026-02-14T21:30:00Z",
  "level": "error",
  "service": "payment-service",
  "traceId": "abc-123-def",
  "message": "Payment failed",
  "userId": 42,
  "amount": 150.00,
  "error": "Insufficient funds"
}

Araçlar: ELK Stack (Elasticsearch, Logstash, Kibana), Loki, Fluentd

Best Practices:

  • Yapılandırılmış (JSON) log kullanın
  • Trace ID ekleyin
  • Log seviyelerini doğru kullanın (debug, info, warn, error)
  • Hassas veriyi loglamayın

3. Traces (İzler)

Bir isteğin sistemi uçtan uca geçişini izler. Dağıtık sistemlerde kritiktir:

[İstemci] → [API Gateway] → [Sipariş Servisi] → [Ödeme Servisi]
   │            │                  │                    │
   ├── 0ms      ├── 5ms           ├── 15ms            ├── 45ms
   └── 200ms    └── 195ms         └── 180ms           └── 135ms

Araçlar: Jaeger, Zipkin, OpenTelemetry, Datadog APM

OpenTelemetry

Observability verilerini (metrics, logs, traces) toplamak için vendor-agnostic açık standart:

const { trace } = require('@opentelemetry/api');

const tracer = trace.getTracer('payment-service');

async function processPayment(orderId, amount) {
  const span = tracer.startSpan('processPayment');
  span.setAttribute('orderId', orderId);
  span.setAttribute('amount', amount);

  try {
    const result = await chargeCard(amount);
    span.setStatus({ code: SpanStatusCode.OK });
    return result;
  } catch (error) {
    span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
    throw error;
  } finally {
    span.end();
  }
}

Observability Araçları

| Araç | Tür | Avantaj | |------|-----|---------| | Prometheus | Metrics | Açık kaynak, güçlü sorgulama | | Grafana | Visualization | Çoklu veri kaynağı | | Jaeger | Tracing | Dağıtık izleme | | ELK Stack | Logging | Tam metin arama | | Datadog | All-in-one | Entegre çözüm | | New Relic | All-in-one | APM odaklı |

Alerting Best Practices

  • Sadece actionable alarmlar kurun
  • "Alert fatigue" (alarm yorgunluğu) yaratmayın
  • Severity seviyelerini doğru belirleyin (P1-P4)
  • Runbook (çözüm kılavuzu) hazırlayın
  • On-call rotasyonu uygulayın

Sonuç

Observability, modern dağıtık sistemlerde hata ayıklama ve performans optimizasyonunun anahtarıdır. Metrics ile sisteminizi izleyin, Logs ile olayları anlayın, Traces ile darboğazları bulun.

Observability ve DevOps pratiklerini LabLudus platformunda DevOps kariyer yolunda öğrenin.

İlgili Yazılar

Infrastructure as Code (IaC) Nedir? Terraform ve Altyapı Otomasyonu

Infrastructure as Code nedir? Terraform, Pulumi, CloudFormation ile altyapı otomasyonu, versiyon kontrolü ve tekrarlanabilir deployment rehberi.

What Is Infrastructure as Code? Terraform & Automation Guide

IaC explained: Terraform, Pulumi, CloudFormation for infrastructure automation, version control, and repeatable deployments.