Partage via


Analyser les journaux générés par le système à l’aide de Application Insights

Vous pouvez connecter vos applications canevas avec Application Insights, une fonctionnalité de Azure Monitor. Application Insights comprend de puissants outils d’analyse pour vous aider à diagnostiquer les problèmes et à comprendre ce que les utilisateurs font réellement avec vos applications. Vous pouvez collecter des informations pour vous aider à prendre de meilleures décisions commerciales et à améliorer la qualité de vos applications.

Dans ce guide de démarrage rapide, nous utilisons une application canevas appelée Kudos pour explorer les concepts de journaux générés par le système dans les applications canevas et les appliquer à vos applications. L’exemple d’application Kudos fait partie d’une suite d’applications d’engagement des employés qui peuvent être téléchargées à partir du starter kit Employee Experience.

Conditions préalables

Notes

Pour voir les informations de télémétrie, votre administrateur de clients doit activer Informations sur l’application canevas. Connectez-vous en tant qu’administrateur au centre d’administration Power Platform. Accédez à Paramètres > Paramètres du client > Informations sur l’application canevas. Dans le volet Informations sur l’application canevas, définissez le bouton bascule sur Activé et enregistrez vos modifications. Pour plus d’informations, consultez Paramètres du client.

Facultatif

Créer une ressource Application Insights

Avant de pouvoir envoyer les journaux générés par le système depuis une application, vous devez créer une ressource Application Insights pour stocker les événements.

  1. Connectez-vous au portail Azure.

  2. Recherchez Application Insights :

    Application Insights.

  3. Créez une ressource Application Insights :

    Ajouter une ressource Application Insights.

  4. Saisissez les valeurs appropriées et sélectionnez Évaluer + créer.

    Pour plus de détails, consultez l’article Créer une ressource Application Insights.

    Créer une ressource.

  5. Une fois l’instance Application Insights créée, copiez la Clé d’instrumentation dans la vue d’ensemble de l’instance pour une utilisation dans une étape suivante.

    Copier la clé d’instrumentation.

Connecter votre application à Application Insights

Notes

  • Lorsque vous spécifiez une clé d’instrumentation, sachez que les données peuvent être envoyées entre les locataires. Les événements de trace sont envoyés à la ressource App Insights qui correspond à la clé d’instrumentation que vous avez définie pour votre application, même si l’instance App Insights cible se trouve dans un autre locataire que l’application.
  • Soyez prudent lors de l’importation de fichiers .msapp existants, car des clés d’instrumentation pour App Insights peuvent être présentes. Ouvrez manuellement l’application après l’importation pour vérifier que la clé d’instrumentation App Insights correcte est utilisée.
  1. Connectez-vous à Power Apps.

  2. Cliquez sur Applications dans le volet de navigation de gauche. Depuis la liste d’applications, sélectionnez l’application Kudos, puis sélectionnez Modifier :

    Modifier l’application Kudos.

    Notes

    Vous pouvez également créer une nouvelle application ou modifier une application existante en lieu et place.

  3. Sélectionnez l’objet Application dans l’arborescence de navigation de gauche et collez la Clé d’instrumentation :

    Ajouter une clé d’instrumentation.

  4. Enregistrez et Publiez votre application.

  5. Lancez l’application publiée et parcourez différents écrans.

Lorsque vous parcourez les écrans de l’application, les événements sont automatiquement enregistrés dans Application Insights, y compris les détails d’utilisation tels que :

  • L’emplacement d’accès de l’application
  • Les appareils utilisés
  • Les types de navigateur utilisés

Important

Vous devez lire l’application publiée pour envoyer des événements à Application Insights. Les événements ne sont pas envoyés à Application Insights lorsque vous prévisualisez l’application dans Power Apps Studio.

