Door het systeem gegenereerde logboeken analyseren met behulp van Application Insights
U kunt uw uw canvas-app verbinden met Application Insights, een functie van Azure Monitor. Application Insights bevat krachtige analysehulpmiddelen om u te helpen bij het diagnosticeren van problemen en om te begrijpen wat gebruikers daadwerkelijk met uw apps doen. U kunt informatie verzamelen om u te helpen betere zakelijke beslissingen te nemen en de kwaliteit van uw apps te verbeteren.
In deze snelstartgids gebruiken we een canvas-app genaamd Kudo's om concepten van door het systeem gegenereerde logboeken in canvas-apps te verkennen en deze toe te passen op uw apps. De voorbeeld-app Kudo's maakt deel uit van een pakket met apps voor werknemersbetrokkenheid dat kan worden gedownload vanuit de Employee Experience Starter Kit.
Vereisten
- U moet toegang hebben tot de Azure Portal.
- U moet de machtigingen hebben om Azure-resources te maken.
Notitie
Als u telemetriegegevens wilt bekijken, moet uw tenantbeheerder Inzichten in canvas-app inschakelen. Meld u aan als beheerder bij het Power Platform-beheercentrum. Ga naar Instellingen > Tenantinstellingen > Inzichten in canvas-app. Stel in het deelvenster Inzichten in canvas-app de schakelaar in op Aan en sla uw wijzigingen op. Zie voor meer informatie Tenantinstellingen.
Optioneel
- Download en installeer de app Kudo's vanuit de Employee Experience Starter Kit. U kunt ook een bestaande app gebruiken.
Een Application Insights-resource maken
Voordat u door het systeem gegenereerde logboeken kunt verzenden vanuit een app, moet u een Application Insights-resource maken om de gebeurtenissen op te slaan.
Meld u aan bij de Azure Portal.
Zoeken naar Application Insights:
Een Application Insights-resource maken:
Voer de juiste waarden in en selecteer Bekijken + maken.
Lees voor meer informatie Een Application Insights-resource maken.
Nadat het Application Insights-exemplaar is gemaakt, kopieert u de instrumentatie sleutel in het exemplaaroverzicht voor gebruik in een volgende stap.
Uw app verbinden met Application Insights
Notitie
- Houd er bij het specificeren van een instrumentatiesleutel rekening mee dat gegevens tussen tenants kunnen worden verzonden. Traceringsgebeurtenissen worden verzonden naar de App Insights-resource die overeenkomt met de instrumentatiesleutel die u voor uw app hebt ingesteld, zelfs als het doel-App Insights-exemplaar zich in een andere tenant bevindt dan de app.
- Wees voorzichtig bij het importeren van bestaande .msapp-bestanden, aangezien instrumentatiesleutels voor App Insights aanwezig kunnen zijn. Open de app handmatig na het importeren om te controleren of de juiste App Insights-instrumentatiesleutel wordt gebruikt.
Meld u aan bij Power Apps.
Selecteer Apps in het linkernavigatievenster. Selecteer in de lijst met apps de app Kudo's en selecteer vervolgens Bewerken:
Selecteer het object App in de linkernavigatiestructuurweergave en plak de instrumentatiesleutel:
Sla uw app op en publiceer deze.
Speel de gepubliceerde app en blader door de verschillende schermen.
Terwijl u door de app-schermen bladert, worden gebeurtenissen automatisch geregistreerd in Application Insights, inclusief gebruiksdetails zoals:
- Waar de app is geopend
- Welke apparaten worden gebruikt
- De gebruikte browsertypen
Belangrijk
U moet de gepubliceerde app spelen om gebeurtenissen naar Application Insights te verzenden. Gebeurtenissen worden niet verzonden naar Application Insights wanneer u een voorbeeld van de app bekijkt in Power Apps Studio.
Gebeurtenissen weergeven in Application Insights
Meld u aan bij de Azure Portal en open de Application Insights-resource die u eerder hebt gemaakt.
Scrol omlaag in het linkernavigatiedeelvenster en selecteer Gebruikers onder de sectie Gebruik.
Notitie
De weergave Gebruikers toont de gebruiksdetails van de app, zoals:
- Aantal gebruikers dat de app heeft bekeken
- Aantal gebruikerssessies
- Aantal geregistreerde gebeurtenissen
- Besturingssystemen en browserversiegegevens van de gebruikers
- Regio en locatie van de gebruikers
Selecteer een van de gebruikerssessies om in te gaan op specifieke details. U kunt informatie zien zoals de sessielengte en de bezochte schermen:
Selecteer de weergave Gebeurtenissen in het linkernavigatiedeelvenster onder de sectie Gebruik. U kunt een overzicht zien van alle schermen die in alle app-sessies zijn bekeken:
Tip
Er zijn meer Application Insights-functies beschikbaar, zoals:
Aangepaste traceringsgebeurtenissen maken
U kunt aangepaste traceringen rechtstreeks naar schrijven Application Insights en beginnen met het analyseren van informatie die specifiek is voor uw scenario. Met de functie Trace kunt u het volgende verzamelen:
- Gedetailleerde gebruiksinformatie voor besturingselementen op de schermen
- Welke specifieke gebruikers toegang hebben tot uw app
- Welke fouten optreden
Traceringen kunnen u ook helpen bij het diagnosticeren van problemen, omdat u een spoor van informatie kunt sturen terwijl uw gebruikers door uw app bladeren en verschillende acties uitvoeren. Traceerberichten die zijn verzonden naar Application Insights hebben een van de volgende drie urgentieniveaus:
- Gegevens
- Waarschuwing
- Error
Afhankelijk van uw scenario kunt u ervoor kiezen om een traceringsbericht met de juiste ernst te verzenden. U kunt de gegevens opvragen en specifieke acties ondernemen op basis van de ernst.
Notitie
Als u persoonsgegevens vastlegt, wees u dan bewust van uw verplichtingen met betrekking tot diverse privacywet- en regelgeving. Verwijs naar het Microsoft Vertrouwenscentrum en de Service Trust Portal voor meer informatie.
Maak nu een nieuw onderdeel in uw app om feedback te verzamelen op elk scherm en schrijf de gebeurtenissen weg naar Application Insights.
Meld u aan bij Power Apps.
Selecteer Apps in het linkernavigatievenster. Selecteer in de lijst met apps de app Kudo's en selecteer vervolgens Bewerken.
Selecteer de optie Onderdelen in de Structuurweergave:
Selecteer Nieuw onderdeel en wijzig vervolgens de breedte naar 200 en hoogte naar 75:
Selecteer Invoegen in het menu en selecteer vervolgens Pictogrammen om Emoji - Frons en Emoji - Glimlach toe te voegen:
Selecteer Nieuwe aangepaste eigenschap om een aangepaste eigenschap te maken:
Voer de Naam en Weergavenaam van de eigenschap in, zoals FeedbackScreen.
Beschrijving van eigenschap invoeren
Selecteer Eigenschapstype als Invoer en Gegevenstype als Scherm:
Notitie
Met de eigenschap Invoer kunt u de schermnaam en het bijbehorende onderdeel vastleggen, zodat u deze informatie kunt registreren in Application Insights.
Selecteer het onderdeel in de Structuurweergave, selecteer Meer acties (…) en selecteer vervolgens Naam wijzigen om het onderdeel een andere naam te geven, zoals FeedbackComponent.
Selecteer de pictogrammen, selecteer Meer acties (…) en selecteer vervolgens Naam wijzigen om de pictogrammen een andere naam te geven, zoals FrownIcon en SmileIcon.
Selecteer FrownIcon, selecteer de eigenschap OnSelect en voer vervolgens de volgende uitdrukking in de formulebalk in:
Trace( "App Feedback", TraceSeverity.Information, { UserName: User().FullName, UserEmail: User().Email, Screen: FeedbackComponent.FeedbackScreen.Name, FeedbackValue: "-1" } ); Notify("Thanks for your feedback!");
Notitie
De formule-uitdrukking verzendt UserName, UserEmail, Scherm en Feedback (met de waarde -1) naar Application Insights.
Selecteer SmileIcon, selecteer de eigenschap OnSelect en voer vervolgens de volgende uitdrukking in de formulebalk in:
Trace( "App Feedback", TraceSeverity.Information, { UserName: User().FullName, UserEmail: User().Email, Screen: FeedbackComponent.FeedbackScreen.Name, FeebackValue: "1" } ); Notify("Thanks for your feedback!");
Het onderdeel toevoegen aan een van de schermen in uw app:
Selecteer Opslaan en selecteer vervolgens Publiceren om uw app op te slaan en te publiceren.
Speel de gepubliceerde app en stuur een glimlach en frons als feedback vanaf uw schermen.
Belangrijk
U moet de gepubliceerde app spelen om gebeurtenissen naar Application Insights te verzenden. Gebeurtenissen worden niet verzonden naar Application Insights wanneer u een voorbeeld van de app bekijkt in Power Apps Studio.
Gegevens analyseren in Application Insights
U kunt nu beginnen met het analyseren van de gegevens die u hebt verzonden met de functie Trace van uw app in Application Insights.
Meld u aan bij de Azure Portal en open de Application Insights-resource die u eerder hebt gemaakt:
Selecteer Logboeken onder Toezicht houden in het linkernavigatiedeelvenster:
Voer de volgende vraag in en selecteer Uitvoeren om de ontvangen feedback van uw app te bekijken:
traces | where message == "App Feedback" | order by timestamp
Selecteer een rij in de resultaten en breid het veld customDimensions uit.
De waarden voor Scherm, UserName, UserEmail en FeedbackBalue voor de gebeurtenis OnSelect van de glimlach- of het fronspictogram in uw onderdeel zijn opgenomen. Er worden ook waarden geregistreerd voor elke gebeurtenis die naar Application Insights is verzonden, zoals appId, appName en appSessionId.
Met de volgende voorbeeldquery kunt u de eigenschappen van de aangepaste JSON-afmetingen uitbreiden en de kolommen in de resultatenweergave projecteren.
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
Tip
Logboekquery's zijn zeer krachtig. U kunt ze gebruiken om meerdere tabellen samen te voegen, grote hoeveelheden gegevens te combineren en complexe bewerkingen uit te voeren. Meer informatie over logboekquery's.
Niet-verwerkte fouten controleren (experimenteel)
[Deze sectie bevat bètadocumentatie en kan gewijzigd worden.]
Belangrijk
- Dit is een experimentele functie.
- Experimentele functies zijn niet bedoeld voor productiegebruik en bieden mogelijk beperkte functionaliteit. Deze functies zijn beschikbaar vóór een officiële release zodat klanten vroeg toegang kunnen krijgen en feedback kunnen geven.
U kunt niet altijd anticiperen op en plannen maken voor alle fouten die kunnen optreden terwijl uw app actief is. Niet-verwerkte Power Fx-formulefouten worden als bannerberichten aan gebruikers gerapporteerd. Ook kunnen ze worden gemeld aan Application Insights om u te helpen de frequentie en ernst ervan te begrijpen zonder erop te vertrouwen dat de gebruikers van uw app problemen zullen melden. U kunt ook real-time waarschuwingen instellen wanneer er runtime-fouten optreden om een meer proactieve aanpak te volgen.
Fouten doorgeven aan Application Insights inschakelen
U moet de instelling inschakelen die Power Apps toestaat om niet-verwerkte runtime-fouten door te geven aan Azure Application Insights.
Waarschuwing
Het inschakelen van deze instelling kan extra kosten met zich meebrengen in verband met de opslag van Application Insights-logboeken.
U kunt doorgeven van fouten inschakelen door naar Instellingen > Aanstaande functies > Experimenteel > Fouten doorgeven aan Azure Application Insights te gaan terwijl u uw canvas-app open houdt voor bewerking. Sla uw app op en publiceer deze.
Foutgebeurtenissen in Application Insights
Niet-verwerkte Power Fx-fouten die gebruikers ervaren tijdens het uitvoeren van de app, worden gerapporteerd aan de tabel traceringen. Niet-verwerkte fouten kunnen worden geïdentificeerd en onderscheiden van andere foutgebeurtenissen door het gebeurtenisbericht 'Niet-verwerkte fout'. De "severityLevel"-dimensie van deze gebeurtenissen is 3 (TraceSeverity.Error).
Gedetailleerde foutberichten worden gegeven in de 'fouten'-dimensie van de eigenschap customDimension. In situaties waarin meerdere fouten zijn opgetreden tijdens dezelfde bewerking, worden de fouten geconsolideerd in de dimensie "fouten" van een enkele traceergebeurtenis. De foutmeldingen zijn dezelfde als gerapporteerd in Controleren tijdens een live foutopsporingssessie.
De volgende voorbeeldquery identificeert niet-verwerkte fouten en vouwt alle foutberichten uit die zijn opgenomen in de traceergebeurtenis:
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
Correlatietracering (experimenteel)
[Deze sectie bevat bètadocumentatie en kan gewijzigd worden.]
Belangrijk
- Dit is een experimentele functie.
- Experimentele functies zijn niet bedoeld voor productiegebruik en bieden mogelijk beperkte functionaliteit. Deze functies zijn beschikbaar voor een officiële release zodat klanten vroeg toegang kunnen krijgen en feedback kunnen geven.
Verbindingen met externe gegevens en services zijn van fundamenteel belang voor de meeste apps. Correlatietracering genereert en verspreidt contextinformatie om door het systeem gegenereerde logboeken samen te voegen in een canvas-app en zijn verbindingen, afhankelijk van bepaalde beperkingen. Uw app kan bijvoorbeeld een aangepaste connector aanroepen die op zijn beurt een Azure-functie of andere REST-API aanroept. Met correlatietracering kunt u acties in de app correleren met de onderliggende API-aanroepen op verschillende niveaus. Dit kan van pas komen bij probleemoplossing.
Correlatietracering van canvas-apps is een implementatie van contexttracering en volgt de W3C-specificatie.
Correlatietracering inschakelen
Waarschuwing
Het inschakelen van deze instelling kan extra kosten met zich meebrengen in verband met de opslag van Application Insights-logboeken.
Om de functie voor het traceren van correlaties in te schakelen, gaat u naar Instellingen > Aankomende functies > Experimenteel > Correlatietreacering van Azure Application Insights inschakelen terwijl u uw canvas-app open houdt voor bewerking. Sla uw app op en publiceer deze.
Beperkingen
- Correlatietracering is alleen beschikbaar voor aangepaste connectors. Andere connectortypen worden niet ondersteund.
- HTTP-aanvragen worden alleen vastgelegd in Application Insights als de aangesloten service ook is verbonden met Application Insights.
Correlatietracering gebruiken
Indien ingeschakeld, voegt correlatietracering een nieuwe door het systeem gegenereerde logboekgebeurtenis toe aan de tabel afhankelijkheden van het Application Insights-exemplaar van de canvas-app. Deze gebeurtenis wordt geregistreerd op het moment dat een antwoord van een netwerkoproep wordt ontvangen. Afhankelijkheidsgebeurtenissen leggen details van de netwerkaanroep vast, inclusief de aanvraag- en responsheaders, de responsstatuscode en de duur van de aanroep.
Als de aangesloten service ook is verbonden met Application Insights, wordt een extra door het systeem gegenereerde logboekgebeurtenis die de aanvraag vastlegt, gegenereerd in de tabel aanvragen van het Application Insights-exemplaar van de service. Sommige Azure-services, zoals Azure Functions, kunnen worden verbonden zonder enige codering van de Azure-portal. Zowel de canvas-app als meerdere apps en verbonden services kunnen worden verbonden met hetzelfde Application Insights-exemplaar.
Netwerkoproepen voor ondersteunde connectors kunnen worden samengevoegd met andere door het systeem gegenereerde logboeken in de dimensie "operation_Id". De volgende voorbeeldquery laat zien dat er een netwerkoproep wordt gedaan naast traceergebeurtenissen die tijdens een app-sessie worden verzonden.
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
Gegevens exporteren naar Power BI
U kunt uw Application Insights-gegevens en -queryresultaten exporteren naar Power BI voor analyse en gegevenspresentatie.
Meld u aan bij de Azure Portal en open de Application Insights-resource die u eerder hebt gemaakt:
Selecteer Logboeken onder Toezicht houden in het linkernavigatiedeelvenster:
Selecteer het menu Exporteren in het queryvenster Log Analytics.
Selecteer de optie Exporteren naar Power BI (M-query) om een Power BI-querybestand te downloaden:
Open het gedownloade bestand in een teksteditor en kopieer de query naar het klembord.
Power BI openen.
Selecteer het menu Gegevens ophalen in het lint Start en selecteer vervolgens Lege query:
Selecteer in het queryvenster Geavanceerde editor. Plak de query in het venster en selecteer Gereed en selecteer vervolgens Sluiten en toepassen:
U kunt ook grafieken en visualisaties maken in Power BI om feedback te presenteren die in uw app is ontvangen en om op gegevens gebaseerde beslissingen en acties te nemen.
Standaard Trace-gebeurteniscontext en -dimensies
Er wordt ook een set standaardafmetingen toegevoegd aan het eigenschap customDimensions voor elke Trace-gebeurtenis. Deze afmetingen kunnen worden gebruikt om de toepassing en toepassingssessies te identificeren waarin de gebeurtenissen plaatsvonden. Als u aanvullende aangepaste gegevens registreert met de functie Trace, worden deze ook weergegeven in de aangepaste afmetingen.
Dimensienaam | Staat voor |
---|---|
ms-appId | De toepassings-id van de app die de gebeurtenis heeft verzonden. |
ms-appname | De toepassingsnaam van de app die de gebeurtenis heeft verzonden. |
ms-appSessionId | De sessie-id van de toepassing. Deze waarde wordt mogelijk niet ingevuld in sommige scenario's. Indien beschikbaar, overschrijft deze waarde de standaarddimensie sessionID van Application Insights. |
ms-tenantID | De unieke id van de tenant waar de toepassing wordt gepubliceerd. |
ms-environmentId | De naam van de omgeving waar de toepassing wordt gepubliceerd. |
userId | Een unieke id voor de gebruiker die aan de sessie is gekoppeld. |
ms-duration | Een toegerekende waarde die de tijd meet die een gebruiker nodig heeft om van het ene scherm naar het andere te navigeren. Deze waarde overschrijft de standaarddimensie voor duur, PageView, in Application Insights. |
sessionId | Een sessie-id die kan worden gebruikt om alle gebeurtenissen te correleren die zijn gekoppeld aan één toepassingssessie. Deze waarde is altijd aanwezig en wordt aanbevolen om inzicht te krijgen in het aantal unieke sessies. Deze waarde wordt ontleend aan de sessie-id van de speler en wordt weergegeven bij het bekijken van de sessiedetails tijdens het spelen van de app. De sessie-id kan soms een standaard, willekeurig en uniek Application Insights-gegenereerde waarde krijgen. Deze standaardwaarde is niet betrouwbaar en is niet gerelateerd aan app-specifieke parameters. |
Duur | Een toegerekende waarde die de tijd meet die een gebruiker nodig heeft om van het ene scherm naar het andere te navigeren. Deze waarde is gelijk aan de duur die wordt gerapporteerd door de dimensie ms-duration. |
ms-isTest | Geeft aan of de sessie is gekoppeld aan de Test Studio-testrunner. |
ms-currentScreenName | De naam van de pagina waar een gebruiker vandaan navigeert (aanwezig voor paginanavigatiegebeurtenissen). |
ms-targetScreenName | De naam van de pagina waar een gebruiker naartoe navigeert (aanwezig voor paginanavigatiegebeurtenissen). |
Niet-ondersteunde scenario's
Application Insights ondersteunt de volgende scenario's niet.
- Gebeurtenissen van offline spelers worden niet vastgelegd.
- Gebeurtenissen in mobiele apps (zowel iOS als Android) worden niet vastgelegd wanneer de app wordt opgeschort.
- GCC en niet-openbare clouds worden niet ondersteund.
Notitie
Laat ons uw taalvoorkeuren voor documentatie weten! Beantwoord een korte enquête. (houd er rekening mee dat deze in het Engels is)
De enquête duurt ongeveer zeven minuten. Er worden geen persoonlijke gegevens verzameld (privacyverklaring).