Share via


Analysera systemgenererade loggar med Application Insights

Du kan ansluta din arbetsyteappar till Application Insights, en funktion i Azure Monitor. Application Insights innehåller kraftfulla verktyg för analys som hjälper dig att diagnostisera problem och för att förstå vad användarna faktiskt ska göra med dina appar. Du kan samla in information som hjälper dig att fatta bättre affärsbeslut och förbättra kvaliteten på dina appar.

I den här snabbstarten använder vi appen Kudos för att utforska begreppen systemgenererade loggar i appar och tillämpa dem på dina appar. Exempelappen Kudos ingår i en appsvit med medarbetarappar som kan laddas ned från Employee Experience Starter Kit.

Förutsättningar

Anteckning

För att se telemetriinformation måste din administratör i klientorganisationen aktivera Arbetsyteappinsikter. Logga in som administratör i Power Platform administrationscenter. Gå till Inställningar > Inställningar för klientorganisation > Arbetsyteappinsikter. I rutan Arbetsyteappinsikter och spara ändringarna i och spara dina ändringar. För mer information, se inställningar för klientorganisationen.

Valfri

Skapa en Application Insights-resurs

Innan du kan skicka systemgenererade loggar från en app måste du skapa en Application Insights-resurs för att lagra händelserna.

  1. Logga in på Azure-portal.

  2. Sök efter Application Insights:

    Application Insights.

  3. Skapa en Application Insights-resurs:

    Lägga till en Application Insights resurs.

  4. Ange lämpliga värden och välj Granska + skapa.

    Om du vill ha mer information kan du läsa skapa en Application Insights-resurs.

    Skapa en resurs.

  5. När Application Insights instansen har skapats kopierar du instrumenteringsnyckeln i instansöversikten för användning i ett kommande steg.

    Kopiera instrumentationsnyckel.

Anslut till din app till Application Insights

Anteckning

  • När du anger en instrumentnyckel bör du tänka på att data kan skickas över innehavare. Spårningshändelser skickas till App Insights resursen som motsvarar den instrumentnyckel du anger för appen, även om målinstansen App Insights finns i en annan klientorganisation än appen.
  • Var försiktig när du importerar befintliga .msapp-filer eftersom instrumenteringsnycklar för App Insights kan finnas. Öppna appen manuellt efter import för att kontrollera att rätt instrumentnyckel för App Insights används.
  1. Logga in på Power Apps.

  2. Välj Appar i vänstra navigeringsfönstret. Från listan med appar, välj appen Kudos och välj sedan Redigera:

    Redigera Kudos-app.

    Anteckning

    Du kan också skapa en ny app eller redigera en befintlig app i stället.

  3. Välj App objektet från vänster navigeringsträd och klistra in instrumentationsnyckel:

    Lägg till instrumentationsnyckel.

  4. Spara och Publicera din app.

  5. Spela upp den publicerade appen och bläddra mellan olika skärmar.

När du bläddrar igenom appens skärmar loggas händelser automatiskt till Application Insights, inklusive information om användning, t.ex.:

  • Varifrån appen öppnas från
  • Vilka enheter som används
  • De webbläsartyper som används

Viktigt

Du måste spela upp den publicerade appen för att kunna skicka händelser till Application Insights. Händelser skickas inte till Application Insights när du förhandsgranskar appen i Power Apps Studio.

Visa händelser i Application Insights

  1. Logga in på Azure-portalen och öppna Application Insights-resursen du skapade tidigare.

  2. Bläddra nedåt i den vänstra navigeringsrutan och välj användare under avsnittet användning.

    Anteckning

    Vyn Användare visar användningsinformation om appen, t.ex.:

    • Antalet användare som visade appen
    • Antal användarsessioner
    • Antal loggade händelser
    • Användares operativsystem och webbläsarens versionsdetaljer
    • Användarens region och plats

    Läs mer om användare, sessioner och händelseanalyser i Application Insights.

  3. Välj en av användarsessionerna om du vill visa detaljerad information. Du kan visa information om t.ex. sessionens längd och vilka skärmar som besöks:

    Användningsinformation för användare.

  4. Välj vyn Händelser i den vänstra navigeringsrutan under avsnittet Användning. Du kan visa en översikt över alla skärmar som visas för alla programsessioner:

    Händelseinformation för appen.

Dricks

Fler Application Insights funktioner är tillgängliga, till exempel:

Skapa anpassade spårningshändelser