Afficher les événements dans Application Insights

  1. Connectez-vous au  Portail Azure et ouvrez la ressource Application Insights que vous avez créée plus tôt.

  2. Faites défiler vers le bas dans le volet de navigation de gauche et sélectionnez Utilisateurs sous la section Utilisation.

    Notes

    La vue Utilisateurs affiche les détails d’utilisation de l’application, tels que :

    • Le nombre d’utilisateurs ayant consulté l’application
    • Le nombre de sessions utilisateur
    • Le nombre d’événements journalisés
    • Les systèmes d’exploitation et les détails de la version du navigateur des utilisateurs
    • La région et l’emplacement des utilisateurs

    En savoir plus sur l’analyse des utilisateurs, des sessions et des événements dans Application Insights.

  3. Sélectionnez l’une des sessions utilisateur pour explorer des détails spécifiques. Vous pouvez voir des informations telles que la durée de la session et les écrans visités :

    Détails d’utilisation pour les utilisateurs.

  4. Sélectionnez la vue Événements dans le volet de navigation sous la section Utilisation. Vous pouvez voir un résumé de tous les écrans affichés dans toutes les sessions d’application :

    Détails de l’événement pour l’application.

Conseil

Plus de fonctionnalités Application Insights sont disponibles, telles que :

Créer des événements de trace personnalisés

Vous pouvez écrire des traces personnalisées directement dans Application Insights et commencer à analyser les informations spécifiques à votre scénario. La fonction Trace vous permet de collecter :

  • Informations d’utilisation granulaires pour les commandes sur les écrans
  • Les utilisateurs spécifiques qui accèdent à votre application
  • Les erreurs qui se produisent

Grâce au traçage, diagnostiquez également les problèmes, car vous pouvez envoyer une trace d’informations comme vos utilisateurs parcourent votre application et effectuent différentes actions. Les messages Trace envoyés à Application Insights ont l’une des trois niveaux de gravité :

  • Information
  • Avertissement 
  • Error

Selon votre scénario, vous pouvez choisir d’envoyer un message de trace avec la gravité appropriée. Vous pouvez interroger les données et prendre des actions spécifiques en fonction de la gravité.

Notes

Si vous enregistrez des données personnelles, soyez conscient de vos obligations en ce qui concerne les diverses lois et réglementations sur la confidentialité. Se référer au Centre de gestion de la confidentialité Microsoft et au Portail d’approbation de services pour plus d’informations.

Vous allez maintenant créer un composant dans votre application pour recueillir les commentaires sur chaque écran, et écrire les événements vers Application Insights.

  1. Connectez-vous à Power Apps.

  2. Cliquez sur Applications dans le volet de navigation de gauche. Depuis la liste d’applications, sélectionnez l’application Kudos, puis sélectionnez Modifier.

    Notes

    Vous pouvez également créer une nouvelle application ou modifier une application existante en lieu et place.

  3. Sélectionnez l’option Composants sur l’Arborescence :

    Composants.

  4. Sélectionnez Nouveau composant, puis redimensionnez la largeur sur 200 et la hauteur sur 75 :

    Hauteur et largeur.

  5. Sélectionnez Insérer dans le menu, puis sélectionnez Icônes pour ajouter Emoji – Frown et Emoji – Smile :

    Ajouter des icônes.

  6. Sélectionnez Nouvelle propriété personnalisée pour créer une propriété personnalisée :

    Créer une propriété personnalisée.

  7. Saisissez le Nom et le Nom complet de la propriété, tel que FeedbackSceen.

  8. Saisissez la Description de la propriété.

  9. Sélectionnez Type de propriété comme Entrée et Type de données comme Écran :

    Propriété personnalisée.

    Notes

    La propriété Input vous permet de capturer le nom d’écran et son composant afin que vous puissiez enregistrer ces informations dans Application Insights.

  10. Sélectionnez le composant sur Arborescence, sélectionnez Plus d’actions (), puis sélectionnez Renommer pour renommer le composant avec un nom significatif tel que FeedbackComponent.

    Renommer le composant et les icônes.

  11. Sélectionnez les icônes, sélectionnez Plus d’actions (), puis sélectionnez Renommer pour renommer les icônes avec des noms significatifs, tels que FrownIcon et SmileIcon.

  12. Sélectionner FrownIcon, sélectionnez la propriété OnSelect, puis entrez l’expression suivante dans la barre de formule :

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

    Formule d’icône de froncement de sourcils.

    Notes

    L’expression de formule envoie les valeurs UserName, UserEmail, Écran et Feedback (avec la valeur -1) définie sur Application Insights.

  13. Sélectionner SmileIcon, sélectionnez la propriété OnSelect, puis entrez l’expression suivante dans la barre de formule :

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Ajoutez le composant à l’un des écrans de votre application :

    Ajouter le composant de commentaires.

  15. Sélectionnez Enregistrer, puis Publier pour enregistrer et publier votre application.

  16. Jouez à l’application publiée et envoyez des commentaires de type sourire et froncement de sourcils depuis vos écrans.

    Important

    Vous devez lire l’application publiée pour envoyer des événements à Application Insights. Les événements ne sont pas envoyés à Application Insights lorsque vous prévisualisez l’application dans Power Apps Studio.

    Lire l’application publiée.

