OpenTelemetry Nedir?
İngilizce: OpenTelemetry
OpenTelemetry, uygulama gözlemlenebilirliği için log, metrik ve iz verilerini standart formatta toplamayı sağlayan açık kaynak çerçevedir.
OpenTelemetry Nedir?
OpenTelemetry, uygulamalardan log, metrik ve trace verisi toplamak için ortak API, SDK ve araçlar sağlayan açık kaynak gözlemlenebilirlik standardıdır. Amaç, her izleme aracına özel ayrı entegrasyon yazmak yerine telemetri verisini taşınabilir biçimde üretmektir.
Bir servis isteği aldığında OpenTelemetry instrumentation kodu span oluşturabilir, trace ID’yi diğer servislere taşıyabilir, süre ve hata bilgilerini kaydedebilir. Bu veriler daha sonra Prometheus, Grafana, Jaeger, Tempo, Datadog veya benzeri sistemlere gönderilebilir.
Bileşenler
- API: Uygulama kodunun telemetri üretmek için kullandığı arayüzler
- SDK: Örnekleme, kaynak bilgisi ve dışa aktarma davranışını yöneten katman
- Instrumentation: HTTP, veritabanı, mesaj kuyruğu gibi kütüphaneleri otomatik veya manuel izleme
- Collector: Veriyi alan, zenginleştiren, filtreleyen ve farklı backendlere gönderen ara servis
- Exporter: Telemetriyi hedef sisteme taşıyan çıkış adaptörü
Gözlemlenebilirlik stratejisinde OpenTelemetry, veri üretim katmanını standartlaştırır. Hangi dashboard veya alarm aracının kullanılacağı daha sonra değiştirilebilir.
İş Dünyasında Kullanımı
OpenTelemetry; ödeme akışı, sipariş oluşturma, kargo entegrasyonu veya arka plan job’ları gibi birden fazla servise yayılan süreçlerde sorunun nerede oluştuğunu görmeyi kolaylaştırır. Trace sayesinde tek bir kullanıcı isteğinin API gateway, uygulama, veritabanı ve üçüncü taraf servislerde ne kadar süre harcadığı izlenebilir.
Monitoring tarafında anlamlı sonuç için span isimleri, attribute standardı, örnekleme oranı ve hassas veri maskeleme kuralları baştan belirlenmelidir. Aksi halde çok veri toplanır ama hata ayıklama sırasında işe yarayan bağlam eksik kalır.
İlgili Terimler
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.
MonitoringMonitoring, uygulama ve altyapı metriklerini, loglarını ve uyarılarını izleyerek sorunları kullanıcı etkilenmeden yakalamayı amaçlar.
GözlemlenebilirlikGözlemlenebilirlik, sistemin iç durumunu dış çıktılarından (log, metrik, trace) anlayabilme kapasitesidir; modern DevOps'un temel prensibi.