Aracılığıyla paylaş


Application Insights kullanarak sistem tarafından oluşturulan günlükleri analiz etme

Tuval uygulamalarınızı Azure Monitor'un bir özelliği olan Application Insights'ye bağlayın. Application Insights, sorunları tanılamaya ve uygulamalardaki kullanıcı davranışını anlamaya yardımcı olan analiz araçları içerir. Daha iyi iş kararları almak ve uygulama kalitesini artırmak için toplanan bilgileri kullanın.

Önkoşullar

Not

Telemetri bilgilerini görüntülemek için kiracı yöneticinizin Canvas uygulaması içgörülerini etkinleştirmesi gerekir. Power Platform Yönetim Merkezi'ne gidin, yönetici olarak oturumu açın. Ayarlar>Kiracı ayarları>Canvas uygulaması içgörüleri'ni seçin. Tuval uygulaması içgörüleri bölmesinde, geçiş düğmesini Açık konumuna getirin ve değişikliklerinizi kaydedin. Kiracı ayarları bölümünde daha fazla bilgi edinin.

Application Insights kaynağı oluştur

Olayları depolamak için bir Application Insights kaynağı oluşturarak bir uygulamadan sistem tarafından oluşturulan günlükleri gönderin.

Azure portalında Application Insights için çalışma alanı tabanlı bir kaynak oluşturmayı öğrenin.

Uygulamanızı Application Insights'a bağlayın

Not

  • Bir bağlantı dizesi belirttiğinizde, verilerin kiracılar arasında gönderilebileceğini unutmayın. İzleme olayları, hedef App Insights örneği uygulamadan farklı bir kiracıda olsa bile, uygulamanız için ayarladığınız bağlantı dizesine karşılık gelen App Insights kaynağına gönderilir.
  • App Insights için bağlantı dizeleri mevcut olabileceğinden mevcut .msapp dosyalarını içeri aktarırken dikkatli olun. Doğru App Insights bağlantı dizesinin kullanılıp kullanılmadığını denetlemek için içeri aktarma işleminden sonra uygulamayı el ile açın.
  1. Power Apps'te oturum açın.

  2. Düzenlemek için uygulamayı açın.

  3. Sol gezinme ağaç görünümünde Uygulama nesnesini seçin ve Application Insights kaynağınızdan Bağlantı dizesini yapıştırın.

    Bağlantı dizesi eklemenin ekran görüntüsü.

  4. Uygulamanızı kaydedin ve yayımlayın.

  5. Yayımlanmış uygulamayı Oynatın ve farklı ekranlara göz atın.

Uygulama ekranlarında gezinirken olaylar otomatik olarak Application Insights'e kaydedilir. Kullanım ayrıntıları şunlardır:

  • Kullanıcıların uygulamaya nereden eriştiği
  • Kullanıcılar hangi cihazları kullanıyor
  • Kullanıcıların kullandığı tarayıcı türleri

Önemli

Olayları Application Insights'a göndermek için yayımlanmış uygulamayı yürütün. Power Apps Studio uygulamasında uygulamanın önizlemesini görüntülediğinizde olaylar Application Insights'a gönderilmez.

Application Insights'ta olayları görüntüle

  1. Azure portalında oturum açın ve önceden oluşturduğunuz Application Insights kaynağını açın.

  2. Sol gezinme bölmesinde, Kullanım bölümünün altında Kullanıcılar'ı seçin.

    Not

    Kullanıcılar görünümü uygulama kullanım ayrıntılarını gösterir;

    • Uygulamayı görüntüleyen kullanıcı sayısı
    • Kullanıcı oturumu sayısı
    • Kaydedilen olay sayısı
    • Kullanıcıların işletim sistemleri ve tarayıcı sürümü ayrıntıları
    • Kullanıcıların bölgesi ve konumu

    Application Insights'taki kullanıcılar, oturumlar ve olay analizi hakkında daha fazla bilgi edinin.

  3. Oturum uzunluğu ve ziyaret edilen ekranlar gibi belirli ayrıntıları görüntülemek için bir kullanıcı oturumu seçin.

    Kullanıcılar için kullanım ayrıntılarının ekran görüntüsü.

  4. Sol gezinme bölmesinde, Kullanım bölümünün altında Etkinlikler'i seçin. Tüm uygulama oturumlarında görüntülenen tüm ekranların bir özetini görebilirsiniz.

    Uygulama için etkinlik ayrıntılarının ekran görüntüsü.