Du kan skriva anpassade spårningar direkt till Application Insights och starta för att analysera information som är specifik för ditt scenario. Spårning-funktionen kan du samla in:

  • Detaljerad användningsinformation för kontroller på bildskärmarna
  • Vilka specifika användare som har åtkomst till din app
  • Vilka fel som inträffar

Spårningen kan också hjälpa dig att diagnosticera problem eftersom du kan skicka ett informationsmeddelande när användarna bläddrar igenom appen och utför olika åtgärder. Spårningsmeddelanden som skickas Application Insights med någon av tre allvarlighetsgrader:

  • Information
  • Varning
  • Error

Beroende på ditt scenario kan du välja att skicka ett spårningsmeddelande med rätt allvarlighetsgrad. Du kan fråga på data och utföra specifika åtgärder utifrån allvarlighetsgrad.

Anteckning

Om du loggar några personliga data bör du känna till dina åtaganden med avseende på olika sekretesslagar och regler. Mer information finns i Microsoft Trust Center och Service Trust Portal.

Skapa nu en ny komponent i appen för att inhämta feedback på varje skärm och skriva händelser till Application Insights.

  1. Logga in på Power Apps.

  2. Välj Appar i vänstra navigeringsfönstret. Från listan med appar, välj appen Kudos och välj sedan Redigera.

    Anteckning

    Du kan också skapa en ny app eller redigera en befintlig app i stället.

  3. Markera alternativet Komponenter i trädvyn:

    Komponenter.

  4. Välj ny komponent och ändra sedan bredden till 200 och höjd till 75:

    Höjd och bredd.

  5. Välj Infoga på menyn och välj sedan ikoner för att lägga till Emoji - bister och Emoji - glad:

    Lägga till ikoner.

  6. Välj ny anpassad egenskap för att skapa en anpassad egenskap:

    Skapa anpassad egenskap.

  7. Ange Namn och Visningsnamn för egenskap, t.ex. FeedbackSceen.

  8. Ange egenskapen Beskrivning.

  9. Välj Egenskapstyp som Indata och Dattyp som Skärm:

    Anpassad egenskap.

    Anteckning

    Med inmatningsegenskap kan du samla in skärmnamnet och dess komponent så att du kan logga informationen på Application Insights.

  10. Markera komponenten i Trädvyn, välj Fler åtgärder () och sedan välja Byt namn om du vill byta namn på komponenten med ett beskrivande namn som FeedbackComponent.

    Byta namn på komponenter och ikoner.

  11. Markera ikonerna, välj Fler åtgärder () och välj sedan Byt namn om du vill byta namn på ikonerna med meningsfulla namn som FrownIcon och SmileIcon.

  12. Välj FrownIcon, välj egenskapen OnSelect och ange sedan följande uttryck i formelfältet:

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

    Bister ikonformel.

    Anteckning

    Formeluttrycket skickar UserName, UserEmail, Skärm och Feedback (med värdet -1) till Application Insights.

  13. Välj SmileIcon, välj egenskapen OnSelect och ange sedan följande uttryck i formelfältet:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Lägg till komponenten till en av bildskärmarna i appen:

    Lägg till feedbackkomponent.

  15. Välj Spara och välj sedan Publicera för att spara och publicera appen.

  16. Spela upp den publicerade appen och skicka ett leende och en bister feedback från bildskärmarna.

    Viktigt

    Du måste spela upp den publicerade appen för att kunna skicka händelser till Application Insights. Händelser skickas inte till Application Insights när du förhandsgranskar appen i Power Apps Studio.

    Spela upp publicerad app.

Analysera data i Application Insights

Du kan nu börja analysera data som du har skickat med funktionen spåra från appen i Application Insights.

  1. Logga in på Azure-portalen och öppna Application Insights-resursen du skapade tidigare:

    Markera Application Insights.

  2. Välj loggar under övervakning i den vänstra navigeringsrutan:

    Välj loggar.

  3. Skriv följande fråga och välj Kör för att visa den feedback som fått från appen:

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

    Visa appfeedback.

  4. Markera en rad i resultatet och expandera fältet customDimensions.

    Värdena för Skärm, UserName, UserEmail och FeedbackValue för händelsen OnSelect av leende eller bistra ikonen i komponenten har registrerats. Värden registreras också för varje händelse som skickas till Application Insights, t.ex. appId, appName och appSessionId.

    Visa anpassade dimensioner.

  5. Med följande exempel fråga kan du utöka egenskaperna för de anpassade JSON-dimensionerna och projicera kolumnerna i resultatvyn.

    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
    

    Utöka customDimensions-fråga.

    Dricks

    Loggfrågor är mycket kraftfulla. Du kan använda dem för att koppla ihop flera tabeller, samla stora mängder data och utföra komplicerade åtgärder. Läs mer om loggfrågor.

