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

Tuval uygulamanızı, bir Azure İzleyici özelliği olan Application Insights'a bağlayabilirsiniz. Application Insights, sorunları tanılamanıza ve kullanıcıların uygulamalarınızda gerçekten ne yaptığını anlamanıza yardımcı olan güçlü analiz araçları içerir. Daha iyi kararlar almanıza ve uygulamalarınızın kalitesine geliştirmenize yardımcı olan bilgiler toplayabilirsiniz.

Bu hızlı başlangıç sırasında, tuval uygulamalarında sistem tarafından oluşturulan günlüklerin kavramlarını keşfetmek ve bunları uygulamalarınıza uygulamak için Kudos olarak adlandırılan bir tuval uygulaması kullanıyoruz. Örnek Kudos uygulaması bir çalışan etkileşimi uygulamaları paketinin parçasıdır ve Employee Experience Starter Kit bölümünden indirilebilir.

Önkoşullar

Not

Telemetri bilgilerini görüntülemek için kiracı yöneticinizin Tuval uygulama içgörülerini etkinleştirmesi gerekir. Power Platform yönetim merkezinde yönetici olarak oturum açın. Ayarlar > Kiracı ayarları > Tuval uygulaması içgörüleri öğelerine gidin. Tuval uygulaması içgörüleri bölmesinde geçiş seçeneğini Açık olarak ayarlayın ve değişikliklerinizi kaydedin. Daha fazla bilgi için bkz. Kiracı ayarları.

İsteğe bağlı

Application Insights kaynağı oluştur

Bir uygulamadan sistem tarafından oluşturulan günlükler gönderebilmek için olayları depolamak üzere bir Application Insights kaynağı oluşturmanız gerekir.

  1.  Azure portalında oturum açın.

  2. Application Insights arayın:

    Application Insights.

  3. Application Insights kaynağı oluşturun:

    Application Insights kaynağı ekleme.

  4. Uygun değerleri girin ve gözden geçir + oluştur seçeneğini belirleyin.

    Daha fazla bilgi için, oku Application Insights kaynak oluştur'u okuyun.

    Kaynak oluşturma.

  5. Application Insights kurulumu oluşturulduktan sonra, sonraki bir adımda kullanmak için kurulum genel bakışındaki İzleme anahtarını kopyalayın.

    İzleme Anahtarını kopyalama.

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

Not

  • İzleme anahtarı belirtirken verilerin kiracılar arasında gönderilebileceğini unutmayın. İzleme olayları, hedef App Insights kurulumu uygulamadan farklı bir kiracıda olsa bile uygulamanız için ayarladığınız izleme anahtarına karşılık gelen App Insights kaynağına gönderilir.
  • App Insights için izleme anahtarları mevcut olabileceğinden mevcut .msapp dosyalarını içeri aktarırken dikkatli olun. Doğru App Insights izleme anahtarının kullanıldığını doğrulamak için içeri aktarma işleminden sonra uygulamayı el ile açın.
  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:

    Kudos uygulamasını düzenleme.

    Not

    Ayrıca yeni bir uygulama oluşturabilir veya mevcut uygulamayı düzenleyebilirsiniz.

  3. Sol gezinti ağacında Uygulama nesnesini seçin ve İzleme Anahtarını yapıştırın:

    İzleme Anahtarını ekleme.

  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, aşağıdakiler gibi kullanım ayrıntıları da dahil olmak üzere olaylar Application Insights'a otomatik olarak kaydedilir:

  • Uygulamaya erişim konumu
  • Kullanılan cihazlar
  • Kullanılan tarayıcı türleri