İpucu

Aşağıdakiler gibi diğer Application Insights özelliklerini keşfedin:

Özel izleme olayları oluşturma

Uygulamanıza özgü bilgileri analiz etmek için Application Insights'e özel izler yazın. İzleme işlevi aşağıdakileri toplamanızı sağlar:

  • Ekranlardaki denetimler için parçalı kullanım bilgileri
  • Uygulamanıza erişen belirli kullanıcılar
  • Oluşan hatalar

İzleme, kullanıcılar uygulamanıza göz atarken ve işlem yaparken bir bilgi izi göndererek sorunları tanılamanıza yardımcı olur. Application Insights'a gönderilen izleme iletileri üç önem derecesine sahiptir:

  • Bilgiler
  • Uyarı
  • Error

Duruma göre uygun önem derecesine sahip bir izleme iletisi gönderin. Verileri sorgulayabilir ve önem derecesine göre belirli eylemler gerçekleştirebilirsiniz.

Not

Herhangi bir kişisel veri kaydı gerçekleştiriyorsanız, çeşitli gizlilik yasaları ve düzenlemelerinden kaynaklanan yükümlülükleri dikkate edin. Daha fazla bilgi için Microsoft Güven Merkezi ve Hizmet Güveni Portalına bakın.

Uygulamanızda her ekranda geri bildirim toplayacak ve olayları Application Insights'e kaydedecek bir bileşen oluşturun.

  1. Power Apps'te oturum açın.

  2. Sol gezinme bölmesinde Uygulamalar'ı seçin. Uygulama listesinden Kudos uygulamasını seçin ve sonra da Düzenle'yi seçin.

    Not

    Yeni bir uygulama oluşturabilir veya mevcut bir uygulamayı düzenleyebilirsiniz.

  3. Ağaç görünümündeBileşenler'i seçin:

    Bileşenler.

  4. Yeni bileşen'i seçin, genişliği 200 ve yüksekliği 75 olarak yeniden boyutlandırın:

    Yükseklik ve genişlik.

  5. Menüden Ekle' i seçin ve Emoji-Kaş ve Emoji - Gülümseme eklemek için Simgeler'i seçin:

    Simgeler ekleyin.

  6. Özel özellik oluşturmak için Yeni özel özellik'i seçin :

    Özel özellik oluşturma.

  7. Ad ve Görüntü adı özelliğini girin (örneğin, FeedbackScreen).

  8. Özellik Açıklaması girin.

  9. Özellik türünü, giriş ve veri türünüekran olarak seçin:

    Özel özellik.

    Not

    Bir giriş özelliği, ekran adını ve bileşenini yakalayıp bu bilgiyi Application Insights'e kaydetmenize olanak tanır.

  10. Ağaç görünümünde bileşeni seçin, Diğer eylemler'i () seçin ve bileşene FeedbackComponent gibi anlamlı bir ad vermek için Yeniden Adlandır'ı seçin.

    Bileşeni ve simgeleri yeniden adlandırma.

  11. Simgeleri seçin, daha fazla eylem () seçin ve sonra simgeleri, FrownIcon ve SmileIcon gibi anlamlı adlarla yeniden adlandırmak için yeniden adlandır seçeneğini seçin.

  12. FrownIcon simgesini seçin , OnSelect özelliğini seçin ve formül çubuğuna aşağıdaki ifadeyi girin:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeedbackValue: "-1"
           }
         );
    Notify("Thanks for your feedback!");
    

    Asık surat simgesi formülü.

    Not

    Formül olarak UserName, UserEmail, Screen ve Feedback (-1 değeriyle) Application Insights'a gönderilir.

  13. SmileIcon simgesini seçin , OnSelect özelliğini seçin ve ardından formül çubuğuna aşağıdaki ifadeyi girin:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Bileşeni uygulamanızda ekranlardan birine ekleyin:

    Geri bildirim bileşeni ekleme.

  15. Uygulamanızı kaydedip yayımlamak için Kaydet'i ve ardından Yayımla'yı seçin.

  16. Yayınlanan uygulamayı oynatın ve ekranlarından gülümseme veya kaş çatma geribildirimleri gönderin.

    Önemli

    Olayları Application Insights'a göndermek için yayımlanmış uygulamayı yürütmeniz gerekir. Power Apps Studio uygulamasında uygulamanın önizlemesini görüntülediğinizde olaylar Application Insights'a gönderilmez.

    Yayımlanan uygulamayı yürütme.