Analyser des données dans Application Insights

Vous pouvez maintenant commencer à analyser les données que vous avez envoyées à l’aide de la fonction Trace à partir de votre application Application Insights.

  1. Connectez-vous au  Portail Azure et ouvrez la ressource Application Insights que vous avez créée plus tôt :

    Sélectionner Application Insights.

  2. Sélectionnez Journaux sous Surveillance dans le volet de navigation de gauche :

    Sélectionner Journaux.

  3. Entrez la requête suivante et sélectionnez Exécuter pour afficher les commentaires reçus de votre application :

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

    Afficher les commentaires de l’application.

  4. Sélectionnez une ligne dans les résultats et développez le champ customDimensions.

    Les valeurs pour Écran, Nom d’utilisateur, UserEmail et FeedbackValuepour l’événement OnSelect si l’icône de sourire ou de froncement de sourcils de votre composant a été enregistrée. Les valeurs sont également enregistrées pour chaque événement envoyé à Application Insights, comme appId, appName, et appSessionId.

    Développer les dimensions personnalisées.

  5. Avec l’exemple de requête suivant, vous pouvez étendre les propriétés des dimensions personnalisées JSON et projeter les colonnes dans la vue des résultats.

    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
    

    Étendre la requête customDimensions.

    Conseil

    Les requêtes de journaux sont extrêmement puissantes. Vous pouvez les utiliser pour joindre plusieurs tables, agréger de grandes quantités de données et effectuer des opérations complexes. En savoir plus sur les requêtes de journaux.

Surveiller les erreurs non gérées (expérimental)

[Cette section contient de la documentation en version préliminaire et peut faire l’objet de modifications.]

Important

  • Il s’agit d’une fonctionnalité expérimentale.
  • Les fonctionnalités expérimentales ne sont pas destinées à une utilisation en production et peuvent avoir des fonctionnalités restreintes. Ces fonctionnalités sont disponibles avant une publication officielle afin que les clients puissent y accéder de façon anticipée et fournir des commentaires.

Vous ne pouvez pas toujours anticiper et planifier toutes les erreurs susceptibles de se produire pendant l’exécution de votre application. Les erreurs de formule Power Fx non gérées sont signalées aux utilisateurs sous forme de messages de bannière. Elles peuvent également être signalées à Application Insights pour vous aider à comprendre leur fréquence et leur gravité sans compter sur les utilisateurs de votre application pour signaler les problèmes. Vous pouvez aussi configurer des alertes en temps réel lorsque des erreurs d’exécution se produisent pour adopter une approche plus proactive.

Activer la transmission d’erreurs à Application Insights

Vous devez activer le paramètre qui permet à Power Apps de transmettre les erreurs d’exécution non gérées à Azure Application Insights.

Avertissement

L’activation de ce paramètre peut entraîner des coûts supplémentaires liés au stockage des journaux Application Insights.

Pour activer la transmission d’erreurs, accédez à Paramètres > Fonctionnalités à venir > Expérimental > Transmettre les erreurs à Azure Application Insights tout en gardant votre application canevas ouverte pour modification. Enregistrez et publiez votre application.

