Analisis log yang dijana sistem menggunakan Application Insights

Anda boleh menyambungkan aplikasi kanvas anda kepada Application Insights, ciri Azure Monitor. Application Insights Termasuk alat analitis yang berkuasa untuk membantu anda mendiagnosis isu dan memahami perkara yang sebenarnya dilakukan oleh pengguna dengan apl anda. Anda boleh mengumpul maklumat untuk membantu anda memacu keputusan perniagaan yang lebih baik dan meningkatkan kualiti apl anda.

Dalam permulaan permulaan ini, kami menggunakan aplikasi kanvas yang dipanggil Kudos untuk meneroka konsep log yang dijana sistem dalam aplikasi kanvas dan menggunakannya pada aplikasi anda. Contoh aplikasi Kudos ialah sebahagian daripada set aplikasi penglibatan pekerja yang tersedia untuk dimuat turun daripada Kit Permulaan Pengalaman Pekerja.

Prasyarat

Nota

Untuk melihat maklumat telemetri, pentadbir penyewa anda mesti mendayakan cerapan aplikasi Kanvas. Log masuk sebagai pentadbir di Power Platform Pusat Pentadbiran. Pergi ke Tetapan > Tetapan > penyewa Cerapan aplikasi kanvas. Dalam anak tetingkap Wawasan aplikasi kanvas, tetapkan togol kepada Hidup dan simpan perubahan anda. Untuk maklumat lanjut, lihat Tetapan penyewa.

Pilihan

  • Muat turun dan pasang aplikasi Kudos daripada Kit Permulaan Pengalaman Pekerja. Anda juga boleh menggunakan aplikasi sedia ada.

Cipta sumber Application Insights

Sebelum anda boleh menghantar log yang dijana sistem daripada aplikasi, anda perlu mencipta Application Insights sumber untuk menyimpan peristiwa.

  1. Daftar masuk ke portal Azure.

  2. Cari Application Insights:

    Application Insights.

  3. Cipta sumber Application Insights:

    Tambah sumber Application Insights.

  4. Masukkan nilai yang sesuai dan pilih Ulasan + cipta.

    Untuk mendapatkan butiran lanjut, baca Cipta sumber Application Insights.

    Cipta sumber.

  5. Selepas Application Insights tika dicipta, salin Kunci Instrumentasi dalam gambaran keseluruhan tika untuk digunakan dalam langkah yang akan datang.

    Salin Kekunci Instrumentasi.

Sambungkan aplikasi anda ke Application Insights

Nota

  • Apabila menentukan kunci instrumentasi, sedar bahawa data boleh dihantar merentas penyewa. Peristiwa jejak dihantar ke sumber App Insights yang sepadan dengan kunci instrumentasi yang anda tetapkan untuk aplikasi anda, walaupun contoh App Insights sasaran berada dalam penyewa yang berbeza daripada aplikasi.
  • Berhati-hati apabila mengimport fail .msapp sedia ada kerana kunci instrumentasi untuk App Insights mungkin ada. Buka apl secara manual selepas diimport untuk mengesahkan bahawa kunci instrumentasi App Insights yang betul sedang digunakan.
  1. Daftar masuk ke Power Apps.

  2. Pilih Aplikasi dalam anak tetingkap navigasi kiri. Daripada senarai aplikasi, pilih aplikasi Kudos dan kemudian pilih Edit:

    Edit aplikasi Kudos.

    Nota

    Anda juga boleh mencipta aplikasi baharu atau mengedit aplikasi sedia ada.

  3. Pilih objek Apl dalam paparan pokok navigasi kiri dan tampal Kunci Instrumentasi:

    Tambah Kekunci Instrumentasi.

  4. Simpan dan Terbitkan aplikasi anda.

  5. Mainkan apl yang diterbitkan dan layari skrin yang berbeza.

Semasa anda menyemak imbas skrin aplikasi, acara dilog masuk secara Application Insights automatik, termasuk butiran penggunaan seperti:

  • Dari mana apl diakses
  • Peranti mana yang digunakan
  • Jenis pelayar yang digunakan

Penting

Anda mesti memainkan aplikasi yang diterbitkan untuk menghantar peristiwa kepada Application Insights. Peristiwa tidak dihantar kepada Application Insights apabila anda pratonton aplikasi dalam Power Apps Studio.