Application Insights'deki özel verileri analiz edin

Artık Application Insights'ta uygulamanızdan izleme işlevini kullanarak gönderdiğiniz verileri çözümlemeye başlayabilirsiniz.

  1. Azure portalında oturum açın ve daha önce oluşturduğunuz Application Insights kaynağını açın.

    Application Insights'u seçin.

  2. Soldaki gezinti bölmesinde İzleme altından Kayıtlar'ı seçin.

    Günlükler'i seçin.

  3. Aşağıdaki sorguyu girin ve uygulamanızdan gelen geri bildirimi görüntülemek için Çalıştır'ı seçin:

    traces
    | where message == "App Feedback"
    | order by timestamp
    

    Uygulama geri bildirimini görüntüleme.

  4. Sonuçlarda bir satır seçin ve customDimensions alanını genişletin.

    Bileşeninizde gülümseme veya Kaş simgesi için OnSelect olayının Ekran, UserName, UserEmail ve FeedbackValue değerleri kaydedildi. Değerler Application Insights'a gönderilen appId, appName ve appSessionId gibi her olay için de kaydedilir.

    Özel boyutları genişletme.

  5. JSON özel boyutlarının özelliklerini genişletmek ve sütunları sonuç görünümünde yansıtmak için aşağıdaki örnek sorguyu kullanın.

    traces
        | extend customdims = parse_json(customDimensions)
        | where message == "App Feedback"
        | project timestamp
            , message
            , AppName = customdims.['ms-appName']
            , AppId = customdims.['ms-appId']
            , FeedbackFrom = customdims.UserEmail
            , Screen = customdims.Screen
            , FeedbackValue = customdims.FeedbackValue
        | order by timestamp desc
    

    CustomDimensions sorgusunu genişletme.

    İpucu

    Günlük sorguları güçlüdür. Bunları birden fazla tabloyu birleştirmek, büyük miktarda veriyi toplamak ve karmaşık işlemleri çalıştırmak için kullanın. Günlük sorguları hakkında daha fazla bilgi edinin.

Application Insights'de uygulama yaşam döngüsü verilerini analiz etme

Oturum özeti olayı, oturum başına bir kez günlüğe kaydedilir ve uygulama açma başarısı, uygulama açılışı en iyi ve en iyi olmayan oturumlar ve uygulama açılış performansı ölçümleri hakkında bilgiler içerir.

Sınırlar

Bu olaylar, bir web tarayıcısında çalışan tuval uygulamaları için kesindir. Bunlar Power Apps mobilde çalışan uygulamalar için mevcut değildir ve değerleri özel sayfalar için her zaman mevcut veya doğru olmayabilir.

