Analizuokite sistemos sugeneruotus žurnalus naudodami Application Insights

Galite prijungti drobės programas prie Application Insights "Azure Monitor" funkcijos .... Application Insights Apima efektyvius analizės įrankius, padedančius diagnozuoti problemas ir suprasti, ką naudotojai iš tikrųjų daro su jūsų programomis. Galite rinkti informaciją, kuri padės priimti geresnius verslo sprendimus ir pagerinti programų kokybę.

Šiame greitajame paleidime naudojame drobės programą, pavadintą Kudos, kad ištirtume sistemos sugeneruotų žurnalų koncepcijas drobės programose ir pritaikytume jas savo programoms. "Kudos" programos pavyzdys yra darbuotojų įtraukimo programų rinkinio, kurį galima atsisiųsti iš darbuotojų patirties darbo pradžios rinkinio, dalis.

Būtinosios sąlygos

Pastaba

Norėdamas peržiūrėti telemetrijos informaciją, nuomotojo administratorius turi įgalinti "Canvas" programų įžvalgas. Prisijunkite kaip administratorius Power Platform administravimo centre. Eikite į Parametrai Nuomotojo > parametrai > Drobės programos įžvalgos. Drobės programos įžvalgų srityje nustatykite jungiklį į padėtį Įjungta ir įrašykite pakeitimus. Daugiau informacijos rasite Nuomotojo parametrai.

Pasirinktinai

„Application Insights“ ištekliaus kūrimas

Kad galėtumėte siųsti sistemos sugeneruotus žurnalus iš programos, turite sukurti Application Insights šaltinį įvykiams saugoti.

  1. Prisijunkite prie „Azure“ portalo.

  2. Ieškokite „Application Insights“:

    Application Insights.

  3. Sukurkite „Application Insights“ išteklių:

    „Application Insights“ ištekliaus įtraukimas.

  4. Įveskite atitinkamas reikšmes ir pasirinkite Peržiūrėti ir kurti.

    Daugiau informacijos žr. „Application Insights“ ištekliaus kūrimas.

    Ištekliaus kūrimas.

  5. Sukūrę Application Insights egzempliorių, nukopijuokite instrumentuotės raktą egzemplioriaus apžvalgoje, kad galėtumėte naudoti atlikdami būsimą veiksmą.

    Instrumentų rakto kopijavimas.

Programos prijungimas prie „Application Insights“

Pastaba

  • Nurodydami prietaisų raktą, atminkite, kad duomenys gali būti siunčiami tarp nuomotojų. Sekimo įvykiai siunčiami į "App Insights" išteklių, kuris atitinka matavimo raktą, kurį nustatėte savo programai, net jei paskirties "App Insights" egzempliorius yra kitame nuomotojuje nei programa.
  • Būkite atsargūs importuodami esamus .msapp failus, nes gali būti "App Insights" prietaisų klavišų. Neautomatiškai atidarykite programą po importavimo, kad patikrintumėte, ar naudojamas tinkamas "App Insights" instrumentų raktas.
  1. Prisijunkite prie Power Apps.

  2. Kairiojoje naršymo srityje pasirinkite Programos. Programų sąraše pasirinkite programą "Kudos ", tada pasirinkite Redaguoti:

    Programos „Kudos“ redagavimas.

    Pastaba

    Vietoje jos taip pat galite sukurti naują programą arba redaguoti bet kokią esamą programą.

  3. Kairiajame naršymo medžio rodinyje pasirinkite taikomosios programos objektą ir įklijuokite instrumentuotės klavišą:

    Instrumentų rakto įtraukimas.

  4. Savo programą Įrašykite ir Publikuokite.

  5. Paleiskite paskelbtą programą ir naršykite skirtinguose ekranuose.

Kai naršote programų ekranuose, įvykiai automatiškai registruojami Application Insights, įskaitant išsamią naudojimo informaciją, pvz.:

  • Iš kur pasiekiama programa
  • Kokie įrenginiai naudojami
  • Naudojami naršyklių tipai

