Dépannage du suivi d'.NET s sur Windows

Si le traçage ne fonctionne pas comme prévu, commencez par suivre les étapes générales de dépannage avant de passer à des cas particuliers.

identification et résolution des problèmes généraux

Procédez comme suit :

  1. Vérifier les conditions préalables :

    • Vérifiez la compatibilité de la version d'.NET : assurez-vous que votre application fonctionne sur .NET Core Runtime 5.0 ou une version ultérieure.
    • Vérifiez que l'agent d' Instana ation est en cours d'exécution :

      • Ouvrez le Gestionnaire des tâches sur Windows et recherchez le processus « Instana agent ».
      • Vérifiez l'état de l'agent dans l'interface utilisateur d' Instana.
    • Vérifiez que le PCP d' Instana est en cours d'exécution :

      • InstanaPCP.exeOuvrez le Gestionnaire des tâches et recherchez.
      • Si l'agent Instana n'est pas en cours d'exécution, redémarrez-le.
  2. Vérifiez les variables d'environnement : si le traçage ne fonctionne pas, vérifiez que les variables d'environnement sont les suivantes :

    • Réglé correctement.
    • Écrit correctement.
    • Configurez ce paramètre en fonction de l'environnement dans lequel l'application est déployée.
    • Valide, accessible par le processus ou l'application, et correct.
  3. Vérifiez si IL-Rewriter est correctement chargé :

    1. Vérifiez les journaux d'application pour voir s'ils contiennent des messages d'initialisation d'IL-Rewriter. Résultat attendu en cas de réussite :

      *Initializing Instana IL-Rewriter for .NET Core* 
      *Logging path is not set* 
      *Loading configuration-file /app/instana_tracing/instrumentation.json*
      Remarque : le chemin d'accès peut varier en fonction de votre environnement.
    2. Si les lignes IL-Rewriter n'apparaissent pas, assurez-vous que toutes les variables d'environnement requises CORECLR sont correctement définies et accessibles à l'application.

      • CORECLR_ENABLE_PROFILING
      • CORECLR_PROFILER_PATH
      • CORECLR_PROFILER
  4. Consultez l'Observateur d'événements d' Windows : utilisez l'Observateur d'événements d' Windows pour résoudre les erreurs :

    1. Ouvrez l'Observateur d'événements.
    2. Go vers « Windows > Logs > Application ».
    3. Recherchez les erreurs ou les avertissements liés à votre application ou à IIS.
    4. Vérifiez s'il y a des événements liés à l' Instana.

    Les événements contiennent des informations détaillées, notamment des horodatages et des codes d'erreur, qui peuvent aider à diagnostiquer les problèmes.

  5. Vérifiez que les diagnostics sont activés pour .NET : assurez-vous que les variables d'environnement COMPlus_EnableDiagnostics et DOTNET_EnableDiagnostics sont définies sur 1. Si ces options sont désactivées, IL-Rewriter ne peut pas se connecter au processus; par conséquent, les appels ne peuvent pas être réécrits et aucune trace ne peut être générée.

Dépannage adapté à chaque cas

Si les étapes de dépannage générales ne permettent pas de résoudre votre problème, consultez les scénarios de dépannage suivants :

Scénario 1 : Traces ou portées manquantes

Symptômes : l'application affiche des métriques mais pas de traces; certains services génèrent des rapports, mais pas d'autres; ou encore, le traçage s'arrête après un déploiement ou une mise à jour.

Procédure de résolution des incidents :

  1. Vérifiez que la version de l'application disponible sur .NET est prise en charge :

    • .NET Core Environnement d'exécution : 5.0 ou version ultérieure
  2. Vérifiez que la fonction de traçage est activée dans le fichier de l'agent configuration.yaml .
  3. Récupérez les journaux de trace à l'aide de Log Collector ou en les récupérant manuellement.
  4. Consultez les journaux de traçage de l' Instana :

    • Si les journaux sont vides ou si aucune trace n'apparaît, cela signifie que l'application ne génère pas de segments.
    • Si des traces apparaissent dans les journaux mais qu'il manque des informations (par exemple, l'hôte), le problème provient de la couche de traçage d'.NET.
    • Si des traces apparaissent dans les journaux et contiennent des informations qui ne figurent pas dans l'interface utilisateur, cela signifie que le problème s'est produit soit au niveau du backend d' Instana, soit au niveau de l'agent.