Aşağıda, oturum özeti olayına ve kullanılabilir tüm alanlara nasıl erişileceğini gösteren örnek bir sorgu verilmiştir:

customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
// 
| extend cd = parse_json(customDimensions) 
// 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend successfulAppLaunch = tobool(sessionSummary["successfulAppLaunch"]) 
| extend unsuccessfulReason = tostring(sessionSummary["unsuccessfulReason"]) 
| extend appLoadResult = tostring(sessionSummary["appLoadResult"]) 
| extend appLoadNonOptimalReason = 
tostring(sessionSummary["appLoadNonOptimalReason"]) 
// 
| extend timeToAppInteractive = todouble(sessionSummary["timeToAppInteractive"]) 
| extend timeToAppFullLoad = todouble(sessionSummary["timeToAppFullLoad"]) 
// 
| project 
    timestamp, 
    session_Id, 
    successfulAppLaunch, 
    unsuccessfulReason, 
    appLoadResult, 
    appLoadNonOptimalReason, 
    timeToAppInteractive, 
    timeToAppFullLoad 
| limit 5 

Aşağıdaki alanlar, son kullanıcı deneyimlerine bağlı performans işaretçilerinin uygulama açma başarısını ve gecikme süresini ölçmeye yardımcı olur.

Alan Description
successfulAppLaunch Oturumun uygulamayı başarıyla başlatıp başlatmadığını gösteren Boole değeri
unsuccessfulReason Oturum uygulamayı başlatamadıysa, bu nedeni / hatayı gösterir. Oturum başarılı olduysa bu alan boş bir dize olacaktır.
appLoadResult Oturumun optimal olup olmadığını gösterir. Olası değerler: optimal, diğer
appLoadNonOptimalReason Oturum optimal değilse, bu nedenini gösterir. Olası değerler: etkileşim gerekli, kısıtlanmış, ekrandan uzaklaşılmış, diğer
timeToAppInteractive Uygulama oturumunun etkileşimli bir duruma ulaşması için milisaniye cinsinden süre. Bu durumda, kullanıcılar ilk ekranla etkileşime başlayabilir, ancak veriler tam olarak yüklenmemiş olabilir.
timeToAppFullLoad Uygulama oturumunun, ilk ekran için tüm veri isteklerinin yüklenmesinin tamamlandığı tam yüklü bir duruma ulaşması için milisaniye cinsinden süre.

Örnek sorgular

Uygulama Açılış Başarı Oranları

Bu sorgu, uygulama açma başarı oranını güne göre gösterir. Bu, kullanıcıların karşılaşabileceği sorunlardaki ani artışları veya eğilimleri değerlendirmek için kullanılabilir

customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
| extend cd = parse_json(customDimensions) 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend successfulAppLaunch = tobool(sessionSummary["successfulAppLaunch"]) 
| summarize 
sessions_total = dcount(session_Id), 
sessions_success = dcountif(session_Id, successfulAppLaunch == true) 
by bin(timestamp, 1d) 
| extend successRate =  
100.0 * (todouble(sessions_success) / todouble(sessions_total)) 
| project timestamp, successRate 
| render timechart

Nedene göre başarısız oturumların sayısı

Bu sorgu, başarısız oturumların sayısını nedene/hataya göre gösterecektir. Bu, uygulama açma hatalarında hata ayıklamak veya kullanıcıların karşılaşabileceği sorunlardaki eğilimleri değerlendirmek için kullanılabilir.

customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
| extend cd = parse_json(customDimensions) 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend successfulAppLaunch = tobool(sessionSummary["successfulAppLaunch"]) 
| extend unsuccessfulReason = tostring(sessionSummary["unsuccessfulReason"]) 
| where successfulAppLaunch == false 
| summarize 
count() 
by unsuccessfulReason, bin(timestamp, 1d) 
| render timechart

Uygulama Açma Performansı

