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.