Scénario 2 : L'application ne démarre pas

Symptôme : l'application plante au démarrage lorsque l'agent d' Instana s est en cours d'exécution.

Procédure de résolution des incidents :

  1. Vérifiez que la version de l'application disponible sur .NET est prise en charge :

    • .NET Core Environnement d'exécution : 5.0 ou version ultérieure
  2. Récupérez les journaux de l'Observateur d'événements à l'aide de Log Collector ou en les collectant manuellement.
  3. Consultez les journaux de l'Observateur d'événements d' Instana :

    • Vérifiez si une erreur ou un avertissement apparaît dans les journaux. Un événement contient des informations détaillées, notamment des horodatages et des codes d'erreur, qui peuvent aider à diagnostiquer les problèmes.
    • Si une erreur indiquant InstanaPCP.exe apparaît, cela signifie que la commande « InstanaPCP » a échoué. Vérifiez les événements qui ont précédé et examinez la question plus en détail.
  4. Récupérez un fichier de vidage mémoire pour l'application en question.

Scénario 3 : L'agent ne détecte pas l'application d'.NET

Symptôme : l'application « .NET » n'est pas surveillée par l'agent « Instana » et n'apparaît pas dans l'interface utilisateur.

Procédure de résolution des incidents :

  1. Vérifiez que l'agent d' Instana ation s'exécute en tant qu'administrateur.
  2. Vérifiez que l'agent d' Instana s dispose des autorisations nécessaires pour accéder à l'application.
  3. Vérifiez que le PCP d' Instana est en cours d'exécution :

    • InstanaPCPOuvrez le Gestionnaire des tâches sur Windows et recherchez.
  4. Récupérez les journaux des agents d' Instana s à l'aide de Log Collector ou en les collectant manuellement.

    • Dans les journaux de l'agent d' Instana, la ligne suivante devrait apparaître :

      com.instana.agent-process-handling - 1.0.35 |  | InstanaPCP.exe passed early window; marked RUNNING
  5. Vérifiez que les capteurs ont bien été activés dans les journaux de l'agent :

    com.instana.sensor-clr - 1.1.141 |  | Activated Sensor
  6. Vérifiez que le processus « .NET » est lancé après l'agent « Instana ».

Scénario 4 : Utilisation élevée du processeur par l' InstanaPCP e ou l'application après l'activation du traçage

Symptôme : l'application « InstanaPCP » ou « .NET » affiche une utilisation du processeur anormalement élevée une fois le traçage activé.

Procédure de résolution des incidents :

  1. Vérifiez dans le Gestionnaire des tâches si le problème est lié à l'application ou à l' InstanaPCP.
  2. Si le problème concerne InstanaPCP:

    • Activer les journaux de débogage pour InstanaPCP. Voir la section « Collecte des journaux ».
    • Vérifiez les journaux pour repérer les messages récurrents signalant des compteurs de performances manquants ou des exceptions.
  3. Si le problème est lié à un pic de mémoire de l'application :

    • Récupérez les journaux d'événements et les journaux d'.NET s à l'aide de Log Collector ou en les récupérant manuellement.
    • Vérifiez les journaux d'événements et les journaux d'.NET s pour détecter d'éventuelles exceptions liées à la mémoire.
    • Vérifiez si le problème est dû à l'instrumentation d' Instana.
    • Récupérez un fichier de vidage de la mémoire (.NET ) en vue d'une analyse plus approfondie. Go Accédez au Gestionnaire des tâches, cliquez avec le bouton droit sur le processus, puis créez un fichier de vidage.

Collecte des journaux

Instana propose deux méthodes pour collecter les journaux :