Svarbu

Turite paleisti publikuotą programą, kad įvykiai būtų siunčiami į „Application Insights“. Įvykiai nesiunčiami į „Application Insights“, kai peržiūrite programą naudodami „Power Apps Studio“.

Įvykių peržiūra naudojant „Application Insights“

  1. Prisijunkite prie „Azure“ portalo ir atidarykite „Application Insights“ išteklių, kurį sukūrėte anksčiau.

  2. Slinkite žemyn kairiojoje naršymo srityje ir skyriuje Naudojimas pasirinkite Vartotojai.

    Pastaba

    Vartotojų rodinyje rodoma išsami programos naudojimo informacija, pvz.:

    • Programėlę peržiūrėjusių naudotojų skaičius
    • Naudotojų seansų skaičius
    • Užregistruotų įvykių skaičius
    • Naudotojų operacinės sistemos ir naršyklės versijos informacija
    • Naudotojų regionas ir vieta

    Sužinokite daugiau apie naudotojų, seansų ir įvykių analizę Application Insights.

  3. Pasirinkite vieną iš vartotojo seansų, kad peržiūrėtumėte konkrečią išsamią informaciją. Galite peržiūrėti informaciją, pvz., seanso trukmę ir aplankytus ekranus:

    Vartotojų išsami naudojimo informacija.

  4. Pasirinkite įvykių rodinį kairiojoje naršymo srityje, esančioje skiltyje Naudojimas . Galite peržiūrėti visų ekranų, peržiūrėtų visuose programos seansuose, suvestinę:

    Programos išsami įvykio informacija.

Arbatpinigiai

Yra ir daugiau Application Insights funkcijų, pvz.:

Pasirinktinių sekimo įvykių kūrimas

Galite rašyti pasirinktinius sekimus tiesiogiai „Application Insights“ ir pradėti analizuoti konkretaus scenarijaus informaciją. Sekimo funkcija leidžia rinkti:

  • Išsami ekranų valdiklių naudojimo informacija
  • Kurie konkretūs naudotojai pasiekia jūsų programą
  • Kokios klaidos atsiranda

Sekimas taip pat gali padėti diagnozuoti problemas, nes vartotojams naršant jūsų programoje ir atliekant įvairius veiksmus galite siųsti informacijos taką. Sekti pranešimus, siunčiamus vienu Application Insights iš trijų sunkumų:

  • Informacija
  • Įspėjimas
  • Klaida

Atsižvelgdami į savo scenarijų galite siųsti reikiamos svarbos sekimo pranešimą. Galite pateikti užklausą dėl duomenų ir imtis konkrečių veiksmų, atsižvelgdami į jų svarbą.

Pastaba

Jei registruojate bet kokius asmens duomenis, žinokite savo įsipareigojimus, susijusius su įvairiais privatumo įstatymais ir reglamentais. Daugiau informacijos ieškokite "Microsoft" patikimumo centre ir tarnybų patikimumo portale .

