Dépannage du suivi d'.NET s sur Linux ou Alpine Linux

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 :

      • Vérifiez l'état de l'agent à l'aide de systemctl status instana-agent.service.
      • Vérifiez l'état de l'agent dans l'interface utilisateur d' Instana.
  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, mais ces lignes doivent apparaître tout au début de la sortie de votre application.
    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. 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 que certaines informations (par exemple, l'hôte) manquent, 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, 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 Core est prise en charge :

    • .NET Core Environnement d'exécution : 5.0 ou version ultérieure
  2. Récupérez les journaux à l'aide de Log Collector ou en les récupérant manuellement.
  3. Récupérer le fichier de vidage mémoire de l'application.

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. Récupérez les journaux des agents d' Instana s à l'aide de Log Collector ou en les collectant manuellement.
  2. Vérifiez que l'agent d' Instana ation est exécuté en tant qu'administrateur.
  3. Vérifiez que l'agent d' Instana s dispose des autorisations nécessaires pour surveiller l'application.
  4. Vérifiez que les capteurs ont bien été activés dans les journaux de l'agent.

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

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

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

Procédure de résolution des incidents :

  1. Identifiez la source : vérifiez le moniteur système pour déterminer si le problème est lié à l'application.
  2. En cas de pic de mémoire au niveau d'une application :

    • Vérifiez /var/log les fichiers journaux `.NET ` pour détecter les exceptions liées à la mémoire.
    • Vérifiez si le problème est dû à l'instrumentation d' Instana.
    • Demandez un fichier de vidage de la mémoire «.NET » pour une analyse plus approfondie.

Collecte des journaux

Instana propose deux méthodes pour collecter les journaux :

Collecte des journaux à l'aide de Log Collector

Remarque : Log Collector fonctionne avec les applications d'.NET Core. dans les architectures ARM64 et AARCH64.

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 suivi des applications
  • Journaux de débogage CLR
  • 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 : le capteur « .NET Core » ( 1.0.89 ) ou une version ultérieure ne prend pas en charge l'exécution de l'outil Log Collector à partir de l'interface utilisateur d' Instana. Si vous utilisez ces versions, lancez manuellement le collecteur de journaux depuis la console pour collecter les journaux.

Si l'architecture de l'hôte est AARCH 64 ou ARM 64, récupérez les journaux à l'aide de Log Collector depuis 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 des processus d'.NET, cliquez sur « Configuration » > « Environnement de débogage » > « .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 pour vous assurer que les variables d'environnement mises à jour sont bien chargées.
  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 » pour récupérer les journaux.
    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 ceux-ci ont déjà été configurés), les journaux de débogage CLR 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

Si l'interface utilisateur de Log Collector ne fonctionne pas (pour les architectures d'hôte AARCH64 ou ARM64 ), lancez Log Collector depuis la console :

  1. Go vers l'emplacement du répertoire de Log Collector dans le dossier Agent. Sélectionnez la dernière version :

    • Pour AARCH 64 :

      cd <path_to_instana>/data/repo/com/instana/clr-logcollector-libs/latest-release#/clr-logcollector-libs-<latest-release#>/linux-x64
    • Pour plus d' ARM64: s

      cd <path_to_instana>/data/repo/com/instana/clr-logcollector-libs/latest-release#/clr-logcollector-libs-<latest-release#>/linux-arm64
  2. Mode de préparation : configurez les variables d'environnement avant de lancer l'application :

    sudo chmod +x ./LogCollector
    sudo ./LogCollector -m prepare -i "/opt/instana"
  3. Lancez l'application cliente : après la configuration, lancez l'application cliente à surveiller.
  4. Mode de collecte : après avoir arrêté l'application cliente, collecter les journaux :

    ./LogCollector -m collect -i "<path_to_instana>" -o "<path_to_log>/log.zip"

Collecte manuelle des journaux

Vous pouvez également récupérer les journaux manuellement, sans passer par l'outil de collecte des journaux. Procédez comme suit :

  1. Activer les journaux de débogage : définissez manuellement les variables d'environnement suivantes au niveau du système, puis redémarrez l'application :

    export INSTANA_NET_LOG_PATH="<Log_path>"
    export INSTANA_NET_LOG_LEVEL=DEBUG
    export INSTANA_NET_CORE_LOG_LEVEL=DEBUG
    export INSTANA_TRACER_ENTEREXIT_LOGGING=1
    export INSTANA_EXTENDED_DEBUG=1
    export INSTANA_CLRLOG_PATH=/var/tmp/clr_
  2. Collecter les journaux de l'agent d' Instana :

    1. Arrêtez l'agent :

      sudo systemctl stop instana-agent.service
    2. Effacez les journaux : supprimez tous les fichiers du logs répertoire pour repartir de zéro :

      sudo rm -rf <instana_install_dir>/data/logs/*
    3. Définissez le niveau de journalisation sur « debug » : modifiez le niveau de gravité de la journalisation dans le fichier de configuration :

      Modifier le niveau de journalisation dans <instanaAgentDir>/etc/org.ops4j.pax.logging.cfg le fichier de configuration, en le faisant passer de log4j2.logger.instana.level=INFO à log4j2.logger.instana.level=DEBUG.

      Important : assurez-vous qu'il n'y a pas d'espaces à la fin de la ligne.
    4. Démarrez l'agent :

      sudo systemctl start instana-agent.service
    5. Vérifiez les fichiers journaux dans le dossier « log » et récupérez-les : Compressez le logs répertoire avant de l'envoyer :

      cd <instana_install_dir>/data/logs/
      zip -r instana_agent_debug_logs.zip *

Ouverture d'un ticket de demande de service

Si le problème persiste après avoir suivi ces étapes de dépannage, veuillez recueillir des 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 - Linux.