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

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 og lagre endringene, i ruten Lerretsappinnsikt. Hvis du vil ha mer informasjon, kan du se Leierinnstillinger.

Valgfritt

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.

  1. Logg på Azure Portal.

  2. Søk etter Application Insights:

    Application Insights.

  3. Opprett en Application Insights-ressurs:

    Legg til en Application Insights-ressurs.

  4. Angi de riktige verdiene, og velg deretter Se gjennom + opprett.

    Hvis du vil ha mer informasjon, kan du lese Opprette en Application Insights-ressurs.

    Opprett en ressurs.

  5. Når forekomsten Application Insights er opprettet, kopierer du instrumenteringsnøkkelen i forekomstoversikten for bruk i et kommende trinn.

    Kopier instrumenteringsnøkkelen.

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.
  1. Logg deg på Power Apps.

  2. Velg Apper i venstre navigasjonsrute. Velg Kudos-appen fra listen over apper, og velg deretter Rediger:

    Rediger Kudos-app.

    Obs!

    Du kan også opprette en ny app eller redigere en eksisterende app i stedet.

  3. Velg App-objektet i den venstre navigasjonstrevisningen, og lim inn instrumenteringsnøkkelen:

    Legg til instrumenteringsnøkkelen.

  4. Lagre og publiser appen.

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

  1. Logg på Azure Portal, og åpne Application Insights-ressursen du opprettet tidligere.

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

  3. Velg én av brukerøktene for å drille inn i bestemte detaljer. Du kan se informasjon som øktlengde og skjermer som er besøkt:

    Bruksdetaljer for brukere.

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

    Hendelsesdetaljer for appen.

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.

  1. Logg deg på Power Apps.

  2. Velg Apper i venstre navigasjonsrute. Velg Kudos-appen fra listen over apper, og velg deretter Rediger.

    Obs!

    Du kan også opprette en ny app eller redigere en eksisterende app i stedet.

  3. Velg Komponenter-alternativet i trevisningen:

    Komponenter.

  4. Velg Ny komponent, og endre deretter bredden til 200 og høyden til 75:

    Høyde og bredde.

  5. Velg Sett inn fra menyen, og velg deretter Ikoner for å legge til Emoji – sint fjes og Emoji – smil:

    Legg til ikoner.

  6. Velg Ny egendefinert egenskap for å opprette en egendefinert egenskap:

    Opprett egendefinert egenskap.

  7. Angi egenskapene Name og Display name, for eksempel FeedbackSceen.

  8. Angi egenskapen Description.

  9. Velg Egenskapstype som Inndata og Datatype som Skjerm:

    Egendefinert egenskap.

    Obs!

    Inndataegenskap gjør det mulig å fange opp skjermnavnet og komponenten, slik at du kan logge denne informasjonen til Application Insights.

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

    Gi nytt navn til komponent og ikoner.

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

  12. 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!");
    

    Ikonformel for sint fjes.

    Obs!

    Formeluttrykket sender UserName, UserEmail, Screen og Feedback (med verdien -1) til Application Insights.

  13. 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!");
    
  14. Legg til komponenten i et av skjermbildene i appen:

    Legg til tilbakemeldingskomponent.

  15. Velg Lagre, og velg deretter Publiser for å lagre og publisere appen.

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

    Spill av publisert app.

Analysere data i Application Insights

Du kan nå begynne å analysere dataene du sendte ved hjelp av Trace-funksjonen fra appen i Application Insights.

  1. Logg på Azure Portal, og åpne Application Insights-ressursen du opprettet tidligere:

    Velg Application Insights.

  2. Velg Logger under Overvåking i den venstre navigasjonsruten:

    Velg logger.

  3. Angi følgende spørring, og velg Kjør for å vise tilbakemeldingen mottatt fra appen:

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

    Vis apptilbakemelding.

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

    Utvide egendefinerte dimensjoner.

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

    Utvide customDimensions-spørring.

    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.

Send feil til Azure Application Insights-innstilling.

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

Eksempel på utdata for eksempelspørring.

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.

Aktivere Azure Application Insights-korrelasjonssporing.

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.

Eksempel på hendelse som er logget i avhengighetstabellen.

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.

Eksempel på hendelse som er logget i forespørselstabellen.

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

Eksempel på utdata for den tidligere eksempelspørringen.

Eksportere data til Power BI

Du kan eksportere Application Insights-dataene og spørringsresultatene til Power BI for analyse og datapresentasjon.

  1. Logg på Azure Portal, og åpne Application Insights-ressursen du opprettet tidligere:

  2. Velg Logger under Overvåking i den venstre navigasjonsruten:

  3. I spørringsvinduet for logganalyse velger du Eksporter-menyen.

  4. Velg Eksporter til Power BI (M-spørring)-alternativet for å laste ned en Power BI-spørringsfil :

    Eksportere Power BI-spørring.

  5. Åpne den nedlastede filen i et tekstredigeringsprogram, og kopier spørringen til utklippstavlen.

  6. Åpne Power BI.

  7. Velg Hent dataHjem-båndet, og velg deretter Tom spørring:

    Power BI tom spørring.

  8. Velg Avansert redigering i spørringsvinduet. Lim inn spørringen i vinduet, velg Fullført, og velg deretter Lukk og bruk:

    Power BI avansert spørring.

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.

Diagrammer og visualiseringer.

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