Analysere systemgenererte logger ved hjelp av Application Insights
Du kan koble lerretsappene til Application Insights, en funksjon i Azure Monitor. Application Insights inkluderer kraftige analyseverktøy som hjelper deg med å diagnostisere problemer og forstå hva brukerne faktisk gjør med apper. Du kan samle inn informasjon som hjelper deg med å ta bedre forretningsavgjørelser og forbedre kvaliteten på appene dine.
I denne hurtigstarten bruker vi en lerretsapp kalt Kudos for å utforske konsepter for systemgenererte logger i lerretsapper og bruke dem på appene dine. Appeksempelet Kudos er en del av en serie med apper for ansattengasjement som er tilgjengelige for nedlasting fra Startpakke for ansattopplevelser.
Forutsetning
- Du må ha tilgang til Azure Portal.
- Du må ha tillatelse til å opprette Azure-ressurser.
Obs!
Hvis du vil vise telemetriinformasjon, må leieradministratoren aktivere Lerretsappinnsikt. Logg deg på som administrator i administrasjonssenteret for Power Platform. Gå til Innstillinger > Leierinnstillinger > Lerretsappinnsikt. Sett veksleknappen til På og lagre endringene, i ruten Lerretsappinnsikt. Hvis du vil ha mer informasjon, kan du se Leierinnstillinger.
Valgfritt
- Last ned og Installer Kudos-appen fra Startpakke for ansattopplevelser. Du kan også bruke en eksisterende app i stedet.
Opprett en Application Insights-ressurs
Før du kan sende systemgenererte logger fra en app, må du opprette en Application Insights-ressurs for å lagre hendelsene.
Logg på Azure Portal.
Søk etter Application Insights:
Opprett en Application Insights-ressurs:
Angi de riktige verdiene, og velg deretter Se gjennom + opprett.
Hvis du vil ha mer informasjon, kan du lese Opprette en Application Insights-ressurs.
Når forekomsten Application Insights er opprettet, kopierer du instrumenteringsnøkkelen i forekomstoversikten for bruk i et kommende trinn.
Koble appene til Application Insights
Obs!
- Når du angir en instrumenteringsnøkkel, må du være oppmerksom på at data kan sendes mellom leiere. Sporingshendelser sendes til App Insights-ressursen som svarer til instrumenteringsnøkkelen du angir for appen, selv om målforekomsten av App Insights er i en annen leier enn appen.
- Vær forsiktig når du importerer eksisterende MSAPP-filer, siden instrumenteringsnøkler for App Insights kan finnes. Åpne appen manuelt etter import for å kontrollere at den riktige instrumenteringsnøkkelen for App Insights brukes.
Logg deg på Power Apps.
Velg Apper i venstre navigasjonsrute. Velg Kudos-appen fra listen over apper, og velg deretter Rediger:
Velg App-objektet i den venstre navigasjonstrevisningen, og lim inn instrumenteringsnøkkelen:
Lagre og publiser appen.
Spill av den publiserte appen og bla gjennom de forskjellige skjermbildene.
Etter hvert som du blar gjennom appskjermene, logges hendelser automatisk i Application Insights, inkludert bruksdetaljene, for eksempel følgende:
- Der appen åpnes fra
- Hvilke enheter som brukes
- Lesertypene som brukes
Viktig
Du må spille av den publiserte appen for å sende hendelser til Application Insights. Hendelser sendes ikke til Application Insights når du forhåndsviser appen i Power Apps Studio.
Vis hendelser i Application Insights
Logg på Azure Portal, og åpne Application Insights-ressursen du opprettet tidligere.
Bla ned i den venstre navigasjonsruten, og velg Brukere under Bruk.
Obs!
Brukere-visningen viser bruksdetaljer for appen, for eksempel følgende:
- Antall brukere som viste appen
- Antall brukerøkter
- Antall hendelser som ble logget
- Brukerens operativsystemer og leserversjonsdetaljer
- Brukerens region og sted
Lær mer om brukere, økter og hendelsesanalyse i Application Insights.
Velg én av brukerøktene for å drille inn i bestemte detaljer. Du kan se informasjon som øktlengde og skjermer som er besøkt:
Velg Hendelser-visningen i den venstre navigasjonsruten under Bruk. Du kan se et sammendrag av alle skjermene som vises på tvers av alle app-økter:
Tips
Flere Application Insights-funksjoner er tilgjengelige, for eksempel følgende:
Opprette egendefinerte sporingshendelser
Du kan skrive egendefinerte sporinger direkte til Application Insights og begynne å analysere informasjon som er spesifikk for ditt scenario. Trace-funksjonen gir deg muligheten til å samle inn følgende:
- Detaljert bruksinformasjon for kontroller på skjermene
- Hvilke bestemte brukere som har tilgang til appen din
- Hvilke feil som oppstår
Sporing programmet kan også hjelpe deg med å diagnostisere problemer fordi du kan sende mer informasjon etter hvert som brukerne blar gjennom appen og utfører forskjellige handlinger. Sporingsmeldinger som sendes til Application Insights, har en av tre sikkerhetshendelser:
- Informasjon
- Advarsel!
- Error
Avhengig av scenariet kan du velge å sende en sporingsmelding med riktig alvorlighetsgrad. Du kan spørre etter dataene og utføre bestemte handlinger basert på alvorsgraden.
Obs!
Hvis du logger på personlige data, må du være oppmerksom på dine forpliktelser med hensyn til forskjellige personvernregler og forskrifter. Se Microsoft Klareringssenter og Service Trust Portal hvis du vil ha mer informasjon.
Nå oppretter du en ny komponent i appen for å samle inn tilbakemeldinger på hvert skjermbilde og skrive hendelsene til Application Insights.
Logg deg på Power Apps.
Velg Apper i venstre navigasjonsrute. Velg Kudos-appen fra listen over apper, og velg deretter Rediger.
Velg Komponenter-alternativet i trevisningen:
Velg Ny komponent, og endre deretter bredden til 200 og høyden til 75:
Velg Sett inn fra menyen, og velg deretter Ikoner for å legge til Emoji – sint fjes og Emoji – smil:
Velg Ny egendefinert egenskap for å opprette en egendefinert egenskap:
Angi egenskapene Name og Display name, for eksempel FeedbackSceen.
Angi egenskapen Description.
Velg Egenskapstype som Inndata og Datatype som Skjerm:
Obs!
Inndataegenskap gjør det mulig å fange opp skjermnavnet og komponenten, slik at du kan logge denne informasjonen til Application Insights.
Velg komponenten i Trevisning, velg Flere handlinger (…), og velg deretter Gi nytt navn for å endre navnet på komponenten til et beskrivende navn, for eksempel FeedbackComponent.
Velg ikonene, velg Flere handlinger (…), og velg deretter Gi nytt navn for å gi nytt navn til ikonene med beskrivende navn, for eksempel FrownIcon og SmileIcon.
Velg FrownIcon, velg OnSelect -egenskapen, og skriv deretter inn følgende uttrykk på formellinjen:
Trace( "App Feedback", TraceSeverity.Information, { UserName: User().FullName, UserEmail: User().Email, Screen: FeedbackComponent.FeedbackScreen.Name, FeedbackValue: "-1" } ); Notify("Thanks for your feedback!");
Obs!
Formeluttrykket sender UserName, UserEmail, Screen og Feedback (med verdien -1) til Application Insights.
Velg SmileIcon, velg OnSelect -egenskapen, og skriv deretter inn følgende uttrykk på formellinjen:
Trace( "App Feedback", TraceSeverity.Information, { UserName: User().FullName, UserEmail: User().Email, Screen: FeedbackComponent.FeedbackScreen.Name, FeebackValue: "1" } ); Notify("Thanks for your feedback!");
Legg til komponenten i et av skjermbildene i appen:
Velg Lagre, og velg deretter Publiser for å lagre og publisere appen.
Spill av den publiserte appen, og send et smil og et sint fjes som tilbakemelding fra skjermene.
Viktig
Du må spille av den publiserte appen for å sende hendelser til Application Insights. Hendelser sendes ikke til Application Insights når du forhåndsviser appen i Power Apps Studio.
Analysere data i Application Insights
Du kan nå begynne å analysere dataene du sendte ved hjelp av Trace-funksjonen fra appen i Application Insights.
Logg på Azure Portal, og åpne Application Insights-ressursen du opprettet tidligere:
Velg Logger under Overvåking i den venstre navigasjonsruten:
Angi følgende spørring, og velg Kjør for å vise tilbakemeldingen mottatt fra appen:
traces | where message == "App Feedback" | order by timestamp
Velg en rad i resultatene, og utvid customDimensions-feltet.
Verdiene for Screen, UserName, UserEmail og FeedbackValue for OnSelect-hendelsen for ikonet for smil eller sint fjes i komponenten er registrert. Verdier er registrert for hver hendelse som sendes til Application Insights, for eksempel appId, appName og appSessionId.
Ved hjelp av følgende eksempelspørring kan du utvide egenskapene for de egendefinerte JSON-dimensjonene og projisere kolonnene i resultatvisningen.
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
Tips
Loggspørringer er svært kraftige. Du kan bruke dem til å sammenføye flere tabeller, aggregere store mengder data og utføre komplekse operasjoner. Finn ut mer om loggbruk.
Overvåke ubehandlede feil (eksperimentell)
[Denne delen inneholder dokumentasjon for forhåndsversjonen og kan bli endret.]
Viktig
- Dette er en eksperimentell funksjon.
- Eksperimentelle funksjoner er ikke ment for produksjonsbruk og kan ha begrenset funksjonalitet. Disse funksjonene er tilgjengelige før en offisiell utgivelse, slik at kunder kan få tidlig tilgang og gi tilbakemelding.
Du kan ikke alltid forvente og planlegge for alle feil som kan oppstå mens appen kjører. Ubehandlede Power Fx-formelfeil rapporteres til brukere som bannermeldinger. De kan også rapporteres til Application Insights for å hjelpe deg med å forstå hyppigheten og alvorsgraden deres, uten å være avhengig av at brukerne av appen rapporterer problemer. Du kan også konfigurere varsler i sanntid når det oppstår kjøretidsfeil for å få en mer proaktiv metode.
Aktivere feil ved passering til Application Insights
Du må aktivere innstillingen som tillater Power Apps å sende ubehandlede kjøretidsfeil til Azure Application Insights.
Advarsel
Aktivering av denne innstillingen kan medføre ekstra kostnader relatert til lagring av Application Insights-logger.
Hvis du vil aktivere feilpassering, går du til Innstillinger > Kommende funksjoner > Eksperimentell > Send feil til Azure Application Insights samtidig som du holder lerretsappen åpen for redigering. Lagre og publiser appen.
Feilhendelser i Application Insights
Ubehandlede Power Fx-feil som oppleves av brukere ved kjøretid for appen, rapporteres til sporingstabellen . Ubehandlede feil kan identifiseres og skilles fra andre feilhendelser med hendelsesmeldingen "Ubehandlet feil". Dimensjonen "severityLevel" i disse hendelsene er 3 (TraceSeverity.Error).
Detaljerte feilmeldinger vises i "feil"-dimensjonen for egenskapen customDimension. I situasjoner der det oppstod flere feil i samme operasjon, konsolideres feilene i "feil"-dimensjonen for en enkelt sporingshendelse. Feilmeldingene er de samme som rapportert i Overvåking under en direkte feilsøkingsøkt.
Følgende eksempelspørring identifiserer ubehandlede feil og utvider alle feilmeldinger som er inkludert i sporingshendelsen:
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
Korrelasjonssporing (eksperimentell)
[Denne delen inneholder dokumentasjon for forhåndsversjonen og kan bli endret.]
Viktig
- Dette er en eksperimentell funksjon.
- Eksperimentelle funksjoner er ikke ment for produksjonsbruk og kan ha begrenset funksjonalitet. Disse funksjonene er tilgjengelige før en offisiell utgivelse, slik at kunder kan få tidlig tilgang og gi tilbakemelding.
Tilkoblinger til eksterne data og tjenester er grunnleggende for de fleste apper. Korrelasjonssporing genererer og overfører kontekstinformasjon for å bli med i systemgenererte logger på tvers av en lerretsapp og tilkoblingene, med visse begrensninger. Appen kan for eksempel kalle opp en egendefinert kobling som igjen kaller en Azure-funksjon eller REST API. Korrelasjonssporing gjør det mulig å relatere handlinger som utføres i appen, med de underliggende API-kallene på tvers av lag. Dette kan være nyttige i feilsøking.
Korrelasjonssporing i lerretsapp er en implementering av kontekstsporing og følger W3C-spesifikasjonen.
Aktivere korrelasjonssporing
Advarsel
Aktivering av denne innstillingen kan medføre ekstra kostnader relatert til lagring av Application Insights-logger.
Hvis du vil aktivere funksjonen for korrelasjonssporing, går du til Innstillinger > Kommende funksjoner > Eksperimentell > Aktiver Azure Application Insights-korrelasjonssporing, samtidig som du holder lerretsappen åpen for redigering. Lagre og publiser appen.
Begrensninger
- Korrelasjonssporing er bare tilgjengelig for egendefinerte koblinger. Andre koblingstyper støttes ikke.
- HTTP-forespørsler registreres bare i Application Insights hvis den tilkoblede tjenesten også er koblet til Application Insights.
Bruke korrelasjonssporing
Når dette er aktivert, legger korrelasjonssporing til en ny systemgenerert logghendelse i avhengighets-tabellen i lerretsappens Application Insights-forekomst. Denne hendelsen registreres når et svar fra en nettverkssamtale mottas. Avhengighetshendelser registrerer detaljer om nettverkssamtalen, inkludert forespørsels- og svarhodene, svarstatuskode og varigheten av samtalen.
Hvis den tilkoblede tjenesten også er koblet til Application Insights, genereres det en ekstra systemgenerert logghendelse som fanger opp forespørselen, i forespørsel-tabellen for tjenestens Application Insights-forekomst. Noen Azure-tjenester, for eksempel Azure-funksjoner, kan kobles til uten koding fra Azure-portalen. Både lerretsappen eller flere apper og tilkoblede tjenester kan kobles til samme Application Insights-forekomst.
Nettverkskall for støttede koblinger kan kobles til andre systemgenererte logger på "operation_Id"-dimensjonen. Følgende eksempelspørring viser et nettverkskall som utføres sammen med sporingshendelser som sendes ut i en appøkt.
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
Eksportere data til Power BI
Du kan eksportere Application Insights-dataene og spørringsresultatene til Power BI for analyse og datapresentasjon.
Logg på Azure Portal, og åpne Application Insights-ressursen du opprettet tidligere:
Velg Logger under Overvåking i den venstre navigasjonsruten:
I spørringsvinduet for logganalyse velger du Eksporter-menyen.
Velg Eksporter til Power BI (M-spørring)-alternativet for å laste ned en Power BI-spørringsfil :
Åpne den nedlastede filen i et tekstredigeringsprogram, og kopier spørringen til utklippstavlen.
Åpne Power BI.
Velg Hent data på Hjem-båndet, og velg deretter Tom spørring:
Velg Avansert redigering i spørringsvinduet. Lim inn spørringen i vinduet, velg Fullført, og velg deretter Lukk og bruk:
Du kan også opprette diagrammer og visualiseringer i Power BI for å representere tilbakemeldinger som er mottatt i appen, og til å foreta databaserte avgjørelser og handlinger.
Standard hendelseskontekst og -dimensjoner for Trace
Et sett med standarddimensjoner blir også lagt til i customDimensions-egenskapen for hver sporingshendelse. Disse dimensjonene kan brukes til å identifisere program- og programøktene som hendelsene forekom i. Hvis du logger flere egendefinerte data ved hjelp av Trace-funksjonen, vises de også i de egendefinerte dimensjonene.
Dimensjonsnavn | Representerer |
---|---|
ms-appId | Program-ID-en til appen som sendte hendelsen. |
ms-appname | Programnavnet til appen som sendte hendelsen. |
ms-appSessionId | Programøkt-ID-en. Det kan hende at denne verdien ikke fylles ut i noen scenarioer. Når den er tilgjengelig, overstyrer denne verdien standard Application Insights-sessionID-dimensjon. |
ms-tenantID | Den unike identifikatoren for leieren der programmet publiseres. |
ms-environmentId | Navnet på miljøet der programmet publiseres. |
userId | En unik identifikator for brukeren som er knyttet til økten. |
ms-duration | En importert verdi som måler tiden det tar for en bruker å navigere fra et skjermbilde til et annet. Denne verdien overstyrer standard Application Insights PageView-varighetsdimensjon. |
sessionId | En økt-ID som kan brukes til å relatere alle hendelser tilknyttet én enkelt programøkt. Denne verdien er alltid til stede, og anbefales for forståelse av unike øktantall. Denne verdien tas fra spillerens økt-ID, og vises når du viser øktdetaljene mens du spiller appen. Økt-ID kan noen ganger få en standard, vilkårlig og unik Application Insights-generert verdi. Denne standardverdien er ikke pålitelig og samsvarer ikke med appspesifikke parametere. |
Varighet | En importert verdi som måler tiden det tar for en bruker å navigere fra et skjermbilde til et annet. Denne verdien er den samme som varigheten som rapporteres av ms-varighetsdimensjonen. |
ms-isTest | Angir om økten er knyttet til testløperen for Test Studio. |
ms-currentScreenName | Navnet på siden en bruker navigerer fra (presenter for sidenavigasjonshendelser). |
ms-targetScreenName | Navnet på siden en bruker navigerer til (presenter for sidenavigasjonshendelser). |
Scenarioer som ikke støttes
Application Insights støtter ikke følgende scenarioer.
- Frakoblede spillerhendelser fanges ikke opp.
- Mobilapphendelser (begge iOS og Android) fanges ikke opp når appen blir opphevet.
- GCC og ikke-offentlige skyer støttes ikke.
Obs!
Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)
Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).