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.

În această pornire rapidă, folosim o aplicație canvas numită Kudos pentru a explora conceptele de jurnalele generate de sistem în aplicațiile canvas și pentru a le aplica aplicațiilor dvs. Exemplul de aplicație Kudos face parte dintr-o suită de aplicații de implicare a angajaților disponibile pentru descărcare din  Setul de început pentru Experiența angajaților.

Cerințe preliminare

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 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.

Opțional

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.

  1. Conectați-vă la portalul Azure.

  2. Căutați Application Insights:

    Application Insights.

  3. Creați o resursă de Application Insights:

    Adăugarea unei resurse Application Insights.

  4. Introduceți valorile corespunzătoare și selectați Revizuiește + creează.

    Pentru mai multe detalii, citiți Creați o resursă Application Insights.

    Creați o resursă.

  5. După ce Application Insights instanța este creată, copiați Cheia de instrumentare în prezentarea generală a instanței pentru a fi utilizată într-un pas următor.

    Copiați cheia instrumentației.

Conectați-vă cu aplicația dvs. la Application Insights

Notă

  • Când specificați o cheie de instrumentare, rețineți că datele pot fi trimise între chiriași. Evenimentele de urmărire sunt trimise la resursa App Insights care corespunde cheii de instrumentare pe care ați setat-o ​​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 cheile de instrumentare pentru App Insights. Deschideți manual aplicația după importare pentru a verifica dacă este utilizată cheia de instrumentare corectă App Insights.
  1. Conectați-vă la Power Apps.

  2. Selectați Aplicații în panoul de navigare din stânga. Din lista de aplicații, selectați Aplicația Bravo și apoi selectați Editare:

    Editați aplicația Kudos.

    Notă

    Poti de asemenea crea o aplicație nouă sau editați în schimb, orice aplicație existentă.

  3. Selectați Obiectul Aplicație în vizualizarea arborescentă de navigare din stânga și inserați Cheia de instrumentare:

    Adăugați cheia instrumentației.

  4. Salvați și Publicați aplicația dvs.

  5. 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

  1. Conectați-vă la Portalul Azure și deschideți resursa Application Insights pe care ai creat-o mai devreme.

  2. 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.

  3. 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:

    Detalii despre utilizare pentru utilizatori.

  4. Selectați Afișarea Evenimente din panoul de navigare din stânga din secțiunea Utilizare . Puteți vedea un rezumat al tuturor ecranelor vizualizate în toate sesiunile de aplicații:

    Detalii despre eveniment pentru aplicație.

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 acțiuni 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 nouă componentă în aplicație pentru a colecta feedback pe fiecare ecran și scrieți evenimentele pe Application Insights.

  1. Conectați-vă la Power Apps.

  2. Selectați Aplicații în panoul de navigare din stânga. Din lista de aplicații, selectați Aplicația Bravo și apoi selectați Editați.

    Notă

    De asemenea, puteți să creați o aplicație nouă sau editați o aplicație existentă.

  3. Selectați opțiunea Componente pe Vizualizarea arborescentă:

    Componente.

  4. Selectați Componenta nouă, apoi redimensionați lățimea la 200 și înălțimea la 75:

    Înălțimea și lățimea.

  5. Selectați Inserați din meniu și apoi selectați Pictograme pentru a adauga Emoji - încruntat și Emoji - zâmbește:

    Adăugați pictograme.

  6. Selectați Proprietate personalizată nouă pentru a crea o proprietate personalizată:

    Creați proprietate particularizată.

  7. Introduceți proprietatea Nume și Numele afișat precum FeedbackSceen.

  8. Introduceți Descrierea proprietății.

  9. Selectați Tip de proprietate ca Intrare și Tip de date ca Ecran:

    Proprietate particularizată.

    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.

  10. Selectați componenta din Vizualizare arborescentă, selectați Mai multe acțiuni () și apoi selectați Redenumiți pentru a redenumi componenta cu un nume semnificativ, cum ar fi FeedbackComponent.

    Redenumiți componentele și pictogramele.

  11. Selectați pictogramele, selectați Mai multe acțiuni (), apoi selectați Redenumiți pentru redenumiți pictogramele cu nume semnificative, cum ar fi FrownIcon și SmileIcon.

  12. Selectați FrownIcon, selectați proprietatea OnSelect și 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!");
    

    Formula de pictogramă încruntată.

    Notă

    Expresia formulei trimite UserName, UserEmail, Ecran și Feedback (cu valoarea -1) la Application Insights.

  13. Selectați SmileIcon, selectați proprietatea OnSelect și 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!");
    
  14. Adăugați componenta la unul dintre ecranele din aplicație:

    Adăugați componenta de feedback.

  15. Selectați Salvați și apoi selectați Publicare pentru a salva și publica aplicația.

  16. 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.

    Redați aplicația publicată.