Bu sorgu, güne göre uygulama açılış performansı ölçümlerini gösterir. Bu, zaman içinde veya değişiklik yaptıktan sonra performans eğilimlerini değerlendirmek için kullanılabilir. Öneriyoruz:

  1. timeToAppInteractive ve timeToAppFullLoad alanlarının 75. yüzdebirlik dilimini kullanarak, aykırı değerlerin neden olduğu gürültüyü önleyin.
  2. Verilerde kullanıcı etkileşimi olan oturumlar, uygulamanın arka plan sekmesine yüklendiği oturumlar gibi beklenen durumların neden olduğu paraziti önlemek için yalnızca en uygun oturumlara filtreleme yapılmalıdır.
customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
| extend cd = parse_json(customDimensions) 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend appLoadResult = tostring(sessionSummary["appLoadResult"]) 
| extend timeToAppInteractive = todouble(sessionSummary["timeToAppInteractive"]) 
| extend timeToAppFullLoad = todouble(sessionSummary["timeToAppFullLoad"]) 
| where appLoadResult == "optimal" 
| summarize 
percentile(timeToAppInteractive, 75), 
percentile(timeToAppFullLoad, 75) 
by bin(timestamp, 1d) 
| render timechart

HTTP çağrılarında uygulama yükleme durumu

Bir HTTP çağrısının uygulama başlatmaya katkıda bulunup bulunmadığını gösteren yeni bir istek üst bilgisi x-ms-app-load-state vardır. Özellikle, bu, yukarıdaki timeToAppFullLoad öğesini hangi HTTP çağrılarının etkilediğini belirlemek için kullanılabilir.

Başlık iki değerden biri olabilir:

Değer Description
TTFL Isteğin timeToAppFullLoad'a katkıda bulunduğunu gösterir
PostTTFL Isteğin timeToAppFullLoad'a katkıda bulunmadığını gösterir

Aşağıda, üst bilgi değerine nasıl erişileceğini ve appLoadState sütununa nasıl yansıtılacağını gösteren örnek bir sorgu verilmiştir:

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| project timestamp, session_Id, appLoadState, name, duration 
| limit 5

Tam Yüklemeye katkıda bulunan HTTP çağrılarının sayısı

Bu sorgu, güne göre timeToAppFullLoad'a katkıda bulunan HTTP çağrılarının ortalama sayısını gösterir. Bu, uygulamanın başlangıçta yaptığı ve düşük performansa katkıda bulunabilecek çağrı sayısını değerlendirmek için kullanılabilir.

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| where appLoadState == "TTFL" 
| summarize httpCalls = count() by session_Id, bin(timestamp, 1d) 
| summarize avg(httpCalls) by timestamp 
| render timechart

Tam Yüklemeye katkıda bulunan HTTP çağrılarının süresi

Bu sorgu, güne göre timeToAppFullLoad'a katkıda bulunan HTTP çağrılarının toplam süresini gösterir. Bu, HTTP çağrılarının uygulama başlatma performansı üzerindeki genel etkisini değerlendirmek için kullanılabilir.

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| where appLoadState == "TTFL" 
| summarize httpCallDuration = sum(duration) by session_Id, bin(timestamp, 1d) 
| summarize percentile(httpCallDuration, 80) by timestamp 
| render timechart

URL'ye Göre Tam Yüklemeye katkıda bulunan HTTP çağrılarının süresi

Yukarıdakine benzer şekilde, bu sorgu URL'ye göre timeToAppFulLoad'a katkıda bulunan HTTP çağrılarının sayısını ve süresini gösterir. Bu, uygulama başlatma performansını etkileyen belirli yavaş HTTP çağrılarını tanımlamak için kullanılabilir.

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| where appLoadState == "TTFL" 
| summarize 
count(), percentile(duration, 80) by name

İşlenmemiş hataları izleme (deneysel)

[Bu bölüm sürüm öncesi belgelerini içerir ve değiştirilebilir.]