Activez le paramètre Transmettre les erreurs à Azure Application Insights.

Événements d’erreur dans Application Insights

Les erreurs Power Fx non gérées par les utilisateurs lors de l’exécution de l’application sont signalées à la table des traces. Les erreurs non gérées peuvent être identifiées et distinguées des autres événements d’erreur par le message d’événement « Erreur non gérée ». La dimension « severityLevel » de ces événements est 3 (TraceSeverity.Error).

Des messages d’erreur détaillés sont fournis dans la dimension « errors » de la propriété customDimension. Dans les situations où plusieurs erreurs se sont produites au cours de la même opération, les erreurs sont consolidées dans la dimension « erreurs » d’un seul événement Trace. Les messages d’erreur sont les mêmes que ceux signalés dans Moniteur lors d’une session de débogage en direct.

L’exemple de requête suivant identifie les erreurs non gérées et développe tous les messages d’erreur inclus dans l’événement Trace :

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

Exemple de sortie pour l’exemple de requête.

Suivi de la corrélation (expérimental)

[Cette section contient de la documentation en version préliminaire et peut faire l’objet de modifications.]

Important

  • Il s’agit d’une fonctionnalité expérimentale.
  • Les fonctionnalités expérimentales ne sont pas destinées à une utilisation en production et peuvent avoir des fonctionnalités restreintes. Ces fonctionnalités sont disponibles avant une publication officielle afin que les clients puissent y accéder de façon anticipée et fournir des commentaires.

Les connexions aux données et services externes sont fondamentales pour la plupart des applications. Le traçage de corrélation génère et propage des informations contextuelles pour joindre les journaux générés par le système sur une application canevas et ses connexions, sous réserve de certaines limites. Par exemple, votre application peut appeler un connecteur personnalisé qui, à son tour, appelle une fonction Azure ou une autre API REST. Le traçage de corrélation vous permet de corréler les actions effectuées dans l’application avec les appels d’API sous-jacents à travers les niveaux. Cela peut être utile pour la résolution des problèmes.

Le traçage de corrélation d’application canevas est une implémentation du traçage contextuel et suit la spécification W3C.

Activer le suivi de la corrélation

Avertissement

L’activation de ce paramètre peut entraîner des coûts supplémentaires liés au stockage des journaux Application Insights.

Pour activer la fonction de suivi de la corrélation, accédez à Paramètres > Fonctionnalités à venir > Expérimental > Activer le suivi de la corrélation d’Azure Application Insights tout en conservant votre application canevas ouverte pour modification. Enregistrez et publiez votre application.

Activer le suivi de la corrélation d’Azure Application Insights.

Limitations

  • Le traçage de corrélation est disponible uniquement pour les connecteurs personnalisés. Les autres types de connecteurs ne sont pas pris en charge.
  • Les requêtes HTTP sont capturées dans Application Insights uniquement si le service connecté est également connecté à Application Insights.

Utilisation du suivi de la corrélation

Lorsqu’il est activé, le traçage de corrélation ajoute un nouvel événement de journal généré par le système dans la table dépendances de l’instance Application Insights de l’application canevas. Cet événement est enregistré au moment où une réponse d’un appel réseau est reçue. Les événements de dépendance capturent les détails de l’appel réseau, y compris les en-têtes de demande et de réponse, le code de statut de la réponse et la durée de l’appel.

Exemple d’événement consigné dans la table des dépendances.

Si le service connecté est également connecté à Application Insights, un événement de journal supplémentaire généré par le système capturant la demande est généré dans la table demandes de l’instance Application Insights du service. Certains services Azure, tels qu’Azure Functions, peuvent être connectés sans aucun codage à partir du portail Azure. L’application canevas ou plusieurs applications et services connectés peuvent être connectés à la même instance Application Insights.

Exemple d’événement consigné dans la table des demandes.

Les appels réseau pour les connecteurs pris en charge peuvent être joints à d’autres journaux générés par le système sur la dimension « operation_Id ». L’exemple de requête suivant montre un appel réseau effectué parallèlement aux événements Trace émis pendant une session d’application.

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