Dabar programoje sukurkite naują komponentą, kad galėtumėte rinkti atsiliepimus apie kiekvieną ekraną, ir rašykite įvykius į Application Insights jį.

  1. Prisijunkite prie Power Apps.

  2. Kairiojoje naršymo srityje pasirinkite Programos. Programų sąraše pasirinkite programą Kudos, tada pasirinkite Redaguoti.

    Pastaba

    Taip pat galite sukurti naują programą arba redaguoti esamą programą.

  3. Medžio rodinyje pasirinkite parinktį Komponentai:

    Komponentai

  4. Pasirinkite Naujas komponentas; komponento plotį pakeiskite į 200, o aukštį – į 75.

    Aukštis ir plotis.

  5. Meniu pasirinkite Įterpti , tada pasirinkite Piktogramos, kad įtrauktumėte „Emoji“ – nepasitenkinimo grimasa ir „Emoji“ – šypsena:

    Piktogramų įtraukimas.

  6. Pažymėkite Nauja pasirinktinė ypatybė, kad sukurtumėte pasirinktinę ypatybę:

    Pasirinktinės ypatybės kūrimas.

  7. Įveskite ypatybės Pavadinimą ir Rodomą pavadinimą, pvz., FeedbackSceen.

  8. Įveskite ypatybės Aprašą.

  9. Pasirinkite Ypatybės tipo parinktį Įvestis ir Duomenų tipo parinktį Ekranas:

    Pasirinktinė ypatybė.

    Pastaba

    Įvesties ypatybė leidžia fiksuoti ekrano pavadinimą ir jo komponentą, kad šią informaciją galėtumėte registruoti „Application Insights“.

  10. Medžio rodinyje pasirinkite komponentą , pasirinkite Daugiau veiksmų (), tada pasirinkite Pervardyti, kad pervardytumėte komponentą prasmingu pavadinimu, pvz., FeedbackComponent.

    Komponento ir piktogramų pervardijimas.

  11. Pasirinkite piktogramas, pasirinkite Daugiau veiksmų (), tada pasirinkite Pervardyti, kad pervardytumėte piktogramas prasmingais pavadinimais, pvz., FrownIcon ir SmileIcon.

  12. Pasirinkite FrownIcon, pasirinkite ypatybę OnSelect, tada formulės juostoje įveskite šią išraišką:

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

    Nepasitenkinimo grimasos piktogramos formulė.

    Pastaba

    Formulės išraiška UserName, UserEmail, Screen ir Feedback (su reikšme -1) siunčia į „Application Insights“.

  13. Pasirinkite SmileIcon, pasirinkite ypatybę OnSelect, tada formulės juostoje įveskite šią išraišką:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Įtraukite komponentą į vieną iš programos ekranų:

    Atsiliepimų komponento įtraukimas.

  15. Pasirinkite Įrašyti, o tada – Publikuoti, kad įrašytumėte ir publikuotumėte programą.

  16. Paleiskite publikuotą programą ir iš ekranų išsiųskite atsiliepimą su šypsena ir atsiliepimą su nepasitenkinimo grimasa.

    Svarbu

    Turite paleisti publikuotą programą, kad įvykiai būtų siunčiami į „Application Insights“. Įvykiai nesiunčiami į „Application Insights“, kai peržiūrite programą naudodami „Power Apps Studio“.

    Publikuotos programos paleidimas.

Duomenų analizavimas „Application Insights“

Dabar galite pradėti analizuoti duomenis, kuriuos iš savo programos išsiuntėte į „Application Insights“ naudodami funkciją Sekimas.

  1. Prisijunkite prie „Azure“ portalo ir atidarykite „Application Insights“ išteklių, kurį sukūrėte anksčiau:

    Pasirinkite „Application Insights“.

  2. Pasirinkite Žurnalai dalyje Stebėjimas kairiojoje naršymo srityje:

    Žurnalų pasirinkimas.

  3. Įveskite šią užklausą ir pasirinkite Vykdyti, kad peržiūrėtumėte iš programos gautus atsiliepimus:

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

    Programos atsiliepimų peržiūra.

  4. Pasirinkite rezultatų eilutę ir išplėskite lauką customDimensions.

    Buvo įrašytos jūsų komponento šypsenos ar nepasitenkinimo grimasos piktogramos OnSelect įvykio Screen, UserName, UserEmail ir FeedbackValue reikšmės. Taip pat įrašomos kiekvieno įvykio, į kurį Application Insights siunčiama, reikšmės , pvz., appId, appName ir appSessionId.

    Pasirinktinių dimensijų išplėtimas.

  5. Naudodami toliau pateiktą užklausos pavyzdį galite išplėsti JSON pasirinktinių dimensijų ypatybes ir projektuoti stulpelius rezultatų rodinyje.

    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“ užklausos išplėtimas.

    Arbatpinigiai

    Žurnalo užklausos yra itin galingos. Jas naudodami galite sujungti kelias lenteles, agreguoti didelius duomenų kiekius ir atlikti sudėtingas operacijas. Sužinokite daugiau apie žurnalo užklausas.