Analizarea datelor în Application Insights

Acum puteți începe să analizați datele pe care le-ați trimis folosind funcția Urmărire din aplicația dvs. din Application Insights.

  1. Conectați-vă la Portalul Azure și deschideți resursa Application Insights pe care ați creat-o mai devreme:

    Selectați Application Insights.

  2. Selectați Jurnale sub Monitorizare în panoul de navigare din stânga:

    Selectați Jurnale.

  3. 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
    

    Vizualizare feedback aplicație.

  4. Selectați un rând în rezultate și extindeți câmpul customDimensions.

    Au fost înregistrate valorile pentru Ecran, UserName, UserEmail și FeedbackValue pentru evenimentul OnSelect pictogramei de zâmbet sau încruntare în componenta dvs.. De asemenea, sunt înregistrate valori pentru fiecare eveniment trimis către Application Insights, cum ar fi appId, appName și appSessionId.

    Extindeți dimensiunile particularizate.

  5. 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
    

    Extindeți interogarea customDimensions.

    Sfat

    Interogările de 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 netratate 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 configura 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ă treacă erorile 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 > Caracteristici viitoare > Experimental > Transmitere erori la Azure Application Insights, păstrând deschisă pentru editare aplicația creată pe planșă. Salvați și publicați aplicația dvs.

Setarea Activați transmiterea erorilor la Azure Application Insights.

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 „errors” 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

Exemplu de ieșire, de exemplu o interogare.

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 corelării, accesați Setări > Caracteristici viitoare > Experimental > Activați urmărirea corelației Azure Application Insights, păstrând aplicația creată pe planșă deschisă pentru editare. Salvați și publicați aplicația dvs.

Activați urmărirea corelării Azure Application Insights.

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 conectat și 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.

Exemplu de eveniment înregistrat în tabelul de dependențe.

Dacă serviciul conectat este, de asemenea, conectat la Application Insights, un eveniment de jurnal suplimentar generat de sistem care captează cererea este generat în solicitări tabelul serviciului Application Insights instanţă. 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ță.

Exemplu de eveniment înregistrat în tabelul de solicitări.

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

Exemplu de ieșire pentru exemplul de interogare de mai sus.

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.

  1. Conectați-vă la Portalul Azure și deschideți resursa Application Insights pe care ați creat-o mai devreme:

  2. Selectați Jurnale sub Monitorizare în panoul de navigare din stânga:

  3. Din fereastra de interogare de analiză a jurnalelor, selectați meniul Export .

  4. Selectați opțiunea Exportați în Power BI (interogare M) pentru a descărca un Power BI fișier de interogare:

    Exportați interogarea Power BI.

  5. Deschideți fișierul descărcat într-un editor de text și copiați interogarea pe clipboard.

  6. Deschideți Power BI.

  7. Selectați meniul Obțineți date din panglica Acasă și apoi selectați Interogare goală:

    Power BI interogare necompletată.

  8. În fereastra de interogare, selectați Editor avansat. Lipiți interogarea în fereastră, selectați Terminat, apoi selectați Închidere & Aplicați:

    Power BI interogare avansată.

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.

Diagrame și vizualizări.

Context și dimensiuni eveniment Urmărire implicit

Un set de dimensiuni implicite este, de asemenea, adăugat la proprietatea customDimensions pe fiecare eveniment de Urmărire. 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 cât și Android) nu sunt capturate atunci când aplicația este suspendată.
  • GCC și cloudurile non-publice nu sunt acceptate.

Notă

Ne puteți spune care preferințele dvs. lingvistice pentru documentație? Răspundeți la un chestionar scurt. (rețineți că acest chestionar este în limba engleză)

Chestionarul va dura aproximativ șapte minute. Nu sunt colectate date personale (angajament de respectare a confidențialității).