Lihat peristiwa dalam Application Insights

  1. Log masuk ke Portal Azure dan buka sumber Application Insights yang anda cipta sebelum ini.

  2. Tatal ke bawah dalam anak tetingkap navigasi kiri dan pilih Pengguna di bawah bahagian Penggunaan.

    Nota

    Paparan Pengguna menunjukkan butiran penggunaan apl, seperti:

    • Bilangan pengguna yang melihat apl
    • Bilangan sesi pengguna
    • Bilangan peristiwa yang dilog
    • Sistem pengendalian pengguna dan butiran versi pelayar
    • Wilayah dan lokasi pengguna

    Ketahui lebih lanjut tentang analisis pengguna, sesi dan acara dalam Application Insights.

  3. Pilih salah satu sesi pengguna untuk meneliti butiran khusus. Anda boleh melihat maklumat seperti panjang sesi dan skrin yang dilawati:

    Butiran penggunaan untuk pengguna.

  4. Pilih pandangan Peristiwa dalam anak tetingkap navigasi kiri di bawah bahagian Penggunaan . Anda boleh melihat ringkasan semua skrin yang dilihat merentasi semua sesi aplikasi:

    Butiran peristiwa untuk aplikasi.

Petua

Lebih banyak Application Insights ciri tersedia, seperti:

Cipta peristiwa jejak tersuai

Anda boleh menulis jejak tersuai secara terus ke Application Insights dan mula menganalisis maklumat khusus kepada senario anda. Fungsi Jejak membolehkan anda mengumpul:

  • Maklumat penggunaan terperinci untuk kawalan pada skrin
  • Pengguna tertentu yang mengakses apl anda
  • Ralat apa yang berlaku

Pengesanan juga boleh membantu mendiagnosis isu kerana anda boleh menghantar jejak maklumat apabila pengguna anda menyemak imbas melalui aplikasi anda dan melakukan tindakan yang berbeza. Mesej jejak yang dihantar untuk Application Insights mempunyai salah satu daripada tiga keterukan:

  • Maklumat
  • Amaran
  • Ralat

Bergantung pada senario anda, anda boleh memilih untuk menghantar mesej jejak dengan keterukan yang sesuai. Anda boleh menanyakan data dan mengambil tindakan tertentu berdasarkan keterukan.

Nota

Jika anda mengelog sebarang data peribadi, sedar tentang kewajipan anda berkenaan dengan pelbagai undang-undang dan peraturan privasi. Rujuk Pusat Amanah Microsoft dan Portal Amanah Perkhidmatan untuk maklumat lanjut.

Sekarang cipta komponen baharu dalam apl anda untuk mengumpul maklum balas pada setiap skrin dan tulis acara kepada Application Insights.

  1. Daftar masuk ke Power Apps.

  2. Pilih Aplikasi dalam anak tetingkap navigasi kiri. Daripada senarai aplikasi, pilih aplikasi Kudos dan kemudian pilih Edit.

    Nota

    Anda juga boleh mencipta apl baharu atau mengedit apl sedia ada.

  3. Pilih pilihan Komponen pada Pandangan pepohon:

    Komponen.

  4. Pilih Komponen baharu, kemudian ubah saiz lebar kepada 200 dan ketinggian kepada 75:

    Ketinggian dan lebar.

  5. Pilih Masukkan daripada menu dan kemudian pilih Ikon untuk menambah Emoji - Berkerut Dahi dan Emoji - Senyum:

    Tambah ikon.

  6. Pilih Sifat tersuai baharu untuk mencipta sifat tersuai:

    Cipta sihat tersuai.

  7. Masukkan Nama sifat dan Nama paparan seperti FeedbackScreen.

  8. Masukkan Perihalan sifat.

  9. Pilih Jenis sifat sebagai Input dan Jenis data sebagai Skrin:

    Sifat tersuai.

    Nota

    Masukan sifat membolehkan anda menangkap nama skrin dan komponennya supaya anda boleh mengelog maklumat ini kepada Application Insights.

  10. Pilih komponen pada Pandangan Pokok, pilih Lagi tindakan (), dan kemudian pilih Namakan semula untuk menamakan semula komponen dengan nama yang bermakna seperti FeedbackComponent.

    Namakan semula komponen dan ikon.

  11. Pilih ikon, pilih Lagi tindakan (), dan kemudian pilih Namakan semula untuk menamakan semula ikon dengan nama yang bermakna, seperti FrownIcon dan SmileIcon.

  12. Pilih FrownIcon, pilih sifat OnSelect dan kemudian masukkan ungkapan berikut dalam bar formula:

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

    Formula ikon berkerut dahi.

    Nota

    Ungkapan formula menghantar UserName, UserEmail, Skrin dan Maklum Balas (dengan nilai -1) kepada Application Insights.

  13. Pilih SmileIcon, pilih sifat OnSelect dan kemudian masukkan ungkapan berikut dalam bar formula:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Tambah komponen pada salah satu skrin dalam aplikasi anda:

    Tambah komponen maklum balas.

  15. Pilih Simpan dan kemudian pilih Terbitkan untuk menyimpan dan menerbitkan aplikasi anda.

  16. Mainkan aplikasi yang diterbitkan dan hantar senyuman dan maklum balas berkerut dahi daripada skrin anda.

    Penting

    Anda mesti memainkan aplikasi yang diterbitkan untuk menghantar peristiwa kepada Application Insights. Peristiwa tidak dihantar kepada Application Insights apabila anda pratonton aplikasi dalam Power Apps Studio.

    Mainkan aplikasi yang diterbitkan.