Nesutvarkytų klaidų stebėjimas (eksperimentinis)

[Šiame skyriuje yra negalutinio leidimo dokumentacija ir jis gali keistis.]

Svarbu

  • Ši funkcija yra eksperimentinė.
  • Eksperimentinės funkcijos nėra skirtos naudoti gamybai ir gali būti apribotas jų funkcionalumas. Šias funkcijas galima naudoti prieš oficialų išleidimą, kad klientai galėtų gauti ankstyvą prieigą ir pateikti atsiliepimų.

Ne visada galite numatyti ir suplanuoti visas klaidas, kurios gali įvykti vykdant programą. Apie neapdorotas Power Fx formulės klaidas vartotojams pranešama kaip apie reklamjuostės pranešimus. Be to, gali būti pranešama apie juos, Application Insights kad būtų lengviau suprasti jų dažnumą ir rimtumą, nepasikliaujant programos naudotojais, kad jie praneštų apie problemas. Taip pat galite nustatyti įspėjimus realiuoju laiku, kai įvyksta vykdymo klaidų, kad imtumėtės aktyvesnio požiūrio.

Įjungti klaidų perdavimų Application Insights

Turite įjungti parametrą, leidžiantį Power Apps perduoti neapdorotas vykdymo klaidas į "Azure". Application Insights

Įspėjimas

Įjungus šį parametrą, gali būti papildomų išlaidų, susijusių su Application Insights žurnalų saugojimu.

Norėdami įjungti klaidų perdavimą, eikite į Parametrai > Būsimos funkcijos > Eksperimentinės > Perduoti klaidas „Azure“ Application Insights palikdami drobės programą atidarytą redaguoti. Išsaugokite ir paskelbkite programą.

Įjungti klaidų perdavimo „Azure“ Application Insights parametrą.

Klaidų įvykiai Application Insights

Apie neapdorotas Power Fx klaidas, su kuriomis naudotojai susiduria programos vykdymo metu, pranešama sekimo lentelėje. Neapdorotas klaidas galima identifikuoti ir atskirti nuo kitų klaidų įvykių pagal įvykio pranešimą "Neapdorota klaida". Šių įvykių "severityLevel" dimensija yra 3 (TraceSeverity.Error).

Išsamūs klaidų pranešimai pateikiami ypatybės customDimension dimensijoje „klaidos“. Tais atvejais, kai atliekant tą pačią operaciją įvyko kelios klaidos, klaidos konsoliduojamos vieno sekimo įvykio dimensijoje "klaidos". Klaidų pranešimai yra tokie patys, kaip pranešta monitoriuje tiesioginio derinimo seanso metu.

Toliau pateiktas užklausos pavyzdys identifikuoja neapdorotas klaidas ir išplečia visus klaidų pranešimus, įtrauktus į sekimo įvykį:

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

Pavyzdinės užklausos išvesties pavyzdys.

Sąsajos sekimas (eksperimentinis)

[Šiame skyriuje yra negalutinio leidimo dokumentacija ir jis gali keistis.]

Svarbu

  • Ši funkcija yra eksperimentinė.
  • Eksperimentinės funkcijos nėra skirtos naudoti gamybai ir gali būti apribotas jų funkcionalumas. Šias funkcijas galima naudoti prieš oficialų išleidimą, kad klientai galėtų gauti ankstyvą prieigą ir pateikti atsiliepimų.

Ryšiai su išoriniais duomenimis ir paslaugomis daugelyje programų yra esminiai. Koreliacijos sekimas generuoja ir skleidžia kontekstinę informaciją, kad būtų galima sujungti sistemos sugeneruotus žurnalus drobės programoje ir jos ryšiuose, atsižvelgiant į tam tikrus apribojimus. Pavyzdžiui, jūsų programa gali iškviesti pasirinktinę jungtį, kuri savo ruožtu iškviečia „Azure“ funkciją ar kitą REST API. Koreliacijos sekimas leidžia susieti programoje atliktus veiksmus su pagrindiniais API skambučiais įvairiose pakopose. Tai gali būti naudinga šalinant trikdžius.