Ö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.

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

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

  2. Sol gezinti bölmesinde aşağı kaydırın ve kullanım bölümü altındaki kullanıcıları seçin.

    Not

    Kullanıcılar görünümü uygulamanın kullanım ayrıntılarını gösterir. Örneğin:

    • 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. Belirli Ayrıntılara gitmek için kullanıcı oturumlarından birini seçin. Oturum uzunluğu ve ziyaret edilen ekranlar gibi bilgileri görebilirsiniz:

    Kullanıcıların kullanım ayrıntıları.

  4. Kullanım bölümü altından sol gezinti bölmesinde Olaylar'ı seçin. Tüm uygulama oturumlarında görüntülenen tüm ekranların bir özetini görebilirsiniz:

    Uygulamanın olay ayrıntıları.

İpucu

Daha fazla Application Insights özelliği vardır. Örneğin:

Özel izleme olayları oluşturma

Senaryonuza özgü bilgileri çözümlemek için doğrudan Application Insights'e özel izlemeler yazabilir ve başlayabilirsiniz. İzleme işlevi aşağıdakileri toplamanızı sağlar:

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

İzleme, kullanıcılarınız uygulamanızda gezinirken ve farklı eylemler gerçekleştirdikçe bilgilerin bir izini gönderebileceğiniz için sorunları tanılamanıza de yardımcı olabilir. Application Insights'a gönderilen izleme iletileri üç önem derecesine sahiptir:

  • Bilgiler
  • Uyarı
  • Error

Senaryonuza bağlı olarak, uygun önem derecesiyle bir izleme iletisi göndermeyi tercih edebilirsiniz. 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.

Şimdi, her ekran için geri bildirim toplamak üzere uygulamanızda yeni bir bileşen oluşturun ve olayları Application Insights'a yazın.

  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ünde bileşenler seçeneğini belirleyin :

    Bileşenler.

  4. Yeni bileşen'i seçin ve 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:

    Simge ekleme.

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

    Özel özellik oluşturma.

  7. Özellik adıve görünen ad, FeedbackSceen gibi girin.

  8. Özellik Açıklaması girin.

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

    Özel özellik.

    Not

    Giriş özelliği, ekran adını ve bileşenin bileşenini yakalamanıza olanak sağlar; böylece bu bilgileri Application Insights'a günlüğe kaydedebilirsiniz.

  10. Ağaç görünümünde bileşeni seçin, Daha fazla eylem () seçin ve sonra da bileşeni FeedbackComponent gibi anlamlı bir adla yeniden adlandırmak 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 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,
             FeedbackValue: "-1"
           }
         );
    Notify("Thanks for your feedback!");
    

    Asık surat simgesi formülü.

    Not

    Formül ifadesi 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ımlanmış uygulamayı yürütün ve ekranlarından bir gülümseme ve çatma görüşü 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'da Verileri çözümleme

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 önceden oluşturduğunuz Application Insights kaynağı açın:

    Application Insights öğesini seçme.

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

    Günlükleri seçme.

  3. Aşağıdaki sorguyu girin ve uygulamanızdan alınan 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. Aşağıdaki sorgu sorgusu ile JSON özel boyutlarının özelliklerini genişletebilir ve sonuçlar görünümündeki sütunları proje olarak görüntüleyebilirsiniz.

    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ı oldukça güçlüdür. Birden çok tabloya katılmak, büyük miktarlarda veri toplamak ve karmaşık işlemler gerçekleştirmek için bunları kullanabilirsiniz. Günlük sorguları hakkında daha fazla bilgi edinin.

İş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 tüm hataları her zaman önceden tahmin edemez ve bunlara karşı planlama yapamazsınız. İşlenmemiş Power Fx formülü hataları kullanıcılara başlık iletisi olarak bildirilir. Ayrıca, sorunları bildirmek için uygulama kullanıcılarına bağımlı olmadan sıklığını ve önemini anlamanıza yardımcı olmak için Application Insights'a da raporlanabilir. 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'a aktarmasına izin veren ayarı etkinleştirmeniz gerekir.

Uyarı

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

Hata aktarmayı etkinleştirmek için tuval uygulamanızı düzenleme için açık bırakarak Ayarlar > Yaklaşan özellikler > Deneysel > Hataları Azure Application Insights'a aktar'a gidin. Uygulamanızı kaydedin ve yayımlayın.