Analisis data dalam Application Insights

Anda kini boleh mula menganalisis data yang anda hantar menggunakan fungsi Jejak daripada aplikasi anda dalam Application Insights.

  1. Log masuk ke Portal Azure dan buka sumber Application Insights yang anda cipta sebelum ini.

    Pilih Application Insights.

  2. Pilih Log di bawah Pemantauan dalam anak tetingkap navigasi kiri:

    Pilih Log.

  3. Masukkan pertanyaan berikut dan pilih Jalankan untuk melihat maklum balas yang diterima daripada apl anda:

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

    Lihat maklum balas aplikasi.

  4. Pilih baris dalam keputusan dan kembangkan medan customDimensions.

    Nilai untuk Skrin, UserName, UserEmail, dan FeedbackValue untuk peristiwa OnSelect bagi ikon senyum atau berkerut dahi dalam komponen anda telah direkodkan. Nilai juga direkodkan untuk setiap acara yang dihantar kepada Application Insights, seperti appId, appName dan appSessionId.

    Kembangkan dimensi tersuai.

  5. Dengan pertanyaan contoh berikut, anda boleh melanjutkan sifat dimensi tersuai JSON dan projek lajur dalam pandangan keputusan.

    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
    

    Kembangkan pertanyaan customDimensions.

    Petua

    Pertanyaan log adalah sangat kuat. Anda boleh menggunakannya untuk menyertai berbilang jadual, mengagregatkan jumlah data yang besar dan melakukan operasi yang kompleks. Ketahui lebih lanjut tentang pertanyaan log.

Pantau ralat yang tidak dikendalikan (percubaan)

[Bahagian ini mengandungi dokumentasi prapelancaran dan tertakluk pada perubahan.]

Penting

  • Ini adalah ciri percubaan.
  • Ciri percubaan bukan untuk kegunaan pengeluaran dan kefungsian mungkin terbatas. Ciri ini tersedia sebelum keluaran rasmi agar pelanggan boleh mendapat akses awal dan memberikan maklum balas.

Anda tidak boleh sentiasa menjangkakan dan merancang untuk semua ralat yang mungkin berlaku semasa apl anda sedang berjalan. Ralat formula yang tidak dikendalikan Power Fx dilaporkan kepada pengguna sebagai mesej sepanduk. Mereka juga boleh dilaporkan untuk Application Insights membantu anda memahami kekerapan dan keterukan mereka tanpa bergantung pada pengguna apl anda untuk melaporkan isu. Anda juga boleh menyediakan makluman masa nyata apabila ralat masa jalan berlaku untuk mengambil pendekatan yang lebih proaktif.

Dayakan penghantaran ralat kepada Application Insights

Anda perlu mendayakan tetapan yang membolehkan Power Apps untuk menghantar ralat masa jalan yang tidak dikendalikan ke Azure Application Insights.

Amaran

Mendayakan tetapan ini mungkin mengenakan kos tambahan yang berkaitan dengan storan log Application Insights.

Untuk mendayakan penghantaran ralat, pergi ke Tetapan > Ciri akan datang > Percubaan > Sampaikan ralat kepada Azure Application Insights sambil membiarkan aplikasi kanvas anda terbuka untuk pengeditan. Simpan dan terbitkan apl anda.

Dayakan tetapan Sampaikan ralat kepada Azure Application Insights.

Peristiwa ralat dalam Application Insights