Önemli

  • Bu, deneysel bir özelliktir.
  • Deneysel özellikler üretimde kullanım amacı taşımaz ve işlevleri sınırlıdır. Bu özellikler, müşterilerin erken erişim elde etmesi ve geri bildirim sağlaması amacıyla resmi sürümden önce kullanıma sunulur.

Uygulamanız çalışırken oluşabilecek her hatayı her zaman tahmin edemez veya planlayamazsınız. İşlenmemiş Power Fx formülü hataları kullanıcılara başlık iletisi olarak bildirilir. Ayrıca, uygulama kullanıcılarınızın sorunları bildirmesine ihtiyaç duymadan, sıklıklarını ve ciddiyetlerini göstermek için bunları Application Insights'e bildirebilirsiniz. Ayrıca, çalışma zamanı hataları oluştuğunda daha etkin bir yaklaşım gerçekleştirmek için gerçek zamanlı uyarılar ayarlayabilirsiniz.

Application Insights'a hata aktarmayı etkinleştirme

Power Apps'in işlenmemiş çalışma zamanı hatalarını Azure Application Insights'ye geçirmesine izin veren ayarı etkinleştirin.

Uyarı

Hataları Azure Application Insights'ye geçir ayarının etkinleştirilmesi, Application Insights günlüklerinin depolanması için ek maliyetlere neden olabilir.

  1. Düzenlemek için tuval uygulamasını açın.
  2. Ayarlar>Güncellemeler>Deneysel'i seçin ve Hataları Azure Application Insights'a ilet seçeneğini açın.
  3. Uygulamanızı kaydedip yayınlayın.

Application Insights'ta hata olayları

Kullanıcıların uygulama çalışma zamanında karşılaştıkları işlenmemiş Power Fx hataları izler tablosuna raporlanır. İşlenmeyen hatalar, "İşlenmeyen hata" olay iletisiyle tanımlanabilir ve diğer hata olaylarından ayırt edilebilir. Bu olayların "severityLevel" boyutu 3'tür (TraceSeverity.Error).

Ayrıntılı hata iletileri, customDimension özelliğinin "hatalar" boyutunda verilir. Aynı işlem sırasında birden çok hata oluştuğu durumlarda hatalar tek bir izleme olayının "hatalar" boyutunda birleştirilir. Hata mesajları, canlı hata ayıklama oturumu sırasında İzleyici'de bildirilenlerle eşleşiyor.

Bu örnek sorgu, işlenmeyen hataları tanımlar ve izleme olayındaki tüm hata iletilerini genişletir:

traces
    | where message == "Unhandled error"
    | extend customdims = parse_json(customDimensions)
    | extend errors = parse_json(tostring(customdims.['errors']))
    | mv-expand errors
    | project timestamp
        , itemId //unique identifier for the trace event
        , AppName = customdims.['ms-appName']
        , AppId = customdims.['ms-appId']
        , errors = errors.['Message']
    | order by timestamp desc

Örnek sorgu için örnek çıktının ekran görüntüsü.

Bağıntı izleme (deneysel)

[Bu bölüm sürüm öncesi belgelerini içerir ve değiştirilebilir.]

Önemli

  • Bu, deneysel bir özelliktir.
  • Deneysel özellikler üretimde kullanım amacı taşımaz ve işlevleri sınırlıdır. Bu özellikler, müşterilerin erken erişim elde etmesi ve geri bildirim sağlaması amacıyla resmi sürümden önce kullanıma sunulur.

Harici verilere ve hizmetlere bağlanmak çoğu uygulama için çok önemlidir. Korelasyon izleme, belirli sınırlamalara tabi olarak, bir tuval uygulaması ve bağlantıları genelinde sistem tarafından oluşturulan günlükleri birbirine bağlamak için bağlam bilgilerini oluşturur ve yayar. Örneğin, uygulamanız daha sonra bir Azure İşlevi veya başka bir REST API çağıran özel bir bağlayıcı çağırabilir. Bağıntı izleme, uygulamada yapılan eylemlerin katmanlar arasında temelindeki API çağrılarıyla ilişkilendirilmesine olanak tanır. Bu, sorun giderme için kullanışlıdır.