Collecte des journaux à l'aide de Log Collector

Log Collector est une application autonome permettant de collecter les journaux d' Instana. Vous pouvez lancer le collecteur de journaux à partir des emplacements suivants :

Le collecteur de journaux recueille les journaux suivants :

  • Journaux de traçage des applications
  • Instana Journaux PCP
  • Journaux de débogage CLR
  • Journaux de l'Observateur d'événements
  • Instana journaux de débogage de l'agent
  • Instana l'agent enregistre les journaux

Exécution du collecteur de journaux depuis l'interface utilisateur d' Instana

Important : vous ne pouvez accéder à l'outil « Log Collector » que si votre rôle inclut l'autorisation « Collecter et stocker les journaux de trace d'.NET ». Vous pouvez activer cette autorisation dans la section « Infrastructure » de l'interface utilisateur d' Instana.
  1. Dans le menu de navigation, sélectionnez « Analytics > Infrastructure » ou recherchez l'agent dans le menu « Plus » de l'interface utilisateur d' Instana.
  2. Cliquez sur le processus «.NET » à surveiller.
  3. Dans le tableau de bord du processus d'.NET, cliquez sur « Configurer l'environnement de débogage d'.NET », comme illustré dans l'image suivante :

    Figure 1. Collecteur de journaux
    Collecteur de journaux

    Cette étape active l'application Log Collector sur l'hôte et définit les variables d'environnement nécessaires à la collecte des journaux d'.NET.

  4. Redémarrez votre application .NET pour vous assurer que les variables d'environnement mises à jour sont bien chargées.
    Remarque : pour inclure les journaux d' InstanaPCP s dans la collecte, redémarrez également l'agent d' Instana.
  5. Effectuez quelques appels ou générez du trafic vers l'application pour créer des journaux.
  6. Cliquez sur « Télécharger les journaux d'.NET ».

    Remarque : le bouton « Télécharger les journaux d'.NET » n'apparaît qu'une fois l'environnement de débogage correctement configuré.

Le collecteur de journaux rassemble les journaux provenant de plusieurs sources, notamment les journaux de traçage des applications (si [agent-dir]\etc\instana\com.instana.agent.main.sender.File.cfg la configuration a déjà été effectuée), les journaux d' InstanaPCP s (si l'agent a été redémarré), les journaux de débogage CLR, les journaux de l'Observateur d'événements et les journaux de l'agent d' Instana. Les journaux collectés sont compressés dans un .zip fichier et téléchargés sur votre système.

Exécution du collecteur de journaux depuis la console

En cas de défaillance de l'interface utilisateur, le collecteur de journaux peut être lancé depuis la console :

  1. Go vers le chemin d'accès au collecteur de journaux dans le dossier de l'agent d' Instana :

    C:\\instana-agent\data\repo\com\instana\dotnet-logcollector-win-x64\1.302.1\dotnet-logcollector-win-x64-1.302.1
  2. Exécutez la commande suivante pour préparer la collecte des journaux :

    logcollector.exe -m prepare -i "C:\Program Files\Instana\instana-agent"
  3. Redémarrez l'application et effectuez des appels vers celle-ci.
  4. Au bout d'un certain temps, exécutez la commande collect :

    logcollector.exe -m collect -i "C:\Program Files\Instana\instana-agent" -o "C:\output\log.zip"
    Remarque : assurez-vous d'exécuter les commandes en tant qu'administrateur.

Collecte manuelle des journaux