Drobės programos koreliacijos sekimas yra konteksto sekimo įgyvendinimas ir atitinka W3C specifikaciją.

Įjungti sąsajų sekimą

Įspėjimas

Įjungus šį parametrą, gali būti papildomų išlaidų, susijusių su Application Insights žurnalų saugojimu.

Norėdami įjungti sąsajų sekimą funkciją, eikite į Parametrai > Būsimos funkcijos > Eksperimentinės > Įjungti „Azure“ Application Insights sąsajų sekimą palikdami drobės programą atidarytą redaguoti. Išsaugokite ir paskelbkite programą.

Įjungti „Azure“ Application Insights sąsajų sekimą.

Apribojimai

  • Koreliacijos sekimas galimas tik naudojant pasirinktines jungtis. Kiti jungčių tipai nepalaikomi.
  • HTTP užklausos užfiksuojamos Application Insights tik tuo atveju, jei prijungta ir prijungta paslauga Application Insights.

Sąsajų sekimo naudojimas

Kai įjungta, koreliacijos sekimas prideda naują sistemos sugeneruotą žurnalo įvykį drobės programos egzemplioriaus priklausomybių Application Insights lentelėje. Šis įvykis įrašomas tuo metu, kai gaunamas atsakymas iš tinklo skambučio. Priklausomybės įvykiai užfiksuoja išsamią tinklo iškvietimo informaciją, įskaitant užklausos ir atsako antraštes, atsako būsenos kodą ir iškvietimo trukmę.

Įvykio, užregistruoto priklausomybių lentelėje, pavyzdys.

Jei prijungta Application Insights tarnyba taip pat prijungta, tarnybos egzemplioriaus užklausų lentelėje sugeneruojamas Application Insights papildomas sistemos sugeneruotas žurnalo įvykis, fiksuojantis užklausą. Kai kurias "Azure" paslaugas, pvz., "Azure Functions", galima prijungti be jokio kodavimo iš "Azure" portalo. Tiek drobės programa, tiek kelios programos ir prijungtos paslaugos gali būti prijungtos prie to paties Application Insights egzemplioriaus.

Įvykio, užregistruoto užklausų lentelėje, pavyzdys.

Palaikomų jungčių tinklo iškvietimus galima sujungti su kitais sistemos sugeneruotais žurnalais pagal "operation_Id" dimensiją. Toliau pateiktame užklausos pavyzdyje rodoma, kad tinklo skambutis atliekamas kartu su programos seanso metu skleidžiamais įvykiais.

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

Ankstesnės pavyzdinės užklausos išvesties pavyzdys.

Duomenų eksportavimas į „Power BI“

Savo „Application Insights“ duomenis ir užklausų rezultatus galite eksportuoti į „Power BI“ analizei ir duomenų pateikčiai.

  1. Prisijunkite prie „Azure“ portalo ir atidarykite „Application Insights“ išteklių, kurį sukūrėte anksčiau:

  2. Pasirinkite Žurnalai dalyje Stebėjimas kairiojoje naršymo srityje:

  3. Žurnalo analizės užklausos lange pasirinkite meniu Eksportuoti .

  4. Pasirinkite parinktį Eksportuoti į Power BI (M užklausa), kad atsisiųstumėte Power BI užklausos failą:

    „Power BI“ užklausos eksportavimas.

  5. Atidarykite atsisiųstą failą teksto rengyklėje ir nukopijuokite užklausą į mainų sritį.

  6. Atidaryti Power BI.

  7. Juostelėje Pagrindinis pasirinkite meniu Gauti duomenis, tada pasirinkite Tuščia užklausa:

    Tuščia „Power BI“ užklausa.

  8. Užklausos lange pasirinkite Išplėstinė rengyklė. Įklijuokite užklausą į langą, pasirinkite Atlikta, tada pasirinkite Uždaryti &; Taikyti:

    Išplėstinė „Power BI“ užklausa.

