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 :
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.
- Vérifiez l'état de l'agent à l'aide de
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.
Vérifiez si IL-Rewriter est correctement chargé :
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.jsonRemarque : 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.Si les lignes IL-Rewriter n'apparaissent pas, assurez-vous que toutes les variables d'environnement requises
CORECLRsont correctement définies et accessibles à l'application :- CORECLR_ENABLE_PROFILING
- CORECLR_PROFILER_PATH
- CORECLR_PROFILER
- 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 :
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
- Vérifiez que la fonction de traçage est activée dans le fichier de l'agent configuration.yaml .
- Récupérez les journaux de trace à l'aide de Log Collector ou en les récupérant manuellement.
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 :
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
- Récupérez les journaux à l'aide de Log Collector ou en les récupérant manuellement.
- 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 :
- Récupérez les journaux des agents d' Instana s à l'aide de Log Collector ou en les collectant manuellement.
- Vérifiez que l'agent d' Instana ation est exécuté en tant qu'administrateur.
- Vérifiez que l'agent d' Instana s dispose des autorisations nécessaires pour surveiller l'application.
Vérifiez que les capteurs ont bien été activés dans les journaux de l'agent.
com.instana.sensor-clr - <version> | | Activated Sensor- 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 :
- Identifiez la source : vérifiez le moniteur système pour déterminer si le problème est lié à l'application.
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 :
- Collecteur de journaux (recommandé)
- Collecte manuelle des journaux (solution de secours en cas de défaillance du collecteur de 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 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
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 :
- Dans le menu de navigation, sélectionnez » ou recherchez l'agent dans le menu « Plus » de l'interface utilisateur d' Instana.
- Cliquez sur le processus «.NET » à surveiller.
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.
- Redémarrez votre application .NET pour vous assurer que les variables d'environnement mises à jour sont bien chargées.
- Effectuez quelques appels ou générez du trafic vers l'application pour créer des journaux.
- 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 :
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-x64Pour plus d' ARM64: s
cd <path_to_instana>/data/repo/com/instana/clr-logcollector-libs/latest-release#/clr-logcollector-libs-<latest-release#>/linux-arm64
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"- Lancez l'application cliente : après la configuration, lancez l'application cliente à surveiller.
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 :
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_Collecter les journaux de l'agent d' Instana :
Arrêtez l'agent :
sudo systemctl stop instana-agent.serviceEffacez les journaux : supprimez tous les fichiers du logs répertoire pour repartir de zéro :
sudo rm -rf <instana_install_dir>/data/logs/*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.Démarrez l'agent :
sudo systemctl start instana-agent.serviceVé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.