Menganalisis log yang dihasilkan oleh sistem menggunakan Application Insights

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

Dalam permulaan pantas ini, kami menggunakan aplikasi kanvas yang dipanggil Kudos untuk meneroka konsep log dijana sistem dalam aplikasi kanvas dan menggunakannya pada apl anda. Sampel aplikasi Kudos adalah 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 apl Canvas. Log masuk sebagai pentadbir dalam Power Platform pusat pentadbiran. Pergi ke tetapan Seting Penyewa > Cerapan > aplikasi kanvas. Dalam anak tetingkap cerapan aplikasi Kanvas, setkan togol kepada Hidup dan simpan perubahan anda. Untuk maklumat lanjut, lihat Seting 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 apl, anda perlu mencipta Application Insights sumber untuk menyimpan acara tersebut.

  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. Application Insights Selepas contoh dicipta, salin Kunci Instrumentasi dalam gambaran keseluruhan contoh untuk digunakan dalam langkah yang akan datang.

    Salin Kekunci Instrumentasi.

Sambungkan aplikasi anda ke Application Insights

Nota

  • Apabila menentukan kunci instrumentasi, ambil perhatian bahawa data boleh dihantar merentasi penyewa. Acara surih dihantar kepada sumber Wawasan Apl yang sepadan dengan kunci instrumentasi yang anda tetapkan untuk apl anda, walaupun contoh Wawasan Apl sasaran berada dalam penyewa yang berbeza daripada aplikasi.
  • Berhati-hati apabila mengimport fail .msapp sedia ada kerana kunci instrumentasi untuk Wawasan Aplikasi mungkin hadir. Buka apl secara manual selepas import untuk mengesahkan bahawa kunci instrumentasi Wawasan Apl yang betul sedang digunakan.
  1. Daftar masuk ke Power Apps.

  2. Pilih Aplikasi dalam anak tetingkap navigasi kiri. Daripada senarai apl, 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 Aplikasi dalam pandangan pohon navigasi kiri dan tampal Kekunci Instrumentasi:

    Tambah Kekunci Instrumentasi.

  4. Simpan dan Terbitkan aplikasi anda.

  5. Mainkan apl yang diterbitkan dan semak imbas skrin yang berbeza.

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

  • Dari mana aplikasi 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

    Pandangan Pengguna menunjukkan butiran penggunaan aplikasi, seperti:

    • Bilangan pengguna yang melihat aplikasi
    • Bilangan sesi pengguna
    • Bilangan peristiwa yang dilog
    • Sistem pengendalian pengguna dan butiran versi pelayar
    • Rantau dan lokasi pengguna

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

  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 seksyen Penggunaan . Anda boleh melihat ringkasan semua skrin yang dilihat merentasi semua sesi aplikasi:

    Butiran peristiwa untuk aplikasi.

Tip

Lebih Application Insights banyak 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 Trace membolehkan anda mengumpul:

  • Maklumat penggunaan berbutir untuk kawalan pada skrin
  • Pengguna tertentu yang mengakses aplikasi anda
  • Apakah ralat 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. Menjejak mesej 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 log sebarang data peribadi, berhati-hati dengan kewajipan anda berkenaan dengan pelbagai undang-undang dan peraturan privasi. Rujuk Pusat Amanah Microsoft dan Portal Amanah Perkhidmatan untuk maklumat lanjut.

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

  1. Daftar masuk ke Power Apps.

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

    Nota

    Sebaliknya, 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 Tindakan lain(), 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 (), 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 aplikasi 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 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.

    Tip

    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 menjangka dan merancang semua ralat yang mungkin berlaku semasa apl anda berjalan. Ralat formula yang tidak dikendalikan Power Fx dilaporkan kepada pengguna sebagai mesej sepanduk. Ia 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 amaran masa nyata apabila ralat masa jalan berlaku untuk mengambil pendekatan yang lebih proaktif.

Dayakan penghantaran ralat kepada Application Insights

Anda perlu mendayakan seting yang membenarkan Power Apps untuk lulus ralat masa jalan yang tidak dikendalikan kepada 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 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 acara "Ralat tidak dikendalikan." Dimensi "severityLevel" peristiwa ini ialah 3 (TraceSeverity.Error).

Mesej ralat terperinci disediakan dalam dimensi "ralat" sifat customDimension. Dalam situasi di mana pelbagai ralat berlaku semasa operasi yang sama, kesilapan disatukan dalam dimensi "ralat" peristiwa jejak tunggal. Mesej ralat adalah sama seperti yang dilaporkan dalam Monitor semasa sesi debug langsung.

Pertanyaan contoh berikut mengenal pasti ralat yang tidak dikendalikan dan mengembangkan semua mesej ralat yang disertakan dalam peristiwa penyurihan:

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 dihasilkan oleh sistem merentasi aplikasi kanvas dan sambungannya, tertakluk kepada batasan 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 merentasi peringkat. Ini boleh menjadi berguna dalam penyelesaian masalah.

Pengesanan korelasi aplikasi 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 dijana sistem baharu dalam jadual kebergantungan contoh apl Application Insights kanvas. Acara 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 dijana sistem tambahan yang menangkap permintaan dijana dalam jadual permintaan contoh perkhidmatan Application Insights . Sesetengah perkhidmatan Azure, seperti Azure Functions, boleh disambungkan tanpa sebarang pengekodan daripada portal Azure. Kedua-dua aplikasi 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 disertai dengan log dijana sistem lain pada dimensi "operation_Id". Pertanyaan contoh berikut menunjukkan panggilan rangkaian dibuat bersama-sama menjejak peristiwa 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. Dari tetingkap pertanyaan analisis log, pilih menu Eksport .

  4. Pilih opsyen Eksport ke Power BI (pertanyaan M) untuk memuat turun Power BI fail 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 Rumah kemudian pilih Pertanyaan kosong:

    Pertanyaan kosong Power BI.

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

    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 mengelog data tersuai tambahan menggunakan fungsi Suruh, 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 berkaitan 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 itu dikaitkan dengan pelari ujian Test Studio.
ms-currentScreenName Nama halaman pengguna sedang menavigasi dari (hadir untuk peristiwa navigasi halaman).
ms-targetScreenName Nama halaman yang pengguna sedang navigasi ke (hadir untuk acara navigasi halaman).

Senario tidak disokong

Application Insights tidak menyokong senario berikut.

  • Acara pemain luar talian tidak ditangkap.
  • Acara 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).