Naudodami „Power BI“ taip pat galite kurti diagramas ir vizualizacijas, atspindinčias jūsų programoje gautus atsiliepimus, taip pat priimti duomenimis pagrįstus sprendimus ir atlikti duomenimis pagrįstus veiksmus.

Diagramos ir vizualizacijos.

Numatytasis sekimo įvykio kontekstas ir dimensijos

Į kiekvieno sekimo įvykio ypatybę customDimensions taip pat įtraukiamas numatytųjų dimensijų rinkinys. Šios dimensijos gali būti naudojamos norint nustatyti programą ir programos seansus, kuriuose įvyko įvykiai. Jei registruosite papildomus tinkintus duomenis naudodami sekimo funkciją, jie taip pat bus rodomi tinkintuose aspektuose.

Dimensijos pavadinimas Reiškia
ms-appId Programos, kuri išsiuntė įvykį, ID.
ms-appname Programos, kuri išsiuntė įvykį, pavadinimas.
ms-appSessionId Programos seanso ID. Tam tikruose scenarijuose ši reikšmė gali būti neužpildoma. Kai ši reikšmė galima, ji perrašo standartinę Application Insights dimensiją „sessionID“.
ms-tenantID Nuomotojo, kuriame publikuojama programa, unikalusis identifikatorius.
ms-environmentId Aplinkos, kurioje publikuojama programa, pavadinimas.
Vartotojo ID Unikalus naudotojo, susieto su seansu, identifikatorius.
ms-duration Apskaičiuota reikšmė, matuojanti laiką, kurio reikia vartotojui pereiti iš vieno ekrano į kitą. Ši reikšmė perrašo standartinę Application Insights trukmės dimensiją „PageView“.
sessionId Seanso ID, kurį galima naudoti visų įvykių, susietų su vienu programos seansu, sąsajoms nustatyti. Ši reikšmė visada yra ir rekomenduojama norint suprasti unikalų seansų skaičių. Ši reikšmė paimama iš leistuvo seanso ID ir rodoma peržiūrint išsamią seansų informaciją programos leidimo metu. Seanso ID kartais gali gauti numatytąją, atsitiktinę ir unikalią sugeneruotą Application Insights reikšmę. Ši numatytoji reikšmė nėra patikima ir neturi sąsajos su jokiais konkrečios programos parametrais.
Trukmė Apskaičiuota reikšmė, matuojanti laiką, kurio reikia vartotojui pereiti iš vieno ekrano į kitą. Ši reikšmė yra tokia pati kaip ir trukmė, kurią nurodo dimensija „ms-duration“.
ms-isTest Nurodo, ar seansas susietas su "Test Studio" bandomuoju bėgiku.
ms-currentScreenName Puslapio, iš kurio vartotojas naršo, pavadinimas (pateikiamas puslapio naršymo įvykiams).
ms-targetScreenName Puslapio, į kurį vartotojas pereina, pavadinimas (pateikiamas puslapio naršymo įvykiams).

Nepalaikomas scenarijus

Application Insights nepalaiko toliau nurodytų scenarijų.

  • Neprisijungus pasiekiamų žaidėjų įvykiai nefiksuojami.
  • Programos mobiliesiems (abu iOS ir Android) įvykiai nefiksuojami, kai programa laikinai sustabdoma.
  • GCC ir ne viešieji debesys nepalaikomi.

Pastaba

Ar galite mums pranešti apie dokumentacijos kalbos nuostatas? Atlikite trumpą apklausą. (atkreipkite dėmesį, kad ši apklausa yra anglų kalba)

Apklausą atliksite per maždaug septynias minutes. Asmeniniai duomenys nėra renkami (privatumo nuostatos).