Övervaka ohanterade fel (experimentellt)

[Det här avsnittet är en förhandsversion av dokumentationen och kan ändras.]

Viktigt

  • Det här är en experimentell funktion.
  • Experimentella funktioner är inte avsedda för produktionsanvändning och kan ha begränsad funktionalitet. Funktionerna är tillgängliga före den officiella publiceringen så att kunderna kan få tillgång tidigare och ge oss feedback.

Du kan inte alltid förutse och planera för alla fel som kan inträffa när appen körs. Ohanterade Power Fx formelfel rapporteras till användare som banderollmeddelanden. De kan också rapporteras till Application Insights för att hjälpa dig att förstå hur ofta och hur de fungerar utan att appens användare behöver rapportera problem. Du kan också ställa in realtidsaviseringar när körningsfel inträffar för att agera mer proaktivt.

Aktivera felpassning till Application Insights

Du måste aktivera inställningen som tillåter att Power Apps skickar ohanterade körningsfel till Azure Application Insights.

Varning

Om du aktiverar den här inställningen kan det medföra ytterligare kostnader för lagring av Application Insights loggar.

För att aktivera skicka fel, gå till Inställningar > Kommande funktioner > Experimentella > Skicka fel till Azure Application Insightssamtidigt som du håller din arbetsyteapp öppen för redigering. Spara och publicera din app.

Aktivera skicka fel till Azure Application Insights inställning.

Felhändelser i Application Insights

Ohanterade Power Fx fel som användarna upplever vid appkörningen rapporteras till tabellen spårning . Ohanterade fel kan identifieras och särskiljas från andra felhändelser av händelsemeddelandet "Ohanterat fel". Dimensionen "severityLevel" av dessa händelser är 3 (TraceSeverity.Error).

Detaljerade felmeddelanden finns i dimensionen "fel" i egenskapen customDimension. I situationer där flera fel inträffade under samma åtgärd konsolideras felen i "fel" för en enskild spårningshändelse. Felmeddelandena är desamma som de som rapporterades i Övervaka under en live felsökningssession.

I följande exempelfråga identifieras ohanterade fel och alla felmeddelanden som ingår i spårningshändelsen visas:

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

Exempel på utdata till exempel fråga.

Korrelationsspårning (experimentell)

[Det här avsnittet är en förhandsversion av dokumentationen och kan ändras.]

Viktigt

  • Det här är en experimentell funktion.
  • Experimentella funktioner är inte avsedda för produktionsanvändning och kan ha begränsad funktionalitet. Funktionerna är tillgängliga före den officiella publiceringen så att kunderna kan få tillgång tidigare och ge oss feedback.

Anslutningar till externa data och tjänster är grundläggande för de flesta appar. Korrelationsspårning genererar och sprider kontextinformation för att ansluta systemgenererade loggar över en canvas-app och dess anslutningar, med förbehåll för vissa begränsningar. Som ett exempel kan appen anropa en anpassad anslutning som i sin tur anropar en Azure-funktion eller en annan REST-API. Med hjälp av korrelationsspårning kan du korrelera åtgärder som vidtas i appen med de underliggande API-anropen på olika nivåer. Detta kan vara användbart vid felsökning.

Korrelationsspårning i arbetsyteapp är en implementering av kontextspårning och följer W3C-specifikationen.

Aktivera korrelationsspårning

Varning

Om du aktiverar den här inställningen kan det medföra ytterligare kostnader för lagring av Application Insights loggar.

För att aktivera funktionen korrelationsspårning, gå till Inställningar > Kommande funktioner > Experimentell > Aktivera Azure Application Insights korrelationsspårning medan du håller din arbetsyteapp öppen för redigering. Spara och publicera din app.

Aktivera Azure Application Insights korrelationsspårning.

Begränsningar

  • Korrelationsspårning är endast tillgänglig för anpassade anslutningsprogram. Andra anslutningstyper stöds inte.
  • HTTP-förfrågningar tas endast in i Application Insights om den anslutna tjänsten också är ansluten till Application Insights.

Använda korrelationsspårning

När funktionen är aktiverad läggs en ny systemgenererad logghändelse till i tabellen beroenden för arbetsyteappens Application Insights-instans. Händelsen registreras när ett svar från ett nätverkssamtal tas emot. Beroendehändelser samlar in information om nätverkssamtalet, inklusive begärans- och svarshuvuden, svarsstatuskod och varaktighet för samtalet.

