Dynamis

Observability nedir? Monitoring, logging ve tracing farkları

Observability nedir? Monitoring, metrics, logging, distributed tracing ve OpenTelemetry farklarını; SLI/SLO, alerting ve production troubleshooting ile öğrenin.

Bu konuyu bir mühendisle konuşun30 dakikalık görüşme, mevcut durumunuz ve hedefinizle.
Özet çıkarımlar
  1. 01Observability, bir sistemin iç durumunu ürettiği telemetry verilerinden anlayabilme yeteneğidir; temel sinyaller metrics, logs ve traces'tir.
  2. 02Monitoring önceden tanımlanmış durumları izlemeye odaklanırken observability özellikle öngörülmemiş problemlerde neden sorusunu araştırmayı kolaylaştırır.
  3. 03Metrics trend ve alarm için, logs olay ayrıntısı için, traces ise dağıtık request'in uçtan uca yolunu anlamak için kullanılır.
  4. 04OpenTelemetry traces, metrics ve logs için vendor-neutral instrumentation ve collection framework'üdür; kendi başına observability storage/dashboard backend'i değildir.
  5. 05Küçük ekiplerde başarılı observability daha fazla veri toplamaktan değil, kritik kullanıcı akışları için yüksek sinyalli telemetry, aksiyon alınabilir alerting ve kontrollü retention kurmaktan geçer.
Observability, monitoring, metrics, logging ve distributed tracing ilişkisini gösteren kapak görseli

Kısaca

Observability, bir sistemin iç durumunu ürettiği telemetry verilerinden anlayabilme yeteneğidir. Yazılım sistemlerinde bunun temel sinyalleri metrics, logs ve traces'tir. Monitoring bilinen durumları izlemeye odaklanırken observability, özellikle öngörülmemiş problemlerde sistemin neden böyle davrandığını araştırmayı kolaylaştırır. Dynamis Teknoloji, observability'yi dashboard kurmak değil; production sistemine anlamlı telemetry, korelasyon ve aksiyon alınabilir alerting eklemek olarak ele alır.

Observability nedir?

Observability veya gözlemlenebilirlik, bir sistemin dışarı verdiği sinyallerden içeride neler olduğunu anlayabilme kapasitesidir.

Modern application ortamlarında bu sinyaller çoğunlukla şunlardır:

  • Metrics
  • Logs
  • Traces

OpenTelemetry bu üç sinyali vendor-neutral biçimde üretmek, toplamak, işlemek ve farklı backend'lere aktarmak için ortak standartlar ve araçlar sağlar.

Observability'nin amacı daha fazla veri toplamak değildir.

Amaç şu sorulara daha hızlı cevap verebilmektir:

  • Sistem yavaşladı mı?
  • Hangi servis etkilendi?
  • Hata hangi request'te başladı?
  • Database mi, network mü, uygulama mı sorunlu?
  • Yeni release sonrası ne değişti?
  • Sorun tüm kullanıcıları mı etkiliyor?
  • Hangi dependency failure yarattı?

Monitoring ile observability arasındaki fark

Monitoring genellikle önceden tanımlanmış sorulara cevap verir.

Örnek:

  • CPU %80'i geçti mi?
  • Disk doldu mu?
  • HTTP 5xx arttı mı?
  • Servis down mı?

Observability ise daha geniş bir soru sorar:

Sistem neden böyle davranıyor?

Örneğin p95 latency arttığında monitoring alarm verebilir.

Observability sistemi ise şu yolu takip etmenizi sağlar:

  • hangi endpoint yavaşladı
  • hangi trace etkilendi
  • hangi downstream service gecikti
  • hangi database query sürenin çoğunu aldı
  • hangi deployment sonrası değişiklik başladı

İki kavram rakip değildir.

Monitoring, observability'nin operasyonel kullanım biçimlerinden biridir.

Metrics nedir?

Metrics, zaman içinde ölçülen sayısal değerlerdir.

Örnek:

  • CPU usage
  • memory usage
  • request rate
  • error rate
  • latency
  • queue depth
  • database connection count

Metrics büyük sistemlerde trend ve alarm üretmek için etkilidir.

Ancak tek başına "neden" sorusunu her zaman cevaplamaz.

Örneğin error rate %5 olduysa bunun hangi müşteri akışında, hangi serviste ve hangi request zincirinde oluştuğunu log veya trace ile ilişkilendirmek gerekebilir.

Logs nedir?