Tuval uygulaması bağıntı izleme, bağlam izlemeyi uygular ve W3C belirtimini izler.

Bağıntı izlemeyi etkinleştirme

Uyarı

Bu ayarın etkinleştirilmesi, Application Insights günlüklerinin depolanmasıyla ilgili ek maliyetlere neden olabilir.

  1. Bağıntı izlemeyi etkinleştirmek için canvas uygulamanızı düzenlemek üzere açın.
  2. Ayarlar>Güncellemeler>Deneysel>'i seçin ve Azure Application Insights bağıntı izlemeyi etkinleştir'i açın.
  3. Uygulamayı kaydedin ve yayımlayın.

Azure Application Insights bağıntı izlemeyi etkinleştirme ayarının ekran görüntüsü.

Sınırlamalar

  • Bağıntı izleme yalnızca özel bağlayıcılarla çalışır. Diğer bağlayıcı türleri desteklenmez.
  • HTTP istekleri, Application Insights'ta yalnızca bağlı hizmetin Application Insights'a da bağlı olması durumunda yakalanır.

Bağıntı izlemeyi kullanma

Bağıntı izleme özelliği etkinleştirildiğinde, tuval uygulamasının Application Insights kurulumunun bağımlılıklar tablosuna sistem tarafından oluşturulan yeni bir günlük olayı ekler. Bu olay, bir ağ çağrısından yanıt alındığında kaydedilir. Bağımlılık olayları, istek ve yanıt başlıkları, yanıt durum kodu ve çağrı süresi dahil olmak üzere ağ çağrısının ayrıntılarını yakalar.

Bağımlılıklar tablosuna kaydedilen örnek olay.

Bağlı hizmet aynı zamanda Application Insights'a da bağlıysa, hizmetin Application Insights kurulumunun istekler tablosunda isteği yakalayan ek bir sistem tarafından oluşturulmuş günlük olayı oluşturulur. Azure Işlevleri gibi bazı Azure hizmetleri, Azure portalından herhangi bir kodlama olmadan bağlanabilir. Aynı Application Insights kurulumuna tuval uygulamaları veya birden çok uygulama ve bağlı hizmet bağlanabilir.

İstekler tablosuna kaydedilen örnek olay.

"operation_Id" boyutunda sistem tarafından oluşturulan diğer günlüklerle birlikte desteklenen bağlayıcılar için ağ çağrılarına katılın. Aşağıdaki sorgu, bir uygulama oturumu sırasında yayılan izleme olaylarının yanı sıra bir ağ çağrısını gösterir.

traces | union dependencies | union requests | union pageViews | union customEvents
| project timestamp
    , itemType
    , name
    , operation_Name
    , message
    , severityLevel
    , customDimensions
    , operation_Id
    , operation_ParentId
| where operation_Id == "0a7729e3e83c4e4d93cb4f51149f73b9" //placeholder operation_Id, replace
| order by timestamp asc

Önceki örnek sorgu için örnek çıktının ekran görüntüsü.

Verileri Power BI'e dışa aktarma

