Gözlemlenebilirlik Nedir?
İngilizce: Observability
Gözlemlenebilirlik, sistemin iç durumunu dış çıktılarından (log, metrik, trace) anlayabilme kapasitesidir; modern DevOps'un temel prensibi.
Gözlemlenebilirlik Nedir?
Gözlemlenebilirlik, bir sistemde ne olduğunu sadece dış çıktılara bakarak anlayabilme kapasitesidir. Amaç yalnızca “sunucu çalışıyor mu?” sorusunu cevaplamak değil; hata, yavaşlık veya beklenmeyen davranışın hangi kullanıcı akışı, servis, sorgu ya da bağımlılıktan kaynaklandığını bulabilmektir.
Bu yaklaşım özellikle mikroservis, kuyruk, üçüncü taraf API ve bulut altyapısı içeren sistemlerde önemlidir. Çünkü problem tek bir log dosyasında değil, birden fazla servis arasındaki zincirde ortaya çıkabilir.
Temel Sinyaller
- Log: Uygulamanın olayları, hataları ve bağlamsal detayları yazdığı kayıtlar
- Metrik: CPU, bellek, istek sayısı, hata oranı ve gecikme gibi sayısal ölçümler
- Trace: Bir isteğin servisler arasında izlediği yol ve her adımın süresi
- Event: Deploy, kuyruk taşması veya ödeme sağlayıcı hatası gibi anlamlı olaylar
Monitoring, önceden bilinen eşiklerin izlenmesine odaklanır; gözlemlenebilirlik ise bilinmeyen problemlerin araştırılmasını kolaylaştırır. Logging bu yapının bir parçasıdır, fakat tek başına yeterli değildir.
İş Dünyasında Kullanımı
Bir ödeme adımında gecikme yaşandığında gözlemlenebilirlik, sorunun veritabanı sorgusunda mı, kargo API’sinde mi, ödeme sağlayıcısında mı yoksa yeni deploy edilen kodda mı olduğunu ayırmaya yardım eder. Destek ekipleri kullanıcı şikayetini teknik sinyallerle eşleştirebilir; geliştiriciler de varsayım yerine kanıtla müdahale eder.
İyi bir kurulumda loglar yapılandırılmış formatta tutulur, metrikler servis ve endpoint bazında etiketlenir, trace ID kullanıcı isteği boyunca taşınır ve alarmlar iş etkisine göre düzenlenir. OpenTelemetry, bu sinyalleri standartlaştırmak için kullanılan yaygın bir açık kaynak çerçevedir.
İlgili Terimler
APM, uygulamaların yanıt süresi, hata oranı, işlem akışı ve kaynak kullanımını izleyerek performans sorunlarını görünür kılar.
Dağıtık İzleme (Distributed Tracing)Dağıtık izleme, bir isteğin mikroservisler arasında geçtiği adımları trace kimliğiyle takip ederek gecikme ve hata kaynağını gösterir.
FinOps (Bulut Maliyet Yönetimi)FinOps, bulut harcamalarını görünür kılan, maliyet kararlarını mühendislik ve iş ekipleriyle birlikte yöneten çalışma disiplinidir.
LoglamaLoglama, uygulama ve sistemlerin çalışma zamanı olaylarını kayıt altına alma pratiğidir; hata ayıklama ve izleme için kritiktir.
MonitoringMonitoring, uygulama ve altyapı metriklerini, loglarını ve uyarılarını izleyerek sorunları kullanıcı etkilenmeden yakalamayı amaçlar.
OpenTelemetryOpenTelemetry, uygulama gözlemlenebilirliği için log, metrik ve iz verilerini standart formatta toplamayı sağlayan açık kaynak çerçevedir.
SLI ve SLO (Hizmet Seviyesi Göstergeleri)SLI ve SLO, hizmet kalitesini ölçen göstergeler ile bu göstergeler için hedeflenen güvenilirlik seviyelerini birlikte tanımlar.
SRE (Site Güvenilirlik Mühendisliği)SRE, yazılım mühendisliği yöntemleriyle sistem güvenilirliğini, otomasyonu, olay müdahalesini ve kapasite planlamasını yöneten disiplindir.