Tüm Ürünler
Search
Belge Merkezi

Application Real-Time Monitoring Service:Günlük analizi

Son Güncelleme:Oct 05, 2026

Uygulama günlüklerinizi Simple Log Service (SLS) içinde topladıktan ve ARMS uygulama yapılandırmasında ilgili projeyi ve Logstore'u yapılandırdıktan sonra bunları analiz etmek için ARMS'i kullanabilirsiniz. Bu sayede iş günlüklerini analiz ederek hataların kök nedenini tespit edebilirsiniz.

Önemli

ARMS Uygulama İzleme, yeni faturalandırma modelini etkinleştiren kullanıcılar için yeni bir izleme ayrıntıları sayfası sunar. Yeni faturalandırma modeli hakkında ayrıntılı bilgi için bkz. Ürün Faturalandırması (Yeni).

Yeni faturalandırma modelini etkinleştirmediyseniz ancak yeni izleme ayrıntıları sayfasına erişmek istiyorsanız Uygulama Listesi sayfasında Yeni Sürüme Geç seçeneğine tıklayın.

Ön koşullar

1. Adım: İş günlüklerini ilişkilendirme

  1. ARMS konsoluna oturum açın. Sol gezinme bölmesinde Application Monitoring > Application List seçeneklerini belirleyin.

  2. Üst gezinme çubuğundan bir bölge seçin ve uygulamaya tıklayın.

    Not

    Language sütunundaki simgeler uygulamanın programlama dilini gösterir:

    • Java icon: Java

    • image: Go

    • image: Python

    • - (Tire): Managed Service for OpenTelemetry içinde izlenen bir uygulama

  3. Üst gezinme çubuğunda Application Configuration > Custom Configurations seçeneklerini belirleyin.

  4. Application log association configuration bölümünde günlük kaynağı olarak Simple Log Service (SLS) seçeneğini belirleyin, Automatically associate business logs with trace ID anahtarını açın, SLS bölgesini seçin ve ardından proje ile Logstore'u bağlayın.

  5. Save seçeneğine tıklayın.

2. Adım: Günlükleri sorgulama ve analiz etme

  1. Üst gezinme çubuğunda Scenario-based Analysis > Log Analysis seçeneklerini belirleyin.

  2. Günlükleri filtreleyin.

    1. Bir arama ve analiz ifadesi girin.

      Arama ve analiz ifadesi bir arama ifadesi ve bir analiz ifadesinden oluşur. Biçim şöyledir: Arama ifadesi|Analiz ifadesi. Söz dizimi hakkında daha fazla bilgi için bkz. Sorgu sözdizimi ve işlevleri ve Toplama işlevleri.

    2. Sorgu için zaman aralığını ayarlayın.

      Göreceli bir zaman, saat hizalı bir zaman veya özel bir zaman aralığı belirtebilirsiniz.

      Not

      Sorgu sonuçlarında en fazla 1 dakikalık bir hata payı olabilir.

    3. Sonuçları görüntülemek için Query/Analysis seçeneğine tıklayın.

    Sorgu sonuçları ilgili iz kimliğine ait günlük girişlerini gösterir. Bir WARN düzeyindeki günlük PrometheusServiceImpl prometheus check input param success mesajını içerir. Başka bir INFO düzeyindeki günlük ise RegisterPromClusterServlet Failed mesajını içerir ve bu günlük bir java.lang.RuntimeException hatası barındırır. Temel hata mesajı Failed to create grafana folder şeklindedir ve yığın izlemesi GrafanaConfigService ile ilgili çağrılara işaret eder.

SSS

XML değişikliklerinden sonra günlük ilişkilendirmesi neden başarısız olur?

SLS'de günlükleri sorgularken bu sorunla karşılaşırsanız öncelikle günlüklerin SLS'ye raporlandığını ve ARMS konsolunda doğru proje ile Logstore'u bağladığınızı doğrulayın.