Application Insights Veri ve sorgu sonuçlarınızı Power BI çözümleme ve veri sunusu için uygulamasına verebilirsiniz.

  1. Azure portalında oturum açın ve önceden ayarladığınız Application Insights kaynağı açın.

  2. Soldaki gezinti bölmesinde İzleme altından Kayıtlar'ı seçin.

  3. Günlük Analizi sorgu penceresinde, dışa aktar menüsünü seçin.

  4. Power BI sorgu dosyasını indirmek için Power BI'ye (M sorgusu) aktar seçeneğini belirleyin.

    Log Analytics sorgu penceresindeki Power BI sorgusunu dışarı aktar seçeneğinin ekran görüntüsü.

  5. İndirilen dosyayı bir metin düzenleyicide açın ve sorguyu panoya kopyalayın.

  6. Power BI açın.

  7. Giriş şeridinde Verileri Al ve ardından Boş sorgu'yu seçin.

    Power BI Veri Al menüsündeki Boş sorgu seçeneğinin ekran görüntüsü.

  8. Sorgu penceresinde Gelişmiş Düzenleyici'yi seçin, sorguyu pencereye yapıştırın, Bitti'yi ve ardından Kapat ve Uygula'yı seçin.

    Power BI'deki Gelişmiş Düzenleyicinin ekran görüntüsü, pencereye yapıştırılmış bir sorgu ile.

Uygulamanızdan gelen geri bildirimleri temsil etmek ve veri odaklı kararlar almak için Power BI'de grafikler ve görselleştirmeler oluşturun.

Power BI'deki uygulama geri bildirimlerini temsil eden grafiklerin ve görselleştirmelerin ekran görüntüsü.

Varsayılan İzleme olayı bağlamı ve boyutları

Her İzleme olayında customDimensions özelliğine varsayılan boyutlar eklenir. Bu boyutlar olayların gerçekleştiği uygulamayı ve uygulama oturumlarını tanımlar. İzleme işlevini kullanarak ek özel verileri günlüğe kaydederseniz, bu veriler özel boyutlarda da görünür.

Boyut Adı Temsil eder:
ms-appId Olayı gönderen uygulamanın uygulama kimliği.
ms-appname Olayı gönderen uygulamanın uygulama adı.
ms-appSessionId Uygulama oturum kimliği. Bu değer bazı senaryolarda doldurulmayabilir. Kullanılabildiğinde bu değer standart Application Insights sessionID boyutunu geçersiz kılar.
ms-tenantID Uygulamanın yayımlandığı kiracının benzersiz tanıtıcısı.
ms-environmentId Uygulamanın yayımlandığı ortamın adı.
userId Oturumla ilişkili kullanıcının benzersiz tanımlayıcısı.
ms-duration Kullanıcının bir ekrandan diğerine gitmesi için geçen süreyi ölçen yaklaşık değer. Bu değer standart Application Insights PageView süresi boyutunu geçersiz kılar.
sessionId Tek bir uygulama oturumuyla ilişkilendirilmiş tüm olayları ilişkilendirmek için kullanılabilen bir oturum kimliği. Bu değer her zaman vardır ve benzersiz oturum sayısını anlamak için önerilir. Bu değer oynatıcının oturum kimliğinden alınır ve uygulama oynatılırken oturum ayrıntıları görüntülendiğinde gösterilir. Oturum kimliği bazen Application Insights tarafından oluşturulmuş varsayılan, rastgele, benzersiz bir değer alabilir. Bu varsayılan değer güvenilir değildir ve uygulamaya özgü herhangi bir parametreyle bağıntılı olmaz.
Süre Kullanıcının bir ekrandan diğerine gitmesi için geçen süreyi ölçen yaklaşık değer. Bu değer, ms-duration boyutu tarafından bildirilen süreyle eşleşir.
ms-isTest Oturumun Test Studio test çalıştırıcısı ile ilişkili olup olmadığını gösterir.
ms-currentScreenName Kullanıcının gezindiği sayfanın adı (sayfa gezinme etkinlikleri için kullanılabilir).
ms-targetScreenName Kullanıcının gittiği sayfasının adı (sayfa gezinme olayları için vardır).

Desteklenmeyen senaryolar

Application Insights, bu senaryoları desteklemez.

  • Çevrimdışı oynatıcı etkinlikleri kaydedilmez.
  • Mobil uygulamalardaki etkinlikler (iOS ve Android) uygulama askıya alındığında kaydedilmez.