Analiza sistemski generisanih evidencija pomoću Application Insights

Možete povezati aplikacije na platnu Application Insights sa funkcijom Azure monitora. Application Insights uključuje moćne alatke za analitiku koje vam pomažu da dijagnostikujete probleme i razumete šta korisnici zapravo rade sa vašim aplikacijama. Možete da prikupljate informacije koje će vam pomoći da pokrenete bolje poslovne odluke i poboljšate kvalitet aplikacija.

U ovom quickstart-u koristimo aplikaciju platna pod nazivom Kudos za istraživanje koncepata sistemski generisanih evidencija u aplikacijama na platnu i njihovu primenu na aplikacije. Aplikacija "Kudos" je deo paketa aplikacija za angažovanje zaposlenih koje su dostupne za preuzimanje iz starter kompleta za iskustvo zaposlenih.

Preduslovi

Napomena

Da biste prikazali informacije o telemetriji, administrator zakupca mora da omogući uvide u aplikaciju Canvas. Prijavite se kao administrator u Power Platform administrativnom centru. Idite na settings > Tenant settings > Canvas app insights. U oknu "Uvidi" aplikacije "Podloga za crtanje" podesite preklopnik na "Dalje " i sačuvajte promene. Više informacija potražite u članku Postavke zakupaca.

Opcionalno

  • Preuzmite i instalirajte aplikaciju Kudos iz starter kompleta za iskustvo zaposlenih. Takođe možete da koristite postojeću aplikaciju.

Kreiranje Application Insights resursa

Da biste mogli da šaljete sistemski generisane evidencije iz aplikacije, potrebno je da kreirate resurs Application Insights za skladištenje događaja.

  1. Prijavite se na Azure portal.

  2. Potražite Application Insights:

    Application Insights.

  3. Kreirajte Application Insights resurs:

    Dodajte Application Insights resurs.

  4. Unesite odgovarajuće vrednosti i izaberite Pregled + kreiranje.

    Za više detalja, pročitajte Kreiranje Application Insights resursa.

    Kreiranje resursa.

  5. Nakon kreiranja Application Insights instance, kopirajte ključ instrumentacije u pregled instance za upotrebu u predstojećem koraku.

    Kopiranje ključa za instrumentaciju.

Povežite aplikaciju sa uslugom Application Insights

Napomena

  • Kada navodite ključ za instrumentaciju, imajte na umu da se podaci mogu slati preko stanara. Praćenje događaja se šalje resursu App Insights koji odgovara instrumentacionom ključu koji ste postavili za aplikaciju, čak i ako je instanca target App Insights u drugom zakupu od aplikacije.
  • Budite oprezni prilikom uvoza postojećih .msapp datoteka pošto su možda prisutni tasteri za instrumentaciju za App Insights. Ručno otvorite aplikaciju nakon uvoza da biste proverili da li se koristi ispravan taster za instrumentaciju App Insights.
  1. Prijavite se u Power Apps.

  2. U levom oknu za navigaciju izaberite Aplikacije. Sa liste aplikacija izaberite aplikaciju Kudos, a zatim izaberite stavku Uredi:

    Uređivanje aplikacije Kudos.

    Napomena

    Takođe možete da kreirate novu aplikaciju ili umesto nje uređujete neku postojeću.

  3. Izaberite objekat aplikacije u levom prikazu navigacionog stabla i nalepite taster Instrumentation:

    Dodavanje ključa za instrumentaciju.

  4. Sačuvajte i objavite aplikaciju.

  5. Reprodukujte objavljenu aplikaciju i pregledajte različite ekrane.

Dok pregledate ekrane aplikacija, događaji se automatski evidentiraju, uključujući detalje Application Insights o korišćenju kao što su:

  • Odakle se pristupa aplikaciji
  • Koji uređaji se koriste
  • Korišćeni tipovi pregledača

Važno

Morate da pokrećete objavljenu aplikaciju da biste slali događaje u Application Insights. Događaji se ne šalju u Application Insights kada pregledate aplikaciju u programu Power Apps Studio.