Ralat yang tidak dikendalikan Power Fx yang dialami oleh pengguna pada masa jalan apl dilaporkan kepada jadual jejak . Ralat yang tidak dikendalikan boleh dikenal pasti dan dibezakan daripada peristiwa ralat lain dengan mesej peristiwa "Ralat yang tidak dikendalikan." Dimensi "severityLevel" bagi peristiwa ini ialah 3 (TraceSeverity.Error).

Mesej ralat terperinci disediakan dalam dimensi "ralat" sifat customDimension. Dalam situasi di mana berbilang ralat berlaku semasa operasi yang sama, ralat disatukan dalam dimensi "ralat" bagi satu peristiwa jejak. Mesej ralat adalah sama seperti yang dilaporkan dalam Pantau semasa sesi nyahpepijat langsung.

Contoh pertanyaan berikut mengenal pasti ralat yang tidak dikendalikan dan mengembangkan semua mesej ralat yang disertakan dalam peristiwa jejak:

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

Output sampel untuk pertanyaan contoh.

Penjejakan korelasi (percubaan)

[Bahagian ini mengandungi dokumentasi prapelancaran dan tertakluk pada perubahan.]

Penting

  • Ini adalah ciri percubaan.
  • Ciri percubaan bukan untuk kegunaan pengeluaran dan kefungsian mungkin terbatas. Ciri ini tersedia sebelum keluaran rasmi agar pelanggan boleh mendapat akses awal dan memberikan maklum balas.

Sambungan ke data dan perkhidmatan luaran ialah asas kepada kebanyakan aplikasi. Pengesanan korelasi menjana dan menyebarkan maklumat konteks untuk menyertai log yang dijana sistem merentas apl kanvas dan sambungannya, tertakluk kepada had tertentu. Sebagai contoh, aplikasi anda mungkin memanggil penyambung tersuai yang seterusnya memanggil Fungsi Azure atau API REST lain. Pengesanan korelasi membolehkan anda mengaitkan tindakan yang diambil dalam apl dengan panggilan API asas merentas peringkat. Ini boleh menjadi berguna dalam penyelesaian masalah.

Pengesanan korelasi apl kanvas ialah pelaksanaan pengesanan konteks dan mengikut spesifikasi W3C.

Dayakan penjejakan korelasi

Amaran

Mendayakan tetapan ini mungkin mengenakan kos tambahan yang berkaitan dengan storan log Application Insights.

Untuk mendayakan ciri penjejakan korelasi, pergi ke Tetapan > Ciri akan datang > Percubaan > Dayakan penjejakan korelasi Azure Application Insights sambil membiarkan aplikasi kanvas anda terbuka untuk pengeditan. Simpan dan terbitkan apl anda.

Dayakan penjejakan korelasi Azure Application Insights.

Batasan

Menggunakan penjejakan korelasi

Apabila didayakan, pengesanan korelasi menambah peristiwa log yang dijana sistem baharu dalam jadual kebergantungan tika apl Application Insights kanvas. Peristiwa ini direkodkan pada masa respons daripada panggilan rangkaian diterima. Peristiwa kebersandaran merekod butiran panggilan rangkaian, termasuk pengepala permintaan dan respons, kod status respons dan tempoh panggilan.

Peristiwa sampel dilog masuk dalam jadual kebersandaran.

Jika perkhidmatan yang disambungkan juga disambungkan Application Insights, acara log yang dijana sistem tambahan yang menangkap permintaan dijana dalam jadual permintaan Application Insights tika perkhidmatan. Sesetengah perkhidmatan Azure, seperti Azure Functions, boleh disambungkan tanpa sebarang pengekodan daripada portal Azure. Kedua-dua apl kanvas atau berbilang apl dan perkhidmatan yang disambungkan boleh disambungkan ke contoh yang sama Application Insights .

Peristiwa sampel dilog masuk dalam jadual permintaan.

Panggilan rangkaian untuk penyambung yang disokong boleh digabungkan dengan log lain yang dijana sistem pada dimensi "operation_Id". Contoh pertanyaan berikut menunjukkan panggilan rangkaian dibuat bersama peristiwa jejak yang dipancarkan semasa sesi aplikasi.

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

Output sampel untuk pertanyaan contoh lebih awal.

Eksport data kepada Power BI

