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
- Du måste ha åtkomst till Azure-portalen.
- Du måste ha behörighet för att skapa Azure-resurser.
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 På och spara dina ändringar. För mer information, se inställningar för klientorganisationen.
Valfri
- Hämta och installera appen Kudos från Employee Experience Starter Kit. Du kan också använda en befintlig app istället.
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.
Logga in på Azure-portal.
Sök efter Application Insights:
Skapa en Application Insights-resurs:
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.
När Application Insights instansen har skapats kopierar du instrumenteringsnyckeln i instansöversikten för användning i ett kommande steg.
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.
Logga in på Power Apps.
Välj Appar i vänstra navigeringsfönstret. Från listan med appar, välj appen Kudos och välj sedan Redigera:
Välj App objektet från vänster navigeringsträd och klistra in instrumentationsnyckel:
Spara och Publicera din app.
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
Logga in på Azure-portalen och öppna Application Insights-resursen du skapade tidigare.
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.
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:
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:
Tips
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.
Logga in på Power Apps.
Välj Appar i vänstra navigeringsfönstret. Från listan med appar, välj appen Kudos och välj sedan Redigera.
Markera alternativet Komponenter i trädvyn:
Välj ny komponent och ändra sedan bredden till 200 och höjd till 75:
Välj Infoga på menyn och välj sedan ikoner för att lägga till Emoji - bister och Emoji - glad:
Välj ny anpassad egenskap för att skapa en anpassad egenskap:
Ange Namn och Visningsnamn för egenskap, t.ex. FeedbackSceen.
Ange egenskapen Beskrivning.
Välj Egenskapstyp som Indata och Dattyp som Skärm:
Anteckning
Med inmatningsegenskap kan du samla in skärmnamnet och dess komponent så att du kan logga informationen på Application Insights.
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.
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.
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!");
Anteckning
Formeluttrycket skickar UserName, UserEmail, Skärm och Feedback (med värdet -1) till Application Insights.
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!");
Lägg till komponenten till en av bildskärmarna i appen:
Välj Spara och välj sedan Publicera för att spara och publicera appen.
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.
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.
Logga in på Azure-portalen och öppna Application Insights-resursen du skapade tidigare:
Välj loggar under övervakning i den vänstra navigeringsrutan:
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
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.
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
Tips
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.
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
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.
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.
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.
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
Exportera data till Power BI
Du kan exportera Application Insights-data och frågeresultat till Power BI för analys och datapresentation.
Logga in på Azure-portalen och öppna Application Insights-resursen du skapade tidigare:
Välj loggar under övervakning i den vänstra navigeringsrutan:
Från frågefönstret logganalys, välj menyn Exportera.
Välj alternativet Exportera till Power BI (M-fråga) om du vill hämta en Power BI frågefil:
Öppna den hämtade filen i en textredigerare och kopiera frågan till urklipp.
Öppna Power BI.
Välj Skaffa data i menyfliksområdet Start och välj sedan Tom fråga:
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:
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.
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).