Dynatrace ile Distributed Tracing: Uçtan Uca Performans İzleme ve Hata Yönetimi (2025)

Konsalt Bilgi Teknolojileri Dynatrace Destek Ekibi.

             Günümüz yazılım sistemleri, mikroservis mimarileri ve bulut tabanlı çözümler ile birlikte karmaşık bir yapı üzerine oturmuş durumda ve bunun sonucu olarak uygulamalarınızda oluşan bir problemi tespiti etmekte güçlük yaşatabilmektedir. Bu noktada, Dynatrace Distributed Tracing ile uygulamalarınızın her aşamasını detaylı analiz edebilir ve sorunları hızla tespit edebilirsiniz.

Distributed Trace ile neler sağlanır?

  • Örneğin, Bir isteğin sistem içinde hangi servisler üzerinden geçtiğini izleyebilirsiniz.
  • Ayrıca, Her bir servis üzerinde isteğin nasıl işlendiğini ve hangi süreçlerden geçtiğini görebilirsiniz.
  • Oluşan hataların hangi servis ya da bileşende ortaya çıktığını tespit edebilirsiniz.
  • Karmaşık istek akışlarında zaman ve kaynak açısından odaklanılması gereken noktaları belirleyebilirsiniz.
  • Performans sorunlarının ya da hataların kaynağını net biçimde analiz ederek, müdahale edilmesi gereken yeri doğrudan adresleyebilirsiniz.

    Günümüzde pek çok açık kaynak ve ticari Distributed Trace aracı bulmanız mümkündür; fakat Uygulama performans izleme araçları arasında Dynatrace yapay zeka aracı Davis ve PurePath teknolojisi ile diğerlerinden bir adım öne çıkmaktadır. Dynatrace, PurePath® teknolojisini 2006 yılından bu yana distributed tracing için patentli olarak sunmaktadır. PurePath®, yalnızca dağıtık izleme verilerini toplamakla kalmaz; aynı zamanda kullanıcı deneyimi bilgileri, loglar, metrikler, topoloji verileri, metadata ve hatta kod seviyesindeki profil bilgilerini bir araya getirerek son derece yüksek doğrulukta ve ayrıntılı veri sağlar.  Bu yaklaşım sayesinde sistem performansı ve davranışı en ince ayrıntısına kadar analiz edilebilir. Dynatrace distributed trace bilgilerini sunuculara kolayca yüklenebilen OneAgent ajanı veya OpenTelemetry yöntemiyle kolayca toplayabilmektedir. Daha fazla bilgi için Dynatrace Distributed Tracing Documentation sayfasını inceleyebilirsiniz.

Dynatrace Distributed Tracing, mikroservis mimarileriyle çalışan modern yazılımlarda oluşabilecek hata ve performans problemlerini uçtan uca analiz etmek için ideal bir çözümdür.

OpenTelemetry ve OneAgent arasındaki farklar nelerdir?

Distributed Tracing Teknolojisinin Avantajları ve Dynatrace’ın Rolü.

Dynatrace ile dağıtık izleme
 
Distributed trace:

Dynatrace Distributed trace benzersiz bir Trace Id atayarak isteğin dağıtık sistemde çeşitli servisler ve bileşenler boyunca izlediği yolu gösteren bir span dizisidir. Bunun sonucu olarak modern mikroservis mimarilerinde bu izler genellikle birden fazla servisi kapsar ve isteğin sistem içerisindeki yolculuğuna dair ayrıntılı bir görünüm sunar.

Traceler toplanan verilerin yorumlanmasını ve anlaşılmasını kolaylaştıran atributeler içerir. Bu sayede hatalar, darboğazlar ve gecikme sorunları hızlıca tespit edilebilmektedir. 

Span : Distributed trace içerisinde tekil bir işlemi temsil etmektedir. Bir isteğin geçtiği farklı servisler boyunca izlediği yolun ayrıntılarını elde etmemize olanak sağlar. Her span; işlemin adı, başlangıç zamanı damgası, gerçekleşen olayların listesi , bağlı olduğu üst span’in kimliği ve span türü gibi çeşitli nitelikler içerir.

Span context: Tüm span ve olayların birbiriyle olan ilişkisini anlamlandırmak için gereklidir. Kurulan bu ilişki sayesinde, bir alt span (child span), hem içinde bulunduğu trace hem de üst span’ine (parent span) bağlanabilir.

Bu nedenle, span bağlamının hem bir servis içinde (farklı iş parçacıkları arasında) hem de servisler ve işlem sınırları arasında aktarılması gerekir. Bu aktarım genellikle HTTP başlıkları (örneğin W3C trace context standardı) veya mesajlaşma sistemlerinde kullanılan benzersiz kimlikler (unique IDs) aracılığıyla gerçekleştirilir.

Attribute : Bir span, request ya da resource hakkında detaylı bilgi sağlayan anahtar-değer çiftleridir. Bu bilgiler; HTTP yöntemleri ve URL’ler gibi verileri içerebilir.

