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ę.
Būtinosios sąlygos
- Turite turėti prieigą prie "Azure" portalo.
- Turite turėti teises kurti "Azure" išteklius.
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.
„Application Insights“ ištekliaus kūrimas
Kad galėtumėte siųsti sistemos sugeneruotus žurnalus iš programos, turite sukurti Application Insights šaltinį įvykiams saugoti.
Sukurkite darbo sritimi pagrįstą išteklių Application Insights "Azure" portale.
Programos prijungimas prie „Application Insights“
Pastaba.
- Nurodydami jungimosi eilutę, atminkite, kad duomenys gali būti siunčiami tarp nuomotojų. Sekimo įvykiai siunčiami į "App Insights" išteklių, kuris atitinka jūsų programai nustatytą ryšio eilutę, 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" ryšio eilučių. Po importavimo atidarykite programą rankiniu būdu, kad patikrintumėte, ar naudojama tinkama "App Insights" jungimosi eilutė.
Prisijunkite prie Power Apps.
Atidarykite programą redagavimui.
Kairiajame naršymo medžio rodinyje pasirinkite taikomosios programos objektą ir įklijuokite jungimosi eilutę iš savo Application Insights išteklių:
Išsaugokite ir paskelbkite programą.
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“
Prisijunkite prie "Azure" portalo ir atidarykite anksčiau Application Insights sukurtąšaltinį.
Slinkite žemyn kairiojoje naršymo srityje ir skiltyje Naudojimas pasirinkiteVartotojai .
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.
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:
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ę:
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į.
Prisijunkite prie Power Apps.
pasirinkti Programėlės kairiojoje naršymo srityje. Programų sąraše pasirinkite programą Kudos , tada pasirinkite Redaguoti.
Pastaba.
Taip pat galite sukurti naują programą arba redaguoti esamą programą.
Medžio rodinyje pasirinkite parinktį Komponentai:
Pasirinkite Naujas komponentas, tada pakeiskite pločio dydį iki 200 ir aukštį iki 75:
Meniu pasirinkite Įterpti , tada pasirinkite Piktogramos, kad pridėtumėte jaustukus – susiraukusius ir jaustukus – šypsenėlę:
Pasirinkite Nauja pasirinktinė ypatybė, kad sukurtumėte pasirinktinę ypatybę:
Įveskite ypatybės pavadinimą ir rodomą pavadinimą , pvz., FeedbackSceen .
Įveskite ypatybės aprašą.
Pasirinkite Ypatybės tipas kaip Įvestis ir Duomenų tipas kaip Ekranas :
Pastaba.
Įvesties ypatybė leidžia fiksuoti ekrano pavadinimą ir jo komponentą, kad šią informaciją galėtumėte registruoti „Application Insights“.
Medžio rodinyje pasirinkite komponentą , pasirinkiteDaugiau veiksmų (...), tada pasirinkite Pervardyti , kad pervardytumėte komponentą prasmingu pavadinimu, pvz., FeedbackComponent.
Pasirinkite piktogramas, pasirinkite Daugiau veiksmų (...), tada pasirinkite Pervardyti , kad pervardytumėte piktogramas prasmingais pavadinimais, pvz., FrownIcon ir SmileIcon.
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!");
Pastaba.
Formulės išraiška siunčia UserName,UserEmail,Screen ir Feedback (su reikšme-1 ) į. Application Insights
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!");
Įtraukite komponentą į vieną iš programos ekranų:
Pasirinkite Įrašyti , tada pasirinkite Publikuoti , kad įrašytumėte ir paskelbtumėte programą.
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“.
Duomenų analizavimas „Application Insights“
Dabar galite pradėti analizuoti duomenis, kuriuos išsiuntėte naudodami sekimo funkciją iš savo programos Application Insights.
Prisijunkite prie "Azure" portalo ir atidarykite anksčiau Application Insights sukurtąišteklių:
Pasirinkite Žurnalai dalyje Stebėjimas kairiojoje naršymo srityje:
Į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
Rezultatuose pasirinkite eilutę ir išplėskite lauką customDimensions .
Įrašytos jūsų komponento šypsenos arba susiraukimo piktogramos į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.
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
Arbatpinigiai
Žurnalo užklausos yra labai 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 > Eksperimentinis > perdavimas klaidas į "Azure", Application Insights išlaikant drobės programą atidarytą redaguoti. Išsaugokite ir paskelbkite programą.
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 dimensijos 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
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 koreliacijos sekimo funkciją, eikite į Parametrai > Būsimos funkcijos > Eksperimentinis > Įgalinkite "Azure" Application Insights koreliacijos sekimą , kol drobės programa bus atidaryta redaguoti. Išsaugokite ir paskelbkite programą.
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ę.
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.
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
Duomenų eksportavimas į „Power BI“
Savo „Application Insights“ duomenis ir užklausų rezultatus galite eksportuoti į „Power BI“ analizei ir duomenų pateikčiai.
Prisijunkite prie "Azure" portalo ir atidarykite anksčiau Application Insights sukurtąišteklių:
Pasirinkite Žurnalai dalyje Stebėjimas kairiojoje naršymo srityje:
Žurnalo analizės užklausos lange pasirinkite meniu Eksportuoti .
Pasirinkite parinktį Eksportuoti į Power BI (M užklausa), kad atsisiųstumėte Power BI užklausos failą:
Atidarykite atsisiųstą failą teksto rengyklėje ir nukopijuokite užklausą į mainų sritį.
Atidaryti Power BI.
Juostelėje Pagrindinis pasirinkite meniu Gauti duomenis , tada pasirinkite Tuščia užklausa:
Užklausos lange pasirinkite Išplėstinė rengyklė. Įklijuokite užklausą į langą, pasirinkite Atlikta, tada pasirinkite Uždaryti &; Taikyti:
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.
Numatytasis sekimo įvykio kontekstas ir dimensijos
Numatytųjų dimensijų rinkinys taip pat įtraukiamas į kiekvieno sekimo įvykio ypatybę customDimensions . Š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.