Exemple de sortie pour l’exemple de requête précédent.

Exporter des données vers Power BI

Vous pouvez exporter vos données Application Insights et les résultats des requêtes Power BI pour l’analyse et la présentation des données.

  1. Connectez-vous au  Portail Azure et ouvrez la ressource Application Insights que vous avez créée plus tôt :

  2. Sélectionnez Journaux sous Surveillance dans le volet de navigation de gauche :

  3. Dans la fenêtre de requête d’analyse de journal, sélectionnez le menu Exporter.

  4. Sélectionnez l’option Exporter vers Power BI (requête M) pour télécharger un fichier de requête Power BI :

    Exporter la requête Power BI.

  5. Ouvrez le fichier téléchargé dans un éditeur de texte et copiez la requête dans le presse-papiers.

  6. Ouvrir Power BI.

  7. Sélectionnez le menu Obtenir des données dans le ruban Accueil, puis sélectionnez Nouvelle requête :

    Nouvelle requête Power BI.

  8. Dans la fenêtre de requête, sélectionnez Éditeur de requête. Collez la requête dans la fenêtre, sélectionnez Terminé, puis sélectionnez Fermer et appliquer :

    Requête avancée Power BI.

Vous pouvez également créer des graphiques et des visualisations dans Power BI pour représenter les commentaires reçus dans votre application, ainsi que pour prendre des décisions et des actions basées sur des données.

Graphiques et visualisations.

Contexte et dimensions de l’événement de trace par défaut

Un ensemble de dimensions par défaut est également ajouté à la propriété customDimensions sur chaque événement Trace. Ces dimensions peuvent être utilisées pour identifier l’application et les sessions d’application dans lesquelles les événements se sont produits. Si vous enregistrez des données personnalisées supplémentaires à l’aide de la fonction Trace, elles apparaîtront également dans les dimensions personnalisées.

Nom de la dimension Représente
ms-appId L’ID d’application de l’application qui a envoyé l’événement.
ms-appname Le nom d’application de l’application qui a envoyé l’événement.
ms-appSessionId ID de session de l’application. Cette valeur peut ne pas être renseignée dans certains scénarios. Lorsqu’elle est disponible, cette valeur remplace la dimension standard sessionID d’Application Insights.
ms-tenantID L’identifiant unique du locataire où l’application est publiée.
ms-environmentId Le nom de l’environnement où l’application est publiée.
userId Identificateur unique de l’utilisateur associé à la session.
ms-duration Valeur imputée mesurant le temps nécessaire à un utilisateur pour naviguer d’un écran à un autre. Cette valeur remplace la dimension de durée standard PageView d’Application Insights.
sessionId Un ID de session qui peut être utilisé pour corréler tous les événements associés à une seule session d’application. Cette valeur est toujours présente et est recommandée pour comprendre le nombre de sessions uniques. Cette valeur est extraite de l’ID de session du lecteur et s’affiche lors de l’affichage des détails de la session pendant la lecture de l’application. L’ID de session peut parfois obtenir une valeur par défaut, aléatoire et unique, générée par Application Insights. Cette valeur par défaut n’est pas fiable et ne correspond à aucun paramètre spécifique à l’application.
Duration Valeur imputée mesurant le temps nécessaire à un utilisateur pour naviguer d’un écran à un autre. Cette valeur est identique à la durée indiquée par la dimension ms-duration.
ms-isTest Indique si la session est associée à l’exécuteur de test Test Studio.
ms-currentScreenName Le nom de la page à partir de laquelle un utilisateur navigue (présent pour les événements de navigation de page).
ms-targetScreenName Le nom de la page vers laquelle un utilisateur navigue (présent pour les événements de navigation de page).

Scénarios non pris en charge

Application Insights ne prend pas en charge les scénarios suivants.

  • Les événements du lecteur hors ligne ne sont pas capturés.
  • Les événements de l’application mobile (iOS et Android) ne sont pas capturés lorsque l’application est suspendue.
  • Les clouds GCC et non publics ne sont pas pris en charge.

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).