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

Si le traçage ne fonctionne pas comme prévu pour les applications .NET Framework hébergées sur IIS, commencez par suivre les étapes générales de dépannage avant de passer à des scénarios spécifiques.

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 sous .NET Framework 4.5.2 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 Framework* 
      *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 COR sont correctement définies et accessibles à l'application.

      • COR_ENABLE_PROFILING
      • COR_PROFILER
  4. Consultez les journaux de l'Observateur d'événements d' Windows : Utilisez les journaux de 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.
    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.

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 d'autres non; 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 Framework 4.5.2 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. Collectez les journaux de trace à l'aide de Log Collector ou par le biais d' une collecte manuelle des journaux.
  4. Consultez les journaux de traçage de l' Instana e et interprétez les résultats :

    • 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 que certaines informations (par exemple, l'hôte) sont manquantes, 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 plante ou ne démarre pas

Symptôme : l'application se bloque 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 Framework 4.5.2 ou version ultérieure
  2. Récupérez les journaux de l'Observateur d'événements à l'aide de Log Collector ou par une collecte manuelle des journaux.
  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.
    • InstanaPCP.exeSi une erreur indiquant […] s'affiche, cela signifie que InstanaPCP a planté. 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 de 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 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. Recueillez les journaux des agents d' Instana s à l'aide de Log Collector ou par collecte manuelle des journaux.

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

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

    com.instana.sensor-clr - <version> |  | Activated Sensor
  6. Assurez-vous que le processus « .NET » soit 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.

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 «.NET », cliquez sur «Configurer l'environnement de débogage d'.NET ».

    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 Framework 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, vous pouvez lancer le collecteur de journaux depuis la console :

  1. Go vers le chemin d'accès du collecteur de journaux dans le dossier de l'agent d' Instana. Utilisez la dernière version disponible :

    C:\instana-agent\data\repo\com\instana\dotnet-logcollector-win-x64\<latest_version>\dotnet-logcollector-win-x64-<version>
  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_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_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. Régler 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 *

      Pour plus d' PowerShell: s

      Compress-Archive * 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, [agent-dir]/data/log dont le nom commence par "instanaTraces".

    3. Redémarrez l'agent d' Instana.
    4. Redémarrez l'application et laissez-la fonctionner 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. Accédez à 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
  5. Récupérer les journaux de l'Observateur d'événements d' Windows :

    1. Ouvrir l'Observateur d'événements :

      1. Appuyez sur Win + R.
      2. Entrez eventvwr.msc.
      3. Appuyez sur Entrée.
    2. Go vers le fichier journal que vous souhaitez exporter :

      • Windows Journaux : Windows Journaux > Application
      • Journaux des applications et des services
    3. Dans le panneau Actions, sélectionnez « Enregistrer tous les événements sous ».
    4. Choisissez un emplacement et enregistrez sous .evtx.

Ouverture d'un ticket de demande de service

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

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