Exempelhändelsen loggas i beroendetabellen.

Om den anslutna tjänsten också är ansluten till Application Insights skapas en ytterligare systemgenererad logghändelse som samlar in förfrågan i begäranstabellen i tjänstens Application Insights-instans. Vissa Azure-tjänster, som Azure Functions, kan anslutas utan programmering från Azure-portalen. Både arbetsyteappar och anslutna tjänster kan anslutas till samma Application Insights instans.

Exempelhändelsen loggas i förfrågantabellen.

Nätverksanrop för anslutningar som stöds kan kopplas samman med andra systemgenererade loggar på dimensionen "operation_Id". Följande exempelfråga visar ett nätverkssamtal som görs tillsammans med spårningshändelser som spåras under en appsession.

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

Exempel på utdata till tidigare exempel fråga.

Exportera data till Power BI

Du kan exportera Application Insights-data och frågeresultat till Power BI för analys och datapresentation.

  1. Logga in på Azure-portalen och öppna Application Insights-resursen du skapade tidigare:

  2. Välj loggar under övervakning i den vänstra navigeringsrutan:

  3. Från frågefönstret logganalys, välj menyn Exportera.

  4. Välj alternativet Exportera till Power BI (M-fråga) om du vill hämta en Power BI frågefil:

    Exportera Power BI fråga.

  5. Öppna den hämtade filen i en textredigerare och kopiera frågan till urklipp.

  6. Öppna Power BI.

  7. Välj Skaffa data i menyfliksområdet Start och välj sedan Tom fråga:

    Power BI tom fråga.

  8. Välj i frågefönstret Avancerad redigerare. Klistra in frågan i fönstret, välj klart och välj sedan Stäng och tillämpa:

    Power BI avancerad fråga.

Du kan även skapa diagram och visualiseringar i Power BI för att representera feedback som tas emot i appen och att fatta databaserade beslut och åtgärder.

Diagram och visualiseringar.

Standardkontext och dimensioner för spårningshändelser

En uppsättning standarddimensioner läggs också till i egenskapen customDimensions för varje spårningshändelse. De här dimensionerna kan användas för att identifiera appen och appsessionerna som händelserna inträffade i. Om du loggar ytterligare anpassade data med hjälp av funktionen spårning visas även de i de anpassade dimensionerna.

Dimensionsnamn Representerar
ms-appId App-ID för appen som skickade händelsen.
ms-appname Appnamn för namn för appen som skickade händelsen.
ms-appSessionId Appversionen-ID. Det här värdet kanske inte fylls i i vissa scenarier. När det är tillgängligt åsidosätter det här värdet standarddimensionen Application Insights sessionID.
ms-tenantID Den unika identifieraren för den klientorganisation där programmet publiceras.
ms-environmentId Miljöns namn för den klientorganisation där programmet publiceras.
Användar-ID En unik identifierare för användaren som är kopplad till sessionen.
ms-duration Ett imputerat värde som mäter den tid det tar för en användare att navigera från en skärm till en annan. Detta värde åsidosätter standarddimensionen Application Insights PageView-varaktighet.
sessionId Ett sessions-ID som kan användas för att korrelera alla händelser som är associerade med en enskild programsession. Det här värdet finns alltid och rekommenderas för att förstå unika sessionsantal. Värdet tas från spelarsessions-ID:t och visas när sessionsinformationen visas samtidigt som appen visas. Sessions-ID kan ibland få ett standardvärde, slumpmässigt och unikt Application Insights genererat värde. Det här standardvärdet är inte tillförlitligt och korrelerar inte med några appspecifika parametrar.
Tidslängd Ett imputerat värde som mäter den tid det tar för en användare att navigera från en skärm till en annan. Det här värdet är samma som varaktigheten som anges av ms-duration.
ms-isTest Anger om sessionen är associerad med Test Studio-testsessionen.
ms-currentScreenName Namnet på den sida som en användare navigerar från (närvarande för sidnavigeringshändelser).
ms-targetScreenName Namnet på den sida som en användare navigerar till (närvarande för sidnavigeringshändelser).

Scenarier som inte stöds

Application Insights stöder inte följande scenarier.

  • Offline spelarhändelser registreras inte.
  • Mobilapp händelser (både iOS och Android) registreras inte in när appen är pausad.
  • GCC- och icke-offentliga moln stöds inte.

Anteckning

Kan du berätta om dina inställningar för dokumentationsspråk? Svara i en kort undersökning. (observera att undersökningen är på engelska)

Undersökningen tar ungefär sju minuter. Inga personuppgifter samlas in (sekretesspolicy).