Prikaz događaja u usluzi Application Insights

  1. Prijavite se u Azure portal i otvorite Application Insights resurs koji ste kreirali ranije.

  2. Pomerite se nadole u levom oknu za navigaciju i izaberite Korisnici u odeljku Upotreba.

    Napomena

    Prikaz " Korisnici" prikazuje detalje o korišćenju aplikacije, kao što su:

    • Broj korisnika koji su pregledali aplikaciju
    • Broj korisničkih sesija
    • Broj evidentiranih događaja
    • Operativni sistemi korisnika i detalji verzije pregledača
    • Region i lokacija korisnika

    Saznajte više o korisnicima, sesijama i analizi događaja u Application Insights.

  3. Izaberite jednu od sesija korisnika da biste dubinski pretražili određene detalja. Možete videti informacije poput dužine sesije i posećenih ekrana:

    Podaci o upotrebi za korisnike.

  4. Izaberite prikaz događaja u levom oknu za navigaciju u odeljku Korišćenje . Možete da vidite rezime svih ekrana pregledanih u svim sesijama aplikacija:

    Detalji događaja za aplikaciju.

Savet

Dostupno Application Insights je još funkcija, kao što su:

Kreiranje prilagođenih događaja praćenja

Možete direktno zapisati prilagođena praćenja u usluzi Application Insights i početi da analizirate informacije specifične za vaš scenario. Funkcija "Prati " vam omogućava da prikupite:

  • Granulirani podaci o korišćenju kontrola na ekranima
  • Koji određeni korisnici pristupaju vašoj aplikaciji
  • Do kojih grešaka dolazi

Praćenje takođe može pomoći u postavljanju dijagnoze problema, jer možete poslati trag informacija dok korisnici pregledaju vašu aplikaciju i obavljaju različite radnje. Praćenje poslatih poruka da bi Application Insights imali jednu od tri težine:

  • Informacija
  • Upozorenje
  • Greška

U zavisnosti od vašeg scenarija, možete odlučiti da pošaljete poruku o praćenju sa odgovarajućom ozbiljnošću. Možete da izvršite upit nad podacima i preduzmete određene radnje na osnovu ozbiljnosti.

Napomena

Ako evidentičite bilo kakve lične podatke, budite svesni svojih obaveza u pogledu različitih zakona i propisa o privatnosti. Za više informacija pogledajte Microsoft centar za pouzdanost i portal za pouzdanost usluge.

Sada kreirajte novu komponentu u aplikaciji da biste prikupili povratne informacije na svakom ekranu i na koje ćete pisati događaje Application Insights.

  1. Prijavite se u Power Apps.

  2. U levom oknu za navigaciju izaberite Aplikacije. Sa liste aplikacija izaberite aplikaciju Kudos, a zatim izaberite stavku Uredi.

    Napomena

    Takođe možete da kreirate novu aplikaciju ili da uređujete postojeću aplikaciju.

  3. Izaberite opciju Komponente na Prikazu stabla:

    Komponente.

  4. Izaberite Nova komponenta, a zatim promenite širinu na 200 i visinu na 75:

    Visina i širina.

  5. Izaberite Umetni iz menija, a zatim izaberite Ikone da biste dodali Emodži – Mrgud i Emodži – Smeško:

    Dodavanje ikona.

  6. Izaberite Novo prilagođeno svojstvo da biste kreirali prilagođeno svojstvo:

    Kreiranje prilagođenog svojstva.

  7. Unesite svojstvo Name i Display name, kao što je FeedbackScreen.

  8. Unesite svojstvo Description.

  9. Izaberite Tip svojstva da bude Unos i Tip podataka da bude Ekran:

    Prilagođeno svojstvo.

    Napomena

    Svojstvo unosa vam omogućava da snimite naziv ekrana i njegovu komponentu kako biste mogli da evidentirate ove informacije u Application Insights.

  10. Izaberite komponentu u prikazu stabla, izaberite još radnji(), a zatim izaberite preimenuj da biste preimenovali komponentu sa smislenim imenom kao što je FeedbackComponent . ·

    Preimenovanje komponente i ikona.

  11. Izaberite ikone, izaberite još radnji(), a zatim izaberite stavku Preimenuj da biste ikone preimenovali sa smislenim imenima, kao što su FrownIcon i SmileIcon.

  12. Izaberite FrownIcon, izaberite svojstvo OnSelect, a zatim unesite sledeći izraz u traku za formule:

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

    Formula sa ikonom Mrguda.

    Napomena

    Izraz formule šalje UserName, UserEmail, Screen i Feedback (sa vrednošću -1) u Application Insights.

  13. Izaberite SmileIcon, izaberite svojstvo OnSelect, a zatim unesite sledeći izraz u traku za formule:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Dodajte komponentu na jedan od ekrana u vašoj aplikaciji:

    Dodavanje komponente za povratne informacije.

  15. Izaberite Sačuvaj, a zatim izaberite Objavi da biste sačuvali i objavili aplikaciju.

  16. Pokrenite objavljenu aplikaciju i pošaljite povratne informacija sa smeškom i mrgudom sa svojih ekrana.

    Važno

    Morate da pokrećete objavljenu aplikaciju da biste slali događaje u Application Insights. Događaji se ne šalju u Application Insights kada pregledate aplikaciju u programu Power Apps Studio.

    Pokretanje objavljene aplikacije.