Hataları Azure Application Insights'a aktar ayarını etkinleştirme.

Application Insights'ta hata olayları

Kullanıcılar tarafından uygulama çalışma zamanında deneyimlenen işlenmemiş Power Fx hataları izlemeler tablosuna bildirilir. İşlenmemiş hatalar, "İşlenmemiş hata" olay iletisi tarafından 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 iletileri, canlı bir hata ayıklama oturumu sırasında izleyici'de raporlananlarla aynıdır.

Aşağıdaki örnek sorgu işlenmemiş hataları tanımlar ve izleme olayında bulunan 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 çıkış.

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.

Dış verilere ve hizmetlere yönelik bağlantılar çoğu uygulama için temel öğedir. Bağıntı izleme, belirli sınırlamalara bağlı olarak, bir tuval uygulaması ve bağlantılarında sistem tarafından oluşturulan günlüklere katılmak için bağlam bilgilerini oluşturur ve yayar. Örneğin, uygulamanız bir Azure İşlevini veya başka REST API'yi çağıran özel bir bağlayıcıyı ç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 durumunda yararlı olabilir.

Tuval uygulaması bağıntı izlemesi, bağlam izleme uygulamasıdır 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.

Bağıntı izleme özelliğini etkinleştirmek için tuval uygulamanızı düzenleme için açık bırakarak Ayarlar > Yaklaşan özellikler > Deneysel > Azure Application Insights bağıntı izlemeyi etkinleştir'e gidin. Uygulamanızı kaydedin ve yayımlayın.

Azure Application Insights bağıntı izlemeyi etkinleştirme.

Sınırlamalar

  • Bağıntı izleme yalnızca özel bağlayıcılar için kullanılabilir. 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.

Desteklenen bağlayıcılar için ağ çağrıları, "operation_Id" boyutundaki diğer sistem tarafından oluşturulan günlüklerle katılabilir. Aşağıdaki örnek sorgu, bir uygulama oturumu sırasında gerçekleşen izleme olayları yanında yapılan bir ağ araması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 çıkış.

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 oluşturduğunuz 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ışarı aktar menüsünü seçin.

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

    Power BI sorgusunu dışarı aktarma.

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

  6. Power BI açın.

  7. Giriş şeridinde Verileri Al menüsünü ve ardından Boş sorgu'yu seçin:

    Power BI boş sorgusu.

  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 gelişmiş sorgusu.

Uygulamanızda alınan geri bildirimleri temsil etmek için Power BI uygulamasında grafikler ve görsel öğeler oluşturabilir ve bunlara veri tabanlı kararlar ve eylemler yapabilirsiniz.

Grafikler ve görselleştirmeler.

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

Her izleme olayında customDimensions özelliğine de bir dizi varsayılan boyutlar eklenir. Bu boyutlar, uygulamasında olayların oluştuğu uygulama ve uygulama oturumlarını tanımlamak için kullanılabilir. Diğer özel verileri izleme işlevini kullanarak günlüğe kaydederseniz, bunlar da özel boyutlarda görüntülenir.

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 ve 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 aynıdır.
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 geldiği sayfasının adı (sayfa gezinme olayları için vardır).
ms-targetScreenName Kullanıcının gittiği sayfasının adı (sayfa gezinme olayları için vardır).

Desteklenmeyen senaryolar

Application Insights aşağıdaki senaryoları desteklemez.

  • Çevrimdışı yürütücü olayları yakalanmaz.
  • Uygulama askıda olduğunda mobil uygulama (iOS ve Android) olayları yakalanmaz.
  • GCC ve ortak olmayan bulutlar desteklenmez.

Not

Belge dili tercihlerinizi bizimle paylaşabilir misiniz? Kısa bir ankete katılın. (lütfen bu anketin İngilizce olduğunu unutmayın)

Anket yaklaşık yedi dakika sürecektir. Kişisel veri toplanmaz (gizlilik bildirimi).