Logs, sistem içinde gerçekleşen belirli olayların kayıtlarıdır.

Örnek:

  • Kullanıcı login başarısız
  • Database connection timeout
  • Payment request rejected
  • Background job completed
  • Application exception

İyi log:

  • timestamp
  • severity
  • service name
  • environment
  • request/correlation ID
  • structured fields

içermelidir.

Serbest metin logları insan tarafından okunabilir olsa da büyük sistemlerde sorgulama ve korelasyon için structured logging daha kullanışlıdır.

Traces nedir?

Trace, tek bir request'in dağıtık sistem içindeki uçtan uca yolunu gösterir.

Örnek:

Kullanıcı API çağrısı yapıyor.

Request şu zinciri izliyor:

API Gateway → User Service → Payment Service → PostgreSQL

Trace bu akıştaki her adımı span olarak gösterebilir.

Böylece toplam latency'nin hangi servis veya dependency üzerinde oluştuğu görülebilir.

Distributed tracing özellikle mikroservis ortamlarında önemlidir.

Span nedir?

Span, trace içindeki tek bir operasyonu temsil eder.

Örneğin:

  • HTTP request
  • database query
  • queue publish
  • external API call

bir span olabilir.

Her span tipik olarak:

  • başlangıç zamanı
  • duration
  • status
  • attributes
  • parent/child ilişkisi

taşır.

Span'lar birbirine bağlandığında request'in uçtan uca trace'i oluşur.

Metrics, logs ve traces nasıl birlikte kullanılır?

En güçlü observability modeli telemetry sinyallerini ayrı dashboard'lar olarak değil, ilişkili veri olarak kullanır.

Örnek incident:

  1. Metric: p95 latency arttı
  2. Trace: yavaş request'ler Payment Service'te yoğunlaşıyor
  3. Span: database query 1.8 saniye sürüyor
  4. Log: connection pool timeout mesajları var

Bu korelasyon troubleshooting süresini ciddi ölçüde azaltabilir.

Correlation ID neden önemlidir?

Correlation ID, aynı request veya iş akışına ait farklı log kayıtlarını ilişkilendirmek için kullanılabilir.

Örneğin müşteri destek ekibi şu ID'yi paylaşabilir:

req-8f2a91

Bu ID:

  • API logunda
  • worker logunda
  • payment logunda

aynı request zincirini bulmayı kolaylaştırabilir.

Distributed tracing kullanıldığında trace ID benzer korelasyon sağlar.

OpenTelemetry nedir?

OpenTelemetry, Cloud Native Computing Foundation ekosistemindeki açık kaynaklı observability framework'üdür.

Amaç:

  • traces
  • metrics
  • logs

telemetry verisini vendor-neutral biçimde instrument etmek, toplamak ve dışa aktarmaktır.

OpenTelemetry kendi başına:

  • dashboard
  • long-term storage
  • alerting backend

değildir.

Telemetry verisini farklı backend'lere gönderebilir.

Bu sayede uygulama instrumentation'ını tek vendor'a sıkı bağlamamak mümkün olabilir.

OpenTelemetry Collector ne işe yarar?

Collector telemetry verisini almak, işlemek ve farklı backend'lere aktarmak için kullanılabilir.

Basit akış:

Application → OpenTelemetry Collector → Observability backend

Collector üzerinde:

  • filtering
  • batching
  • sampling
  • attribute processing
  • export

gibi işlemler yapılabilir.

Bu yapı uygulamaların doğrudan her observability vendor'ına ayrı entegrasyon yapma ihtiyacını azaltabilir.

Sampling nedir?

Distributed tracing yüksek trafikli sistemlerde çok fazla veri üretebilir.

Sampling, tüm trace'leri saklamak yerine belirli bir bölümünü seçme yöntemidir.

Örnek:

  • normal başarılı request'lerin %5'i
  • hata alan request'lerin %100'ü
  • çok yavaş request'lerin %100'ü

saklanabilir.

Sampling stratejisi maliyet ile troubleshooting kabiliyeti arasında denge kurar.

Observability maliyeti neden hızla büyür?

Telemetry hacmi doğrudan maliyet oluşturabilir.

Özellikle:

  • yüksek log volume
  • high-cardinality metrics
  • tüm trace'leri saklamak
  • uzun retention

maliyeti büyütebilir.

Bu nedenle "her şeyi topla" yaklaşımı sürdürülebilir değildir.