Analiziranje podataka u usluzi Application Insights

Sada možete početi da analizirate podatke koje ste poslali koristeći funkciju Trace iz vaše aplikacije u Application Insights.

  1. Prijavite se u Azure portal i otvorite Application Insights resurs koji ste kreirali ranije:

    Izbor usluge Application Insights.

  2. U levom oknu za navigaciju izaberite stavku Evidencije u okviru za nadgledanje:

    Izaberite evidenciju.

  3. Unesite sledeći upit i izaberite pokreni da biste prikazali povratne informacije primljene iz aplikacije:

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

    Prikaz povratnih informacija aplikacije.

  4. Izaberite red u rezultatima i proširite polje customDimensions.

    Zabeležene su vrednosti za Screen, UserName, UserEmail i FeedbackValue za događaj OnSelect ikone smeška ili mrguda u vašoj komponenti. Vrednosti se takođe beleže za svaki događaj koji se šalje Application Insights, kao što su ID aplikacije, ime aplikacije i ID za appSession.

    Proširenje prilagođenih dimenzija.

  5. Sledećim primerom upita možete proširiti svojstva JSON prilagođenih dimenzija i projektovati kolone u prikazu rezultata.

    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
    

    Upit za proširenje prilagođenih dimenzija.

    Savet

    Upiti evidencija su izuzetno moćni. Možete ih koristiti za pridruživanje više tabela, objedinjavanje velikih količina podataka i obavljanje složenih operacija. Saznajte više o upitima za evidenciju.

Nadgledanje neobrađenih grešaka (eksperimentalno)

[Ovaj odeljak sadrži preliminarnu dokumentaciju i može se promeniti.]

Važno

  • Ovo je eksperimentalna funkcija.
  • Eksperimentalne funkcije nisu namenjene za korišćenje u proizvodnji i mogu da imaju ograničene funkcionalnosti. Ove funkcije su dostupne pre zvaničnog objavljivanja kako bi klijenti mogli ranije da im pristupe i pruže povratne informacije.

Ne možete uvek predvideti i planirati sve greške do kojih može doći dok je aplikacija pokrenuta. Neodovršene Power Fx greške u formuli prijavljene su korisnicima kao poruke banera. Takođe mogu da se jave kako bi Application Insights vam pomogli da razumete njihovu učestalost i ozbiljnost bez oslanjanja na korisnike aplikacije da prijavljuju probleme. Takođe možete da podesite obaveštenja u realnom vremenu kada dođe do grešaka u izvršavanju da biste imali proaktivniji pristup.

Omogućavanje prosleđivanja grešaka u Application Insights

Potrebno je da omogućite postavku koja omogućava Power Apps da se Azure greške tokom izvršavanja prenesu neodovršenim izvršavačima Application Insights.

Upozorenje

Omogućavanje ove postavke može izazvati dodatne troškove vezane za skladištenje Application Insights evidencija.

Da biste omogućili prosleđivanje grešaka, idite na Postavke > Predstojeće funkcije > Eksperimentalno > Prosledi greške u Azure Application Insights dok je aplikacija sa podlogom otvorena za uređivanje. Sačuvajte i objavite aplikaciju.

Postavka Omogući prosleđivanje grešaka u Azure Application Insights.