SLS'de verilerin bulunduğunu onayladıktan sonra sorunu aşağıdaki iki senaryoya göre giderin:

  • Hiçbir günlük bir iz kimliği ile ilişkilendirilmemiş. Bu sorunun birkaç olası nedeni vardır:

    • Aracı başarıyla eklenmemiş.

      ARMS konsolunda tüm ölçümlerin doğru şekilde görüntülenip görüntülenmediğini kontrol ederek bunu doğrulayabilirsiniz.

    • Aracının ana anahtarı devre dışı bırakılmış veya Tomcat eklentisi gibi belirli eklentiler kapatılmış.

      Bunu Custom configurations sayfasındaki Agent switch settings bölümünden kontrol edebilirsiniz.

    • Sunucu tarafı çerçeve desteklenmiyor. Örneğin desteklenmeyen bir web kapsayıcısı, RPC çerçevesi, zamanlanmış görev çerçevesi veya mesajlaşma çerçevesi kullanıyor olabilirsiniz. Desteklenen çerçevelerin listesi için bkz. Uygulama izleme tarafından desteklenen Java bileşenleri ve çerçeveleri.

    • Log4j, Log4j2 veya Logback dışındaki günlük kayıt çerçevelerini kullanıyor veya bu çerçevelerde yoğun değişiklikler yapmış olabilirsiniz.

    • Günlük XML yapılandırması hatalı.

      Sorunu araştırmak için aşağıdaki adımları uygulayın:

      • Aracı sürüm 4.1.6 veya üstünü kullanıyorsanız otomatik iz kimliği ekleme özelliğini etkinleştirin. İz kimlikleri ilişkilendirilebiliyorsa bu durum günlük XML yapılandırmasında bir hata olduğunu doğrular.

      • Java için ARMS SDK'sını içe aktarın ve günlükleri yazdırırken iz kimliğini manuel olarak alın. Aşağıda örnek kod verilmiştir:

        Span span = Tracer.builder().getSpan();   // This does not create a new span.
        String traceId = span.getTraceId();
        logger.warn("traceId={} this is your log message", traceId)

        İz kimliğini alabiliyorsanız bu durum günlük XML yapılandırmasında bir hata olduğunu doğrular.

      • Her iki yöntem de başarısız olursa destek talebi oluşturun.

  • Bazı günlükler bir iz kimliği ile ilişkilendirilmemiş. Bunun nedeni günlüklerde bir iz bağlamının eksik olması olabilir.

    Genellikle günlükler yazılırken bir iz bağlamı bulunmaz. İz bağlamı genellikle yalnızca HTTP arabirimleri, RPC arabirimleri, zamanlanmış görevler veya mesaj tüketimi gibi istek giriş noktalarında işlenen kodlarda yazdırılan günlüklerde mevcuttur.

    Örnek senaryolar:

    • Bir uygulama HTTP isteği aldıktan sonra bir veritabanı sorgusu yürütür ve ardından bir günlük yazdırır. Bu durumda bir iz bağlamı vardır ve günlük başarıyla bir iz kimliği ile ilişkilendirilebilir.

    • Bir uygulama HTTP isteği alır, bir veritabanı sorgusunu yürütmek üzere eşzamansız bir görevi bir iş parçacığı havuzuna gönderir ve ardından bir günlük yazdırır.

      • Aracı v3.x için günlükler bir iz kimliği ile ilişkilendirilemez çünkü aracı iz bağlamının otomatik eşzamansız yayılmasını desteklemez. Eşzamansız iş parçacığında iz bağlamı yoktur.

      • Aracı v4.x için günlükler bir iz kimliği ile ilişkilendirilebilir çünkü aracı iz bağlamının otomatik eşzamansız yayılmasını destekler. Eşzamansız iş parçacığında iz bağlamı vardır.

    • Başlatıldıktan sonra bir uygulama veritabanı sorgularını döngüsel olarak yürütmek ve her sorgudan sonra bir günlük yazdırmak için bir JDK iş parçacığı havuzu kullanır. Bu durumda iz bağlamı yoktur ve günlükler bir iz kimliği ile ilişkilendirilemez.

    Günlüğü yazan iş parçacığının adını kontrol ederek belirli senaryoyu belirleyebilirsiniz.

    Örneğin:

    • Web kapsayıcısı olarak Tomcat kullandığınızda http-nio- ile başlayan iş parçacığı adları genellikle HTTP isteklerini işleyen iş parçacıklarını temsil eder. Bu iş parçacıkları tarafından yazdırılan günlükler bir iz kimliği ile ilişkilendirilebilir.

    • RPC çerçevesi olarak Dubbo kullandığınızda DubboServerHandler- ile başlayan iş parçacığı adları genellikle Dubbo isteklerini işleyen iş parçacıklarını temsil eder. Bu iş parçacıkları tarafından yazdırılan günlükler bir iz kimliği ile ilişkilendirilebilir.

    Diğer çerçeveler de benzer şekilde davranır. Sorunun bu senaryolardan hiçbiri nedeniyle kaynaklanmadığını belirlerseniz destek talebi oluşturun.

  • Trace Explorer'da günlükler neden boş?

    Sorun giderme adımlarını izleyin:

    1. Uygulamanın günlüklerinin hiçbirinin bir iz kimliği ile ilişkilendirilip ilişkilendirilmediğini kontrol edin. Durum böyleyse Günlük XML yapılandırmasını değiştirdikten sonra günlükler neden iz kimlikleriyle ilişkilendirilmiyor? bölümündeki sorun giderme adımlarına bakın. Durum böyle değilse sonraki adıma geçin.

    2. Bir veya daha fazla belirli arabirim için bir iz kimliğine ait günlükleri bulamıyorsanız bu durum genellikle arabirimlerin herhangi bir günlük çıkarmadığı anlamına gelir.

    3. Yukarıdaki senaryoların hiçbiri geçerli değilse destek talebi oluşturun.

    Bağlamadan sonra Logstore neden boş?

    SLS belgelerine göre Logstore için günlük toplamayı yapılandırmanız gerekir. ARMS günlükleri otomatik olarak Logstore'a toplamaz.

    Ağ geçidi günlüklerinde iz kimliği ilişkilendirmesi neden başarısız olur?

    v3.x aracısının Spring Cloud Gateway instrumentasyonunda bilinen bir hata vardır. v4.x aracısına yükseltmek bu sorunu çözer.

    TraceCallable.wrap() kullanıldığında iz kimliği ilişkilendirmesi neden başarısız olur?

    Bu durum yöntemin yanlış kullanıldığını gösterir. Eşzamansız senaryoları kod değişikliği gerektirmeden işleyen v4.x aracısına yükseltmenizi öneririz.

    Otomatik ekleme sırasında iz kimliği ilişkilendirmesi neden başarısız olur?

    Bu sorun genellikle iki durumda ortaya çıkar:

    ARMS, Simple Log Service (SLS) yerine kullanılabilir mi?

    Hayır. Application Real-Time Monitoring Service (ARMS) ve Simple Log Service (SLS) farklı amaçlara hizmet eder ve birbirlerinin yerine geçmek yerine birbirlerini tamamlar.

    • ARMS; iz analizi, API izleme ve uygulama performans analizi üzerine odaklanan bir Uygulama Performansı İzleme (APM) ürünüdür. ARMS'in Günlük analizi özelliği bağladığınız SLS projesi ve Logstore'dan günlükleri sorgular; bu nedenle SLS'i günlük depolama arka ucu olarak kullanır. ARMS sizin adınıza günlükleri Logstore'a toplamaz.

    • SLS; günlük toplama, depolama ve analiz için genel amaçlı bir hizmettir ve birden çok veri kaynağından veri alımını destekler.

    ARMS'in Günlük analizi özelliğini kullanmak için bu konudaki 1. Adım: İş günlüklerini ilişkilendirme bölümünde açıklandığı gibi bir SLS projesi ve Logstore bağlayın. Ardından üst gezinme çubuğunda Scenario-based Analysis > Log Analysis seçeneklerini belirleyerek günlükleri sorgulayın ve analiz edin.