Önce:

  • hangi sinyal gerekli
  • retention ne kadar
  • hangi environment production
  • hangi log alanı gerçekten değerli

belirlenmelidir.

Mevcut durumunuzu bu tabloya biz yerleştirelim.

High cardinality nedir?

Metric label veya attribute çok fazla benzersiz değer üretiyorsa cardinality yükselir.

Örnek kötü metric label:

  • user_id
  • request_id
  • email

Milyonlarca farklı değer metric sisteminin maliyetini ve performans yükünü artırabilir.

Bu tür yüksek cardinality alanlar genellikle log veya trace için daha uygundur.

SLI nedir?

Service Level Indicator, servisin kullanıcı açısından performansını ölçen göstergedir.

Örnek:

  • başarılı request oranı
  • p95 latency
  • availability
  • job success rate

SLI, altyapı metriğinden farklı olabilir.

CPU %40 olması kullanıcı deneyiminin iyi olduğunu garanti etmez.

SLO nedir?

Service Level Objective, belirli SLI için hedef seviyedir.

Örnek:

30 günlük pencerede başarılı request oranı %99,9 veya üzeri

Bu hedef alerting ve engineering priority için kullanılabilir.

SLO'lar iş ve kullanıcı beklentileriyle bağlantılı olmalıdır.

Error budget nedir?

Error budget, SLO hedefi içinde tolere edilebilen başarısızlık miktarını ifade eder.

Örneğin %99,9 availability hedefi yaklaşık %0,1 hata bütçesi bırakır.

Error budget:

  • release hızı
  • reliability yatırımı
  • riskli değişiklikler

arasında karar vermeyi destekleyebilir.

Amaç "downtime hakkını kullanmak" değil, güvenilirlik ile delivery hızını aynı çerçevede yönetmektir.

Alerting nasıl tasarlanmalı?

Her metric için alarm oluşturmayın.

İyi alert:

  • kullanıcı etkisi yaratır
  • aksiyon alınabilir
  • net owner'a sahiptir
  • gereksiz tekrar üretmez

Örnek:

Disk %70 oldu

her zaman acil alarm olmayabilir.

Ama:

Disk doluluk 2 saat içinde %100'e ulaşacak

daha aksiyon alınabilir olabilir.

Alert fatigue nedir?

Çok fazla ve düşük kaliteli alarm, ekiplerin gerçek kritik alarmı kaçırmasına neden olabilir.

Alert fatigue belirtileri:

  • alarmlar sürekli mute ediliyor
  • gece gelen alarm aksiyon gerektirmiyor
  • aynı incident için onlarca alarm geliyor
  • owner belli değil

Çözüm:

  • alert deduplication
  • severity standardı
  • SLO tabanlı alerting
  • doğru threshold
  • runbook

olabilir.

Dashboard ne için kullanılmalı?

Dashboard sistemin durumunu hızlı anlamayı sağlamalıdır.

İyi dashboard:

  • kullanıcı etkisi
  • servis health
  • error rate
  • latency
  • throughput
  • saturation

gibi yüksek sinyalli metrikleri gösterir.

Her metric'i tek ekrana koymak görünürlüğü artırmak yerine azaltabilir.

Golden signals nedir?

Google SRE yaklaşımında yaygın kullanılan dört sinyal:

  • latency
  • traffic
  • errors
  • saturation

olarak ele alınır.

Bu model başlangıç dashboard'u için yararlı olabilir.

Ancak her workload aynı metrikleri kullanmak zorunda değildir.

Queue sisteminde queue depth, batch sisteminde job completion rate daha anlamlı olabilir.

Application monitoring ile infrastructure monitoring farkı

Infrastructure monitoring şunlara bakabilir:

  • CPU
  • RAM
  • disk
  • network
  • node health

Application monitoring ise:

  • request rate
  • endpoint latency
  • error
  • transaction
  • dependency

gibi application behavior'a odaklanır.

Production observability için ikisi de gereklidir.

Yalnız CPU dashboard'ı uygulamanın sağlıklı olduğunu göstermez.

Kubernetes observability nasıl farklıdır?

Kubernetes ortamında observability katman sayısı artar.

İzlenmesi gereken alanlar:

  • control plane
  • node
  • pod
  • container
  • deployment
  • ingress/gateway
  • application
  • storage
  • network

Örneğin bir pod restart problemi:

  • application crash
  • OOMKilled
  • liveness probe
  • node pressure

kaynaklı olabilir.

