Partager via


Comment collecter des journaux de diagnostic automatique pour les kits SDK Application Insights

Lorsque vous instrumentez une application via l’instrumentation automatique d’Application Insights ou une instrumentation manuelle avec un Kit de développement logiciel (SDK) Application Insights, vous pouvez rencontrer des problèmes avec le Kit de développement logiciel (SDK) Application Insights lui-même. Dans ce scénario, les journaux de diagnostic du Kit de développement logiciel (SDK) Application Insights sont nécessaires pour repérer et diagnostiquer les problèmes liés à Application Insights.

Cet article explique comment collecter des journaux de diagnostic automatique pour les kits SDK Application Insights suivants :

Kit de développement logiciel (SDK) Application Insights .NET/.NET Core Framework

À partir de la version 2.18.0-beta2 du Kit de développement logiciel (SDK) Application Insights .NET/.NET Core Framework, la fonctionnalité « auto-diagnostics » est fournie pour capturer les journaux à partir du SDK lui-même et les écrire dans un fichier journal dans un répertoire spécifié.

Configuration des diagnostics auto-diagnostics

Configurez les diagnostics auto-diagnostics à l’aide d’un fichier nommé ApplicationInsightsDiagnostics.json qui contient le contenu suivant :

{
    "LogDirectory": "<LogDirectory>",
    "FileSize": <FileSize>,
    "LogLevel": "<LogLevel>"
}

Note

  • Le fichier de configuration pour les auto-diagnostics doit avoir des paramètres valides pour que le Kit de développement logiciel (SDK) Application Insights .NET/.NET Core Framework soit analysé. Si le fichier n’est pas valide ou mal formé, le Kit de développement logiciel (SDK) l’ignore et les auto-diagnostics ne sont pas activés. Toutefois, cela n’affecte pas le fonctionnement normal de l’application surveillée.
  • Ce fichier de configuration ne doit pas dépasser 4 kilo-octets (Ko). Sinon, seuls les 4 premiers Ko de contenu seront lus.
  • Le Kit de développement logiciel (SDK) .NET/.NET Core Framework d’Application Insights tente de lire le fichier de configuration toutes les 10 secondes et de créer ou de remplacer de manière circulaire le fichier journal.

Voici quelques explications pour les paramètres de configuration :

Paramètres de configuration Description
LogDirectory Répertoire dans lequel le fichier journal est stocké. Il peut s’agir d’un chemin absolu ou d’un chemin relatif vers le répertoire de travail actuel de l’application web. Ce fichier journal est nommé YearMonthDay-HourMinuteSecond.ExecutableName.ProcessId.log, par exemple, 20220307-193542.w3wp.exe.7692.log. Le nom de fichier commence par l’horodatage généré lors de la création du fichier.
FileSize Entier positif qui spécifie la taille du fichier journal en Ko. Cette valeur doit être comprise entre 1 mégaoctet (Mo) et 128 Mo (inclus), ou elle est arrondie à la limite supérieure ou inférieure la plus proche. Le fichier journal ne dépasse pas cette taille maximale configurée.
LogLevel Niveau des événements à capturer. Cette valeur doit correspondre à l’un des champs du EventLevel. Les niveaux de gravité inférieurs incluent des niveaux de gravité plus élevés (par exemple, Warning inclut les niveaux et Critical les Error niveaux).

Auto-diagnostics pour une application web

Pour activer les auto-diagnostics, accédez au répertoire de travail actuel de l’application web et créez le fichier de configuration ApplicationInsightsDiagnostics.json.

Pour désactiver les diagnostics autonomes, supprimez le fichier de configuration. Même si l’application web est en cours d’exécution, vous pouvez activer ou désactiver les diagnostics automatiques sans avoir à redémarrer l’application.

Dans la plupart des cas, vous pouvez supprimer le fichier avec votre application. Voici deux façons de trouver le répertoire de travail actuel :

  • Dans Windows, utilisez l’Explorateur de processus.

    Ouvrez l’Explorateur de processus, sélectionnez le processus et ouvrez la boîte de dialogue Propriétés . Recherchez le répertoire actif sous Fichier image.

  • Appelez les méthodes et AppContext.BaseDirectory les GetCurrentDirectory méthodes pour obtenir le répertoire de travail actuel.