Anda boleh mengeksport data Application Insights anda dan keputusan pertanyaan kepada Power BI untuk analisis dan pembentangan data.

  1. Log masuk ke Portal Azure dan buka sumber Application Insights yang anda cipta sebelum ini.

  2. Pilih Log di bawah Pemantauan dalam anak tetingkap navigasi kiri:

  3. Daripada tetingkap pertanyaan analitis log, pilih menu Eksport .

  4. Pilih pilihan Eksport ke (Power BI pertanyaan M) untuk memuat turun fail Power BI pertanyaan:

    Eksport pertanyaan Power BI.

  5. Buka fail yang dimuat turun dalam editor teks dan salin pertanyaan pada papan klip.

  6. Buka Power BI.

  7. Pilih menu Dapatkan Data dalam reben Laman Utama dan kemudian pilih Pertanyaan kosong:

    Pertanyaan kosong Power BI.

  8. Dalam tetingkap pertanyaan, pilih Editor Lanjutan. Tampal pertanyaan ke dalam tetingkap, pilih Selesai dan kemudian pilih Tutup & Guna:

    Pertanyaan lanjutan Power BI.

Anda juga boleh mencipta carta dan visualizations dalam Power BI untuk mewakili maklum balas yang diterima dalam aplikasi anda serta membuat keputusan dan tindakan berdasarkan data.

Carta dan visualisasi.

Konteks dan dimensi peristiwa Jejak lalai

Set dimensi lalai juga ditambah pada sifat customDimensions pada setiap peristiwa Jejak. Dimensi ini boleh digunakan untuk mengenal pasti permohonan dan sesi permohonan peristiwa-peristiwa yang berlaku. Jika anda merekodkan data tersuai tambahan menggunakan fungsi Jejak, data tersebut juga akan muncul dalam dimensi tersuai.

Nama Dimensi Mewakili
ms-appId ID Aplikasi untuk aplikasi yang menghantar peristiwa tersebut.
ms-appname Nama Aplikasi untuk aplikasi yang menghantar peristiwa tersebut.
ms-appSessionId ID sesi aplikasi. Nilai ini mungkin tidak diisi adalah beberapa senario. Apabila tersedia, nilai ini akan mengatasi dimensi Application Insights sessionID standard.
ms-tenantID Pengecam unik penyewa di mana aplikasi diterbitkan.
ms-environmentId Nama persekitaran di mana aplikasi diterbitkan.
userId Pengecam unik untuk pengguna yang dikaitkan dengan sesi.
ms-duration Nilai imput yang mengukur masa yang diambil untuk pengguna menavigasi dari satu skrin ke skrin yang lain. Nilai ini mengatasi dimensi tempoh Application Insights PageView standard.
sessionId ID sesi yang boleh digunakan untuk menghubungkaitkan semua peristiwa berkaitan dengan sesi aplikasi tunggal. Nilai ini sentiasa ada dan disyorkan untuk memahami kiraan sesi yang unik. Nilai ini diambil daripada ID sesi pemain dan ditunjukkan ketika melihat butiran sesi semasa memainkan aplikasi. ID sesi mungkin kadang-kadang mendapat nilai yang dijana Application Insights yang lalai, rawak dan unik. Nilai lalai ini tidak boleh dipercayai dan tidak berhubung kait dengan mana-mana parameter khusus aplikasi.
Tempoh Nilai imput yang mengukur masa yang diambil untuk pengguna menavigasi dari satu skrin ke skrin yang lain. Nilai ini adalah sama dengan tempoh yang dilaporkan oleh dimensi ms-duration.
ms-isTest Menunjukkan sama ada sesi dikaitkan dengan pelari ujian Test Studio.
ms-currentScreenName Nama halaman yang digunakan oleh pengguna (hadir untuk acara navigasi halaman).
ms-targetScreenName Nama halaman yang dinavigasi oleh pengguna (hadir untuk acara navigasi halaman).

Senario tidak disokong

Application Insights tidak menyokong senario berikut.

  • Acara pemain luar talian tidak ditangkap.
  • Peristiwa apl mudah alih (kedua-duanya iOS dan Android) tidak ditangkap apabila apl digantung.
  • GCC dan awan bukan awam tidak disokong.

Nota

Adakah anda boleh memberitahu kami tentang keutamaan bahasa dokumentasi anda? Jawab tinjauan pendek. (harap maklum bahawa tinjauan ini dalam bahasa Inggeris)

Tinjauan akan mengambil masa lebih kurang tujuh minit. Tiada data peribadi akan dikumpulkan (pernyataan privasi).