Događaji grešaka u usluzi Application Insights

Neodovršene Power Fx greške koje su korisnici iskusili u izvršavanju aplikacije prijavljene su tabeli sa praćenjem . Neodložene greške se mogu identifikovati i razlikovati od drugih događaja greške porukom događaja "Neoštećena greška". Dimenzija "ozbiljnostiLevel" ovih događaja je 3 (TraceSeverity.Error).

Detaljne poruke o greškama su navedene u aspektu „errors“ svojstva customDimension. U situacijama kada je tokom iste operacije došlo do više grešaka, greške se konsoliduju u dimenziji "greške" jednog događaja praćenja. Poruke o greškama su iste kao što je prijavljeno u monitoru tokom sesije otklanjanja grešaka uživo.

Sledeći primer upita identifikuje neoštećene greške i proširuje sve poruke o greškama uključene u događaj praćenja:

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

Uzorak izlaza za primer upita.

Praćenje korelacije (eksperimentalno)

[Ovaj odeljak sadrži preliminarnu dokumentaciju i može se promeniti.]

Važno

  • Ovo je eksperimentalna funkcija.
  • Eksperimentalne funkcije nisu namenjene za korišćenje u proizvodnji i mogu da imaju ograničene funkcionalnosti. Ove funkcije su dostupne pre zvaničnog objavljivanja kako bi klijenti mogli ranije da im pristupe i pruže povratne informacije.

Veze sa spoljnim podacima i uslugama su fundamentalne za većinu aplikacija. Praćenje korelacije generiše i propagira informacije o kontekstu kako bi se pridružile sistemski generisanim evidencijama preko aplikacije na platnu i njenim vezama, koje podležu određenim ograničenjima. Kao primer, aplikacija može da poziva u konektor spajanja koji zauzvrat poziva Azure funkciju ili drugi REST API. Praćenje korelacije vam omogućava da povežete radnje preduzete u aplikaciji sa osnovnim API pozivima preko tiersa. To može biti korisno u rešavanju problema.

Praćenje korelacije aplikacija canvas je implementacija praćenja konteksta i prati W3C specifikaciju.

Omogućavanje praćenja korelacije

Upozorenje

Omogućavanje ove postavke može izazvati dodatne troškove vezane za skladištenje Application Insights evidencija.

Da biste omogućili funkciju praćenja korelacije, idite na Postavke > Predstojeće funkcije > Eksperimentalno > Omogućite praćenje korelacije u usluzi Azure Application Insights dok je aplikacija sa podlogom otvorena za uređivanje. Sačuvajte i objavite aplikaciju.

Omogućavanje praćenja korelacije u usluzi Azure Application Insights.

Ograničenja

Korišćenje praćenja korelacije

Kada je omogućeno, praćenje korelacije dodaje novi sistemski generisani događaj evidencije u tabeli zavisnosti instance aplikacije podloge. Application Insights Ovaj događaj se zapisuje u trenutku kada je primljen odgovor sa mrežnog poziva. Događaji zavisnosti beleže detalje mrežnog poziva, uključujući zaglavlja zahteva i odgovora, kôd statusa odgovora i trajanje poziva.

Uzorak događaja evidentiran u tabeli zavisnosti.

Ako je povezana usluga takođe povezana Application Insights sa, dodatni sistemski generisani događaj evidencije koji hvata zahtev generiše se u tabeli zahteva instance usluge Application Insights . Neke Azure usluge, kao što su Azure funkcije, mogu biti povezane bez kodiranja sa Azure portala. Aplikacija podloge za crtanje ili više aplikacija i povezanih usluga mogu se povezati sa istom instancom Application Insights .

Uzorak događaja evidentiran u tabeli zahteva.

Mrežni pozivi za podržane konektore mogu se pridružiti drugim sistemski generisanim evidencijama na dimenziji "operation_Id". Sledeći primer upita prikazuje mrežni poziv koji se izvršava zajedno sa događajima koji se emituju tokom sesije aplikacije.

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

Uzorak izlaza za raniji primer upita.

Izvoz podataka u Power BI