Bu nedenle cluster metric'i ile application telemetry birlikte değerlendirilmelidir.

CI/CD ile observability ilişkisi

Observability deployment sonrası feedback sağlar.

CI/CD nedir? rehberindeki pipeline şu noktada observability'ye bağlanır:

  1. Deployment yapılır
  2. Yeni version etiketi telemetry'ye eklenir
  3. Error/latency değişimi izlenir
  4. Problem varsa rollback tetiklenir

Bu sayede release ile production behavior arasında doğrudan ilişki kurulabilir.

DevOps için observability neden önemlidir?

DevOps hızlı feedback üzerine kuruludur.

DevOps nedir? yaklaşımında production'dan gelen bilgi tekrar development sürecine dönmelidir.

Observability bu feedback loop'un teknik veri katmanıdır.

Production verisi olmadan ekip:

  • release etkisini
  • kullanıcı problemini
  • dependency failure'ı
  • recovery süresini

ölçmekte zorlanır.

Küçük ekip için minimum observability modeli

5-20 kişilik yazılım şirketinde ilk günden karmaşık observability platformu kurmak gerekmeyebilir.

Başlangıç:

1. Infrastructure metrics

  • CPU
  • RAM
  • disk
  • network

2. Application metrics

  • request rate
  • error rate
  • latency

3. Structured logs

  • timestamp
  • level
  • service
  • request ID

4. Temel alerting

  • servis down
  • error spike
  • latency
  • disk exhaustion

5. Kritik akışlarda tracing

Mikroservis veya karmaşık dependency varsa distributed tracing eklenebilir.

Observability stack nasıl seçilir?

Araç seçiminde önce requirement belirleyin.

Sorular:

  • Cloud mu self-hosted mı?
  • Log volume ne kadar?
  • Trace gerekli mi?
  • Retention ne kadar?
  • SaaS mı tercih ediliyor?
  • Data location şartı var mı?
  • OpenTelemetry desteği var mı?
  • On-call entegrasyonu gerekiyor mu?

Araç seçimi ancak bu sorulardan sonra yapılmalıdır.

Vendor lock-in nasıl azaltılır?

Telemetry instrumentation'ını vendor-specific SDK'lara sıkı bağlamak ileride migration maliyeti yaratabilir.

OpenTelemetry kullanımı:

  • ortak instrumentation
  • collector tabanlı routing
  • backend değişikliği

konusunda esneklik sağlayabilir.

Ancak backend query language, dashboard ve alert tanımları yine vendor-specific olabilir.

Tam vendor bağımsızlığı varsayılmamalıdır.

Log retention nasıl belirlenmeli?

Tüm logları süresiz tutmak doğru değildir.

Retention kararı:

  • troubleshooting ihtiyacı
  • security
  • KVKK
  • maliyet
  • audit

ile birlikte verilmelidir.

Kişisel veri içeren loglarda masking ve retention ayrıca değerlendirilmelidir.

Production observability kurulum sırası

Adım 1: Kritik kullanıcı akışlarını belirleyin

Önce sistemin hangi davranışının iş açısından kritik olduğunu yazın.

Adım 2: SLI seçin

Availability, error rate veya latency gibi kullanıcı etkisine yakın göstergeler seçin.

Adım 3: Metrics ekleyin

Infrastructure ve application baseline oluşturun.

Adım 4: Structured logging kurun

Request/service correlation sağlayın.

Adım 5: Alerting ekleyin

Yalnız aksiyon alınabilir durumlara alarm üretin.

Adım 6: Tracing ekleyin

Dağıtık sistemlerde dependency latency ve failure araştırmasını kolaylaştırın.

Adım 7: Telemetry maliyetini ölçün

Volume, retention ve sampling'i optimize edin.

Adım 8: Incident sonrası instrumentation'ı iyileştirin

Her incident yeni visibility gap gösterebilir.

Dynamis'te observability yaklaşımı

Dynamis'in DevOps hizmeti kapsamında observability çalışmasına "hangi monitoring aracını kuralım?" sorusuyla başlamıyoruz.

Önce:

  • kritik servisler
  • kullanıcı akışları
  • mevcut metrics
  • log kalitesi
  • alert noise
  • deployment metadata
  • incident geçmişi
  • telemetry maliyeti

incelenir.

Sonra ihtiyaç halinde:

  • infrastructure monitoring
  • application metrics
  • centralized logging
  • OpenTelemetry
  • distributed tracing
  • SLI/SLO
  • alerting
  • dashboard

