Analizați jurnalele generate de sistem folosind Application Insights
Vă puteți conecta aplicațiile canvas la Application Insights, o caracteristică a Azure Monitor. Application Insights include instrumente de analiză puternice pentru a vă ajuta să diagnosticați problemele și să înțelegeți ce fac utilizatorii cu aplicațiile dvs. Puteți colecta informații pentru a vă ajuta să luați decizii de afaceri mai bune și să îmbunătățiți calitatea aplicațiilor dvs.
Cerințe preliminare
- Trebuie să aveți acces la portalul Azure.
- Trebuie să aveți permisiunile pentru crearea resurselor Azure.
Notă
Pentru a vedea informațiile de telemetrie, administratorul locatarului trebuie să activeze Informații despre aplicația Canvas. conectați-vă ca administrator în Power Platform centrul de administrare. Accesați Setări>Setări pentru chiriași>Informații despre aplicația Canvas. În panoul Informații despre aplicația Canvas , setați comutatorul la Activat și salvați modificările. Pentru mai multe informații, consultați Setări pentru chiriași.
Creați o resursă de Application Insights
Înainte de a putea trimite jurnalele generate de sistem dintr-o aplicație, trebuie să creați o Application Insights resursă pentru a stoca evenimentele.
Creați o resursă bazată pe spațiu de lucru pentru Application Insights în portalul Azure.
Conectați-vă cu aplicația dvs. la Application Insights
Notă
- Când specificați un șir de conexiune, rețineți că datele pot fi trimise între chiriași. Evenimentele de urmărire sunt trimise la resursa App Insights care corespunde șirului de conexiune pe care l-ați setat pentru aplicația dvs., chiar dacă instanța țintă App Insights se află într-un alt chiriaș decât aplicația.
- Aveți grijă când importați fișiere .msapp existente, deoarece pot fi prezente șiruri de conexiune pentru App Insights. Deschideți manual aplicația după importare pentru a verifica dacă este utilizat șirul corect de conexiune App Insights.
Conectați-vă la Power Apps.
Deschideți o aplicație pentru editare.
Selectați Obiectul aplicație în vizualizarea arborescentă de navigare din stânga și inserați șirul de conexiune din Application Insights resursa dvs.:
Salvați și publicați aplicația dvs.
Redați aplicația publicată și răsfoiți diferitele ecrane.
Pe măsură ce răsfoiți ecranele aplicației, evenimentele sunt înregistrate automat în Application Insights, inclusiv detalii de utilizare, cum ar fi:
- De unde se accesează aplicația
- Ce dispozitive sunt folosite
- Tipurile de browser utilizate
Important
Trebuie să redați aplicația publicată pentru a trimite evenimente la Application Insights. Evenimentele nu sunt trimise la Application Insights când previzualizați aplicația în Power Apps Studio.
Vizualizați evenimentele în Application Insights
conectați-vă la portalul Azure și deschideți Application Insights resursa pe care ați creat-o anterior.
Derulați în jos în panoul de navigare din stânga și selectați Utilizatori sub secțiunea Utilizare .
Notă
Vizualizarea Utilizatori afișează detaliile de utilizare ale aplicației, cum ar fi:
- Numărul de utilizatori care au vizualizat aplicația
- Numărul de sesiuni de utilizator
- Numărul de evenimente înregistrate
- Sistemele de operare ale utilizatorilor și detaliile versiunii browserului
- Regiunea și locația utilizatorilor
Aflați mai multe despre analiza utilizatorilor, sesiunilor și evenimentelor în Application Insights.
Selectați una dintre sesiunile de utilizator pentru a perfora detalii specifice. Puteți vedea informații, cum ar fi durata sesiunii și ecranele vizitate:
Selectați Afișarea Evenimente din panoul de navigare din stânga, sub secțiunea Utilizare . Puteți vedea un rezumat al tuturor ecranelor vizualizate în toate sesiunile de aplicații:
Sfat
Sunt disponibile mai multe Application Insights funcții, cum ar fi:
Creați evenimente de urmărire personalizate
Puteți scrie urme personalizate direct la Application Insights și începeți să analizați informații specifice scenariului dvs. Funcția Trace vă permite să colectați:
- Informații granulare de utilizare pentru comenzile de pe ecrane
- Ce utilizatori anumi vă accesează aplicația
- Ce erori apar
Urmărirea poate ajuta, de asemenea, la diagnosticarea problemelor, deoarece puteți trimite o urmă de informații în timp ce utilizatorii dvs. răsfoiesc prin aplicație și efectuează diferite acțiuni. Mesajele de urmărire trimise către Application Insights au una dintre cele trei severități:
- Informaţii
- Avertisment
- Eroare
În funcție de scenariul dvs., puteți alege să trimiteți un mesaj de urmărire cu severitatea corespunzătoare. Puteți interoga datele și puteți lua măsuri specifice în funcție de gravitate.
Notă
Dacă înregistrați date cu caracter personal, fiți conștienți de obligațiile dvs. cu privire la diferitele legi și reglementări privind confidențialitatea. Consultați Microsoft Trust Center și Service Trust Portal pentru mai multe informații.
Acum creați o componentă nouă în aplicația dvs. pentru a colecta feedback pe fiecare ecran și scrieți evenimentele pe Application Insights.
Conectați-vă la Power Apps.
Selectați Aplicații în panoul de navigare din stânga. Din lista de aplicații, selectați aplicația Kudos și apoi selectați Editați.
Selectați opțiunea Componente din Vizualizarea ierarhică:
Selectați Componentă nouă, apoi redimensionați lățimea la 200 și înălțimea la 75:
Selectați Inserați din meniu și apoi selectați Pictograme pentru a adăuga Emoji - Încruntarea și Emoji - Zâmbet:
Selectați Nouă proprietate personalizată pentru a crea o proprietate personalizată:
Introduceți proprietatea Nume și Numele afișat cum ar fi FeedbackSceen.
Introduceți proprietatea Descriere.
Selectați Tipul de proprietate ca Intrare și Tipul de date ca Ecran:
Notă
Proprietatea de intrare vă permite să captați numele ecranului și componenta acestuia, astfel încât să puteți conecta aceste informații la Application Insights.
Selectați componenta din Vizualizare arborescentă, selectați Mai multe acțiuni (…), apoi selectați Redenumiți pentru a redenumi componenta cu un nume semnificativ. ca FeedbackComponent.
Selectați pictogramele, selectați Mai multe acțiuni (…), apoi selectați Redenumiți pentru a redenumi pictogramele cu nume semnificative, cum ar fi ca FrownIcon și SmileIcon.
Selectați FrownIcon, selectați OnSelect proprietatea, apoi introduceți următoarea expresie în bara de formule:
Trace( "App Feedback", TraceSeverity.Information, { UserName: User().FullName, UserEmail: User().Email, Screen: FeedbackComponent.FeedbackScreen.Name, FeedbackValue: "-1" } ); Notify("Thanks for your feedback!");
Notă
Expresia formulă trimite UserName, UserEmail, Screen și Feedback (cu valoarea -1) Application Insights.
Selectați SmileIcon, selectați OnSelect proprietatea, apoi introduceți următoarea expresie în bara de formule:
Trace( "App Feedback", TraceSeverity.Information, { UserName: User().FullName, UserEmail: User().Email, Screen: FeedbackComponent.FeedbackScreen.Name, FeebackValue: "1" } ); Notify("Thanks for your feedback!");
Adăugați componenta la unul dintre ecranele din aplicație:
Selectați Salvați și apoi selectați Publicați pentru a salva și a publica aplicația.
Readați aplicația publicată și trimiteți un zâmbet și un feedback încruntat de pe ecranele dvs.
Important
Trebuie să redați aplicația publicată pentru a trimite evenimente la Application Insights. Evenimentele nu sunt trimise la Application Insights când previzualizați aplicația în Power Apps Studio.
Analizarea datelor în Application Insights
Acum puteți începe să analizați datele pe care le-ați trimis utilizând funcția Trace din aplicația dvs. în Application Insights.
Conectați-vă la portalul Azure și deschideți Application Insights resursa creată de dvs. mai devreme:
Selectați Jurnale sub Monitorizare în panoul de navigare din stânga:
Introduceți următoarea interogare și selectați Run pentru a vedea feedback-ul primit de la aplicația dvs.:
traces | where message == "App Feedback" | order by timestamp
Selectați un rând din rezultate și extindeți câmpul customDimensions .
Valorile pentru Screen, UserName, UserEmail și FeedbackValue au fost înregistrate OnSelect evenimentul pictogramei zâmbet sau încruntat din componenta dvs. De asemenea, sunt înregistrate valori pentru fiecare eveniment trimis către Application Insights, cum ar fi appId, appName și appSessionId.
Cu următorul exemplu de interogare, puteți extinde proprietățile dimensiunilor personalizate JSON și proiectați coloanele din vizualizarea rezultatelor.
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
Sfat
Interogările în jurnal sunt extrem de puternice. Puteți să le utilizați pentru a alătura mai multe tabele, pentru a agrega cantități mari de date și pentru a efectua operațiuni complexe. Aflați mai multe despre interogările de jurnal.
Monitorizarea erorilor netratate (experimental)
[Această secțiune conține documentație de pre-lansare și poate suferi modificări.]
Important
- Aceasta este o caracteristică experimentală.
- Caracteristicile în regim experimental nu sunt destinate utilizării în producție și pot avea funcționalitate restricționată. Aceste caracteristici sunt disponibile înainte de lansarea oficială, astfel încât clienții să poată obține acces din timp și să poată oferi feedback.
Nu puteți anticipa și planifica întotdeauna toate erorile care pot apărea în timp ce aplicația dvs. rulează. Erorile de formulă Power Fx necontrolate sunt raportate utilizatorilor ca mesaje banner. De asemenea, pot fi raportate la Application Insights pentru a vă ajuta să înțelegeți frecvența și gravitatea lor, fără a vă baza pe utilizatorii aplicației dvs. pentru a raporta probleme. De asemenea, puteți să configurați alerte în timp real când apar erori de rulare, pentru a adopta o abordare mai proactivă.
Activați transmiterea erorii către Application Insights
Trebuie să activați setarea care permite Power Apps să transmiteți erorilor de rulare negestionate către Azure Application Insights.
Avertisment
Activarea acestei setări poate implica costuri suplimentare legate de stocarea jurnalelor Application Insights.
Pentru a activa transmiterea erorilor, accesați Setări > Funcții viitoare > Experimental > Trimiteți erorile către Azure Application Insights în timp ce mențineți aplicația canvas deschisă pentru editare. Salvați și publicați aplicația dvs.
Evenimentele de eroare în Application Insights
Erorile Power Fx necontrolate întâmpinate de utilizatori în timpul rulării aplicației sunt raportate în tabelul urme . Erorile netratate pot fi identificate și diferențiate de alte evenimente de eroare prin mesajul de eveniment „Eroare netratată”. Dimensiunea „severityLevel” a acestor evenimente este 3 (TraceSeverity.Error).
Mesajele de eroare detaliate sunt furnizate în dimensiunea „erori” a proprietății customDimension . În situațiile în care au apărut mai multe erori în timpul aceleiași operațiuni, erorile sunt consolidate în dimensiunea „erori” a unui singur eveniment de urmărire. Mesajele de eroare sunt aceleași cu cele raportate în Monitor în timpul unei sesiuni de depanare live.
Următorul exemplu de interogare identifică erorile netratate și extinde toate mesajele de eroare incluse în evenimentul de urmărire:
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
Urmărirea corelării (experimental)
[Această secțiune conține documentație de pre-lansare și poate suferi modificări.]
Important
- Aceasta este o caracteristică experimentală.
- Caracteristicile în regim experimental nu sunt destinate utilizării în producție și pot avea funcționalitate restricționată. Aceste caracteristici sunt disponibile înainte de lansarea oficială, astfel încât clienții să poată obține acces din timp și să poată oferi feedback.
Conexiunile la date și servicii externe sunt fundamentale pentru majoritatea aplicațiilor. Urmărirea corelației generează și propagă informații de context pentru a se alătura jurnalelor generate de sistem într-o aplicație canvas și conexiunile acesteia, sub rezerva anumitor limitări. De exemplu, aplicația dvs. poate apela un conector particularizat care, la rândul său, apelează o funcție Azure sau alt REST API. Urmărirea corelației vă permite să corelați acțiunile întreprinse în aplicație cu apelurile API subiacente pe diferite niveluri. Acest lucru poate fi util la depanare.
Urmărirea corelației aplicației Canvas este o implementare a urmăririi contextului și urmează specificația W3C.
Activați urmărirea corelării
Avertisment
Activarea acestei setări poate implica costuri suplimentare legate de stocarea jurnalelor Application Insights.
Pentru a activa funcția de urmărire a corelației, accesați Setări > Funcții viitoare > Experimental > Activați Azure Application Insights urmărirea corelației în timp ce mențineți aplicația canvas deschisă pentru editare. Salvați și publicați aplicația dvs.
Limitări
- Urmărirea corelației este disponibilă numai pentru conectorii personalizați. Alte tipuri de conector nu sunt acceptate.
- Solicitările HTTP sunt capturate în Application Insights numai dacă serviciul conectat este de asemenea conectat la Application Insights.
Utilizarea urmăririi corelării
Când este activată, urmărirea corelației adaugă un nou eveniment de jurnal generat de sistem în tabelul dependențe al instanței Application Insights a aplicației canvas. Acest eveniment este înregistrat în momentul în care este primit un răspuns de la un apel de rețea. Evenimentele de dependență captează detalii despre apelul din rețea, inclusiv antetul cererii și al răspunsului, codul de stare al răspunsului și durata apelului.
Dacă serviciul conectat este, de asemenea, conectat la Application Insights, un eveniment de jurnal suplimentar generat de sistem care captează cererea este generat în tabelul cereri instanței Application Insights a serviciului. Unele servicii Azure, cum ar fi Azure Functions, pot fi conectate fără nicio codificare din portalul Azure. Atât aplicația canvas, cât și mai multe aplicații și serviciile conectate pot fi conectate la aceeași Application Insights instanță.
Apelurile de rețea pentru conectorii acceptați pot fi asociate cu alte jurnale generate de sistem pe dimensiunea „operation_Id”. Următorul exemplu de interogare arată că un apel de rețea este efectuat alături de evenimente de urmărire emise în timpul unei sesiuni de aplicație.
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
Exportul de date în Power BI
Vă puteți exporta datele Application Insights și rezultate de interogare la Power BI pentru analiză și prezentare de date.
Conectați-vă la portalul Azure și deschideți Application Insights resursa creată de dvs. mai devreme:
Selectați Jurnale sub Monitorizare în panoul de navigare din stânga:
Din fereastra de interogare de analiză a jurnalelor, selectați meniul Export .
Selectați opțiunea Exportați în Power BI (interogare M) pentru a descărca un Power BI fișier de interogare:
Deschideți fișierul descărcat într-un editor de text și copiați interogarea pe clipboard.
Deschideți Power BI.
Selectați meniul Obțineți date din panglica Acasă și apoi selectați Interogare necompletată:
În fereastra de interogare, selectați Editor avansat. Lipiți interogarea în fereastră, selectați Terminat, apoi selectați Închidere & Aplicați:
De asemenea, puteți crea diagrame și vizualizări în Power BI pentru a reprezenta feedback-ul primit în aplicația dvs., precum și pentru a lua decizii și acțiuni bazate pe date.
Context și dimensiuni eveniment Urmărire implicit
Un set de dimensiuni implicite este, de asemenea, adăugat la proprietatea customDimensions la fiecare eveniment Trace. Aceste dimensiuni pot fi utilizate pentru a identifica sesiunile de aplicații și aplicații în care au avut loc evenimentele. Dacă înregistrați date personalizate suplimentare utilizând funcția Urmărire, acestea vor apărea și în parametrii personalizați.
Nume dimensiune | Reprezentări |
---|---|
ms-appId | ID-ul aplicației care a trimis evenimentul. |
ms-appname | Numele aplicației care a trimis evenimentul. |
ms-appSessionId | ID-ul sesiunii de aplicație. Este posibil ca această valoare să nu fie populată în unele scenarii. Când este disponibilă, această valoare înlocuiește dimensiunea sessionID standard din Application Insights. |
ms-tenantID | Identificatorul unic al entității găzduite în care este publicată aplicația. |
ms-environmentId | Numele mediului în care este publicată aplicația. |
userId | Un identificator unic pentru utilizatorul asociat cu sesiunea. |
ms-duration | O valoare imputată care măsoară timpul necesar unui utilizator pentru a naviga de la un ecran la altul. Această valoare înlocuiește dimensiunea standard a duratei PageView din Application Insights. |
sessionId | Un ID de sesiune care poate fi utilizat pentru a corela toate evenimentele asociate cu o singură sesiune de aplicație. Această valoare este întotdeauna prezentă și este recomandată pentru înțelegerea numărului unic de sesiuni. Această valoare este preluată din ID-ul de sesiune al instrumentului de redare și este afișată atunci când vizualizați detaliile sesiunii în timpul redării aplicației. ID-ul sesiunii poate primi uneori o valoare generată implicit, aleatorie și unică pentru Application Insights. Această valoare implicită nu este de încredere și nu se corelează cu niciun parametru specific aplicației. |
Durată | O valoare imputată care măsoară timpul necesar unui utilizator pentru a naviga de la un ecran la altul. Această valoare este aceeași cu durata raportată de dimensiunea ms-duration. |
ms-isTest | Indică dacă sesiunea este asociată cu testul Test Studio. |
ms-currentScreenName | Numele paginii din care navighează utilizatorul (prezent pentru evenimentele de navigare în pagină). |
ms-targetScreenName | Numele paginii către care navighează utilizatorul (prezent pentru evenimentele de navigare a paginii). |
Scenarii neacceptate
Application Insights nu acceptă următoarele scenarii.
- Evenimentele jucătorilor offline nu sunt capturate.
- Evenimentele aplicației mobile (atât iOS și Android) nu sunt capturate atunci când aplicația este suspendată.