Auto-diagnostics pour l’application web App Service dans Windows

  1. Accédez à l’application web App Service à partir du Portail Azure.

  2. Accédez à la page Kudu en sélectionnant Advanced Tools>Go.

  3. Dans le tableau de bord Kudu, sélectionnez CmD de la console>débogage.

  4. Accédez au répertoire où se trouve l’application web App Service, par exemple D :\home\site\wwwroot.

  5. Utilisez le symbole «+ » en haut du tableau de bord Kudu pour créer un fichier dans le dossier wwwroot et le nommer pour ApplicationInsightsDiagnostics.json.

    Le fichier ApplicationInsightsDiagnostics.json doit être placé dans le <dossier drive> :\home\site\wwwroot . Toutes les applications web App Service ne résident pas sur le même lecteur. Certains peuvent être sur le lecteur C : et certains peuvent se trouver sur le lecteur D : . Pour le trouver, consultez le dossier site et les champs du dossier Temp à partir de la page Kudu par défaut.

    Capture d’écran montrant les champs « Dossier de site » et « Dossier temporaire ».

  6. Modifiez et ajoutez la configuration suivante au fichier ApplicationInsightsDiagnostics.json :

    {
        "LogDirectory": "<drive>:\home\site\wwwroot",
        "FileSize": 5120,
        "LogLevel": "Verbose"
    }
    

    Note

    Le LogDirectory paramètre doit être défini sur un emplacement sous <drive> :\home pour un accès facile, mais d’autres emplacements sont valides s’il y a suffisamment d’accès.

  7. Enregistrez le fichier.

    Après 10 secondes, un nouveau fichier journal, tel que 20220307-193542.w3wp.exe.7692.log, s’affiche dans le dossier wwwroot .

  8. Supprimez le fichier de configuration ou renommez-le en ApplicationInsightsDiagnostics.bak.

    Après 10 secondes, la journalisation s’arrête.

Diagnostics en libre-service pour l’application web App Service dans Linux

  1. Sur votre ordinateur local, créez un fichier et nommez-le pour ApplicationInsightsDiagnostics.json.

  2. Modifiez le fichier et ajoutez le contenu suivant :

    {
        "LogDirectory": ".",
        "FileSize": 5120,
        "LogLevel": "Verbose"
    } 
    
  3. Enregistrez le fichier.

  4. Accédez à l’application web App Service à partir du Portail Azure.

  5. Accédez à la page Kudu en sélectionnant Advanced Tools>Go.

  6. Lorsque la session du navigateur démarre, ajoutez /newui à la fin de l’URL. L’URL dans le navigateur doit ressembler https://<appname>.scm.azurewebsites.net/newuià .

  7. Appuyez sur Entrée. La page Kudu avec la nouvelle interface utilisateur s’ouvre.

  8. Dans le menu de gauche, sélectionnez Gestionnaire de fichiers.

  9. Sélectionnez le dossier site , puis sélectionnez le dossier wwwroot .

  10. Faites glisser et déposez le fichier ApplicationInsightsDiagnostics.json dans le dossier wwwroot .

    Après 10 secondes, un nouveau fichier journal s’affiche dans le dossier wwwroot , par exemple, 20220307-193542.w3wp.exe.7692.log.

  11. Supprimez le fichier de configuration ou renommez-le en ApplicationInsightsDiagnostics.bak.

    Après 10 secondes, la journalisation s’arrête.

Application Insights Java 2.x

Vous pouvez collecter les journaux de diagnostic pour Application Insights Java 2.6 ou une version antérieure. Pour ce faire, ajoutez un <SDKLogger> élément sous le nœud racine du fichier de configuration ApplicationInsights.xml (dans le dossier ressources de votre projet). Dans l’élément, vous pouvez demander à l’enregistreur <SDKLogger> d’événements de générer un fichier.

Voici un exemple du fichier ApplicationInsights.xml :

<SDKLogger type="FILE"><!-- or "CONSOLE" to print to stderr -->
    <Level>TRACE</Level>
    <UniquePrefix>AI</UniquePrefix>
    <BaseFolderPath>C:/agent/AISDK</BaseFolderPath>
</SDKLogger>

Pour plus d’informations, consultez Résoudre les problèmes liés à Azure Application Insights dans un projet web Java.

Application Insights Java 3.x

Vous pouvez collecter les journaux de diagnostic pour Application Insights Java 3.x à l’aide de la fonctionnalité « auto-diagnostics ». Pour ce faire, consultez auto-diagnostics.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.