katmanları oluşturulur.

Amaç daha fazla dashboard değil, incident sırasında daha kısa teşhis ve recovery süresidir.

Sık yapılan hatalar

Monitoring ile observability'yi aynı sanmak: Monitoring observability'nin bir kullanım biçimidir.

Her şeyi loglamak: Maliyet ve gürültü hızla büyür.

Request ID kullanmamak: Dağıtık log korelasyonu zorlaşır.

Her metrik için alarm oluşturmak: Alert fatigue yaratır.

Yalnız infrastructure metric izlemek: Application failure kullanıcıyı etkilerken CPU normal olabilir.

OpenTelemetry'yi observability backend sanmak: OpenTelemetry telemetry üretim ve taşıma framework'üdür.

Sırada ne var

Kaynaklar

Kaynaklar

  1. 1.
    Observability primerOpenTelemetry · 2026-09-21
  2. 2.
    OpenTelemetry signalsOpenTelemetry · 2026-09-21
  3. 3.
    OpenTelemetry CollectorOpenTelemetry · 2026-09-21
  4. 4.
    Google Cloud ObservabilityGoogle Cloud · 2026-09-21
  5. 5.

Sık sorulan sorular

Observability nedir?

Observability, bir sistemin iç durumunu ürettiği telemetry verilerinden anlayabilme yeteneğidir. Yazılım sistemlerinde bu genellikle metrics, logs ve traces sinyallerinin birlikte analiz edilmesiyle sağlanır.

Monitoring ile observability arasındaki fark nedir?

Monitoring önceden tanımlanmış metrik ve eşiklerle bilinen durumları izlemeye odaklanır. Observability ise metrics, logs ve traces gibi telemetry verilerini ilişkilendirerek öngörülmemiş problemlerde sistemin neden böyle davrandığını araştırmayı kolaylaştırır.

Logging, metrics ve tracing arasındaki fark nedir?

Logs belirli olayların kayıtlarını, metrics zaman içinde ölçülen sayısal değerleri, traces ise bir isteğin dağıtık sistem içindeki uçtan uca yolunu gösterir. Birlikte kullanıldıklarında aynı olayın ne olduğunu, ne kadar yaygın olduğunu ve nerede gerçekleştiğini anlamayı kolaylaştırırlar.

OpenTelemetry nedir?

OpenTelemetry, traces, metrics ve logs gibi telemetry verilerini üretmek, toplamak, işlemek ve dışa aktarmak için kullanılan açık kaynaklı ve vendor-neutral bir observability framework'üdür. OpenTelemetry kendi başına veri saklama veya dashboard backend'i değildir.

Küçük ekip için observability nasıl kurulmalı?

Önce kritik kullanıcı akışları ve servis hedefleri belirlenmeli; ardından temel metrics, structured logs, alerting ve gerektiğinde distributed tracing eklenmelidir. Küçük ekipte tüm telemetry'yi sınırsız toplamak yerine yüksek sinyalli ve aksiyon alınabilir verilerle başlamak daha sürdürülebilirdir.

Dynamis Teknoloji

Kararı sizin yerinize hesaplayan bir ekip.

Raff platformunu geliştiren ve işleten mühendisler. Ankara merkezli, KVKK uyumlu, 7/24 Türkçe destek.

  1. Açıklayıcı · DevOps ve KubernetesInfrastructure as Code nedir? Cloud altyapısı kodla nasıl yönetilir?Infrastructure as Code nedir? Terraform, OpenTofu, state, drift, modules, secrets ve CI/CD ile cloud altyapısını version control altında nasıl yöneteceğinizi öğrenin.9 dk
  2. Karşılaştırma · Kurumsal IT yönetimiSistem yöneticisi işe almak mı, dış kaynak kullanmak mı?Sistem yöneticisi işe almak ile sunucu yönetimini dış kaynak kullanmayı; maliyet, 7/24 operasyon, uzmanlık, tek kişiye bağımlılık ve sorumluluk açısından karşılaştırın.8 dk
  3. Açıklayıcı · DevOps ve KubernetesDevOps nedir? Yazılım ekipleri için nasıl çalışır?DevOps nedir, nasıl çalışır ve küçük yazılım ekipleri nereden başlamalı? CI/CD, Infrastructure as Code, observability, ortak sahiplik ve güncel DORA metriklerini öğrenin.8 dk