Vous pouvez également récupérer les journaux manuellement. Procédez comme suit :

  1. Activez les journaux de débogage :

    1. Ajoutez des variables d'environnement à l'aide de l'une des options suivantes :

      Remarque : assurez-vous que les chemins d'accès sont valides, accessibles par le processus ou l'application, et corrects.
      • Définissez manuellement les variables d'environnement suivantes au niveau du système :

        INSTANA_NET_LOG_PATH: "C:\dc_net_log"
        INSTANA_NET_LOG_LEVEL: DEBUG
        INSTANA_NET_CORE_LOG_LEVEL: DEBUG
        INSTANA_NET_FF_LOG_LEVEL: DEBUG
        INSTANA_NET_PCP_LOG_LEVEL: DEBUG
        INSTANA_TRACER_ENTEREXIT_LOGGING: 1
        INSTANA_EXTENDED_DEBUG: 1
      • Ouvrez l'invite de commande en tant qu'administrateur et exécutez la commande suivante pour ajouter les variables d'environnement :

        setx INSTANA_NET_LOG_PATH "C:\dc_net_log" /M
        setx INSTANA_NET_LOG_LEVEL "DEBUG" /M
        setx INSTANA_NET_CORE_LOG_LEVEL "DEBUG" /M
        setx INSTANA_NET_FF_LOG_LEVEL "DEBUG" /M
        setx INSTANA_NET_PCP_LOG_LEVEL "DEBUG" /M
        setx INSTANA_TRACER_ENTEREXIT_LOGGING "1" /M
        setx INSTANA_EXTENDED_DEBUG "1" /M
    2. Configurez la clé de registre suivante : Windows

      CLRDebugLog: "C:\dc_clr_debug_log\clr_"
    3. Redémarrez l'application.
  2. Collecter les journaux de l'agent d' Instana :

    1. Arrêtez l'agent <instana_install_dir>/bin/stop.sh ou, si celui-ci est exécuté en tant que service, arrêtez le service.
    2. Supprimer les fichiers journaux : supprimez tous les fichiers du répertoire des journaux pour repartir de zéro en exécutant la commande suivante :

      rm -rf <instana_install_dir>/data/log/*
    3. Définissez le niveau de journalisation sur « Debug » : modifiez le niveau de gravité de la journalisation dans le fichier de l'agent configuration.yaml . Pour plus d'informations, consultez la section « Configuration du fichier de configuration de l'agent ».
    4. Lancez l'agent <instana_install_dir>/bin/start.sh ou lancez le service.
    5. Reproduire le problème : laissez le problème se produire et laissez l'agent fonctionner pendant environ 15 minutes.
    6. Récupérez les fichiers journaux : compressez le répertoire des fichiers journaux en vue de son envoi en exécutant la commande suivante :

      cd <instana_install_dir>/data/logs
      zip -r instana_agent_debug_logs.zip *
  3. Collecter les journaux de trace d' Instana :

    1. com.instana.agent.main.sender.File.cfgGo pour [agent-dir]\etc\instana et ouvrir le fichier.
    2. Ajoutez les lignes suivantes dans le fichier :

      prefix=instanaTraces
      type=traces

      Cette configuration génère un fichier journal contenant toutes les traces commençant [agent-dir]/data/log par le instanaTraces préfixe.

    3. Redémarrez l'agent d' Instana.
    4. Laissez le produit agir pendant environ 15 minutes.
    5. Récupérez les fichiers journaux dans les chemins d'accès suivants :

      • Chemin indiqué par la variable INSTANA_NET_LOG_PATH
      • instana-agent-installation-folder/data/log
  4. Récupérer les journaux de débogage CLR :

    1. Ouvrez l'Éditeur du Registre.
    2. Naviguer vers Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Instana\
    3. C:\temp\clr_Ajoutez la clé CLRDebugLog de registre sous forme de chaîne de caractères avec une valeur, par exemple.
    4. Vous pouvez également ouvrir l'invite de commande en tant qu'administrateur et exécuter la commande suivante :

      reg add "HKLM\SOFTWARE\Instana" /v CLRDebugLog /t REG_SZ /d "C:\temp\clr_" /f

Ouverture d'un ticket de demande de service

Si le problème persiste après avoir suivi ces étapes de dépannage, recueillez les données d' MustGather s avant d'ouvrir un ticket d'assistance. MustGather Ces données aident le service d'assistance d' IBM à diagnostiquer votre problème plus efficacement.

Pour plus d'informations, consultez MustGather:, Instana, .NET et Tracer - Windows.