Možete da izvozite svoje Application Insights podatke i rezultate upita u Power BI radi analize i prezentacije podataka.

  1. Prijavite se u Azure portal i otvorite Application Insights resurs koji ste kreirali ranije:

  2. U levom oknu za navigaciju izaberite stavku Evidencije u okviru za nadgledanje:

  3. U prozoru upita za analitiku evidencije izaberite meni Izvoz .

  4. Izaberite opciju Izvezi u Power BI (M upit) da biste preuzeli datoteku Power BI upita:

    Izvoz Power BI upita.

  5. Otvorite preuzetu datoteku u uređivaču teksta i kopirajte upit u ostavu.

  6. Otvaranje Power BI.

  7. Na glavnoj traci izaberite meni "Pričvršćivač podataka ", a zatim izaberite stavku "Prazan upit":

    Power BI prazan upit.

  8. U prozoru upita izaberite Napredni uređivač. Nalepite upit u prozor, izaberite Gotovo, a zatim izaberite Zatvori & Primeni:

    Power BI napredni upit.

Takođe možete da kreirate grafikone i vizuelizacije u usluzi Power BI da biste predstavili povratne informacije primljene u vašoj aplikaciji, kao i da donosite odluke i preduzimate radnje zasnovane na podacima.

Grafikoni i vizuelizacije.

Podrazumevani kontekst i dimenzije događaja Praćenje

Skup podrazumevanih dimenzija se takođe dodaje u svojstvo customDimensions na svakom događaju praćenja. Ove dimenzije se mogu koristiti za identifikaciju aplikacije i sesija aplikacije u kojima su se dogodili događaji. Ako evidentirajte dodatne prilagođene podatke pomoću funkcije "Praćenje", oni će se pojaviti i u prilagođenim dimenzijama.

Ime dimenzije Predstavlja
ms-appId ID aplikacije koja je poslala događaj.
ms-appname Naziv aplikacije koja je poslala događaj.
ms-appSessionId ID sesije aplikacije. Ova vrednost možda nije popunjena u nekim scenarijima. Kada je dostupna, ova vrednost zamenjuje standardni aspekt Application Insights sessionID.
ms-tenantID Jedinstveni identifikator zakupca kod kojeg se aplikacija objavljuje.
ms-environmentId Naziv okruženja u kojem se aplikacija objavljuje.
userId Jedinstveni identifikator za korisnika povezanog sa sesijom.
ms-duration Ubačena vrednost koja meri vreme potrebno da korisnik pređe sa jednog ekrana na drugi. Ova vrednost zamenjuje standardni aspekt trajanja Application Insights PageView.
sessionId ID sesije koji se može koristiti za korelaciju svih događaja povezanih sa jednom sesijom aplikacije. Ova vrednost je uvek prisutna i preporučuje se za razumevanje jedinstvenog broja sesija. Ova vrednost je preuzeta iz ID-a sesije plejera i prikazuje se prilikom prikazivanja detalja sesije tokom pokretanja aplikacije. ID sesije ponekad može dobiti podrazumevanu, nasumičnu i jedinstvenu Application Insights generisanu vrednost. Ta podrazumevana vrednost nije pouzdana i nije u korelaciji ni sa jednim parametrom specifičnim za aplikaciju.
Trajanje Ubačena vrednost koja meri vreme potrebno da korisnik pređe sa jednog ekrana na drugi. Ta vrednost je ista kao i trajanje koje je prijavio aspekt ms-duration.
ms-isTest Označava da li je sesija povezana sa test trkačem test studija.
ms-currentScreenName Ime stranice sa koje se korisnik kreće (prisutno za događaje navigacije stranice).
ms-targetScreenName Ime stranice na koju se korisnik kreće (prisutno za događaje navigacije stranice).

Nepodržani scenariji

Application Insights ne podržava sledeće scenarije.

  • Događaji vanmrežnog plejera nisu uhvaćeni.
  • Događaji mobilne aplikacije iOS (i Android) se ne nisu uhvatili kada je aplikacija obustavljena.
  • GCC i oblaci koji nisu javni nisu podržani.

Napomena

Možete li nam reći o svojim željenim postavkama jezika u dokumentaciji? Ispunite kratku anketu. (imajte na umu da je ova anketa na engleskom jeziku)

Anketa će trajati oko sedam minuta. Ne prikupljaju se lični podaci (izjava o privatnosti).