Servisler: Span larla birlikte toplanan attributes veya properties temel alınarak belirlenir ve adlandırılır. Bu sayede izleme sistemleri, servisleri otomatik olarak tanıyabilir ve birbirinden ayırt edebilir.

Dynatrace Distributed Tracing ile Performans Sorunları Nasıl Çözülür?

Dynatrace Distributed Tracing

Distributed Traces , ortamınızdaki transactionları analiz edebilmeniz için bir dizi güçlü analiz aracı sunar. Bu sistem; kod seviyesinde görünürlük, topoloji bilgisi ve metadata gibi unsurları, yüksek doğrulukta ve ayrıntılı veri ile birleştirerek kapsamlı iç görüler elde etmenizi sağlar.

Distributed trace listesi içerisinden her bir trace içindeki isteklerin uçtan uca akışını gösteren waterfall diyagramı ile detaylı bir görsellik sunar.
Dynatrace Distributed Tracing ve PurePath teknolojisi

  • Summary Tab : İstekle ilgili meta veriler, request headers, request parameters ve isteğin gönderildiği proxy hakkında bilgileri içerir.
  • Timing Tab: Servislerin üzerinde geçen zaman detayları içerir. Zamanlamaya katkılarını daha ayrıntılı görmek için “View method hotspots” seçeneğini kullanabilirsiniz. (örneğin, CPU süresi, bekleme süresi, senkronizasyon, kilit ve yürütme süresi gibi).
    Şekilde görüldüğü üzere, orange.jsf web servis çağrısı için zamanlama detaylarını göstermektedir. Bu durumda, isteğin 57.7 ms sürdüğünü görmektesiniz.
  • Threads Tab: Bu sekme üzerinden her bir iş parçacığının durumu ve işlemleri takip edilebilir.
  • Code level Tab :Her bir isteğin kod yürütme analizi, kod seviyesinde method bilgilerini ve bunların zamanlamalarını içerir. 

  • Logs Tab:  Bir trace için tüm logları içerir.
  • Eror Tab: Başarısız olan istekler için meydana gelen istisnalar.
Dynatrace Distributed Tracing ve PurePath teknolojisi

Dynatrace, tüm işlemleri DAVIS adlı yapay zeka aracıyla izler. Her servis için otomatik olarak temel değerler belirler ve bu değerler aşıldığında sistem, sorunun kaynağını tespit ederek ilgili problem ekranına yönlendirir. Eğer bir sorun tespit edilirse, Dynatrace bunu görsel bir şekilde gösterir, böylece hataların analiz edilmesi kolaylaşır.

Örnek İnceleme:   

Bu senaryoda Redis servisine yapılan istekler analiz edilmektedir :

Aşağıdaki görselde, Redis’e yapılan isteklerin zaman çizelgesinin 10:45 civarında başarısız olmaya başladığını görebilirsiniz.

Analyze backtrace seçeneği : Redis gelen tüm isteklerin weather-express servisine ait olduğunu görüyoruz . Hemen hemen Redis’e yapılan tüm istekler başarısız ve kapalı bir bağlantı nedeniyle oluşan AbortError içermektedir.

Etkilenen Node.js trace analiz etmek için, (…) > Distributed traces seçeneğini tıkladığımızda Node.js trace ve kod düzeyindeki yürütme ağacını görmekteyiz. Burada Redis isteğinin hataya yol açtığını görebilirsiniz. Bu hatanın, Node.js kod akışı içerisinde tam olarak nerede gerçekleştiğini de net bir şekilde inceleyebilirsiniz.

İstisnayı analiz etmek için Errors tab seçmelisiniz.

Sonuç olarak, Dynatrace ile servisleriniz üzerinden geçen tüm istekleri uçtan uca izlemek, analiz etmek ve bir sorun meydana geldiğinde bunu tespit etmek son derece kolaydır. Dynatrace’ı diğer analiz araçlarından ayıran en büyük fark, yapılan tüm istekleri örnekleme yapmadan eksiksiz şekilde toplayabilmesidir. Ayrıca Davis® AI aracı sayesinde, yapılan isteklerin response, request ve failure değerleri makine öğrenmesi ile analiz edilerek otomatik eşik değerler belirlenir. Bu sayede, servislerinizde oluşabilecek sorunları önceden sezip önlem almanız sağlanır. Eğer bir hata meydana gelirse, Davis AI kök neden analizi yaparak sizi doğrudan sorunlu servise yönlendirir.

Tüm bu yetenekleriyle Dynatrace, problem analizine önemli ölçüde hız kazandırmakta ve zamanın çok değerli olduğu günümüzde vazgeçilmez bir Uygulama Performans İzleme Platformu hâline gelmektedir.


Dynatrace hakkında daha fazla bilgi için bizimle iletişime geçin!

Merkez Ofis

Mesa Koz Plaza Sahrayı Cedit, Atatürk Cd. No: 69 D: 106, 34734
Kadıköy/İstanbul
info@konsalt.com.tr

+90 (216) 999 95 77



Kategori: Blog
Etiket: Blog

Benzer Yazılar