Ana içeriğe geç

OpenTelemetry

Okunuşu
opın tılemıtri
Güncellendi 1 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/opentelemetry

Kısaca

OpenTelemetry, yazılımdan trace, metrik ve log toplayıp bunları herhangi bir izleme backend'ine göndermek için açık bir standart ve araç takımıdır.

OpenTelemetry nedir?

Çalışan bir sistemi anlamak için telemetriye ihtiyaç vardır: bir isteği servisler boyunca izleyen trace'ler, istek sayısı ve gecikme gibi metrikler ve loglar. Çoğu zaman OTel diye kısaltılan OpenTelemetry, her dile bu verileri üretmek için aynı API'yi ve SDK'yı, göndermek için de ortak bir protokolü, OTLP'yi verir. Daha önceki iki girişim olan OpenTracing ve OpenCensus'un 2019'da birleşmesiyle doğan bir Cloud Native Computing Foundation projesidir.

Asıl vaadi bağımsızlıktır. Kodunuzu bir kez enstrümante edersiniz; veriler, kodu değil yapılandırmayı değiştirerek Jaeger'a, Prometheus'a, Grafana'ya ya da ticari bir servise gidebilir. Pek çok kütüphane ve framework otomatik olarak enstrümante edilebilir; böylece HTTP çağrıları ve veritabanı sorguları ek bir iş yapmadan span olarak görünür. Ayrı bir program olan OpenTelemetry Collector ise verileri yol üzerinde alabilir, filtreleyebilir, zenginleştirebilir ve iletebilir.

Tracing, bağlamın aktarılmasıyla çalışır. Bir servis başka birini çağırdığında W3C Trace Context standardının tanımladığı bir traceparent başlığı ekler; böylece sonraki servis kendi span'lerini aynı trace'e bağlar. Sonuç, bir isteğin dokunduğu her servis boyunca uzanan bir zaman çizelgesidir; zamanın nereye gittiğini ya da bir hatanın nerede başladığını gösterir. OpenTelemetry telemetrinin üretilmesini ve taşınmasını kapsar; saklamak ve dashboard çizmek backend'e kalır.

Önemli noktalar

  • OpenTelemetry, trace, metrik ve loglar için hiçbir sağlayıcıya bağlı olmayan bir standarttır.
  • Kod bir kez enstrümante edilir ve veriler herhangi bir backend'e gidebilir.
  • OTLP onun protokolüdür; Collector verileri alır, işler ve iletir.
  • Trace bağlamı servisler arasında traceparent başlığıyla taşınır.

Örnek

Python'da OpenTelemetry API'siyle bir span kaydetmekpython
from opentelemetry import trace

tracer = trace.get_tracer("checkout")

def place_order(order):
    with tracer.start_as_current_span("place_order") as span:
        span.set_attribute("order.items", len(order.items))
        charge(order)             # spans inside become children of this one
        send_confirmation(order)

Sık sorulan sorular

OpenTelemetry bir izleme aracı mı?

Tek başına değil. Telemetriyi üretir ve taşır ama saklamaz ya da dashboard çizmez; bunun için veriler açık kaynak ya da ticari bir backend'e gider. Bu ayrımın amacı da budur: kodu değiştirmeden backend'i değiştirebilirsiniz.

OpenTelemetry ile Prometheus arasındaki fark nedir?

Prometheus bir izleme sistemidir: metrikleri toplar, saklar, sorgulamanızı ve alarm kurmanızı sağlar. OpenTelemetry ise trace, metrik ve log üretmek için bir standarttır. Birlikte çalışırlar ve OpenTelemetry metrikleri Prometheus'a gönderilebilir.

İlgili sayfalar

Kaynaklar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar