Traitement des incidents
Vous pourriez rencontrer les problèmes suivants lors de la surveillance d' Instana.
Non pris en charge JVM 8
Type de problème de surveillance : java_8_unmonitored_version
Ce problème de surveillance indique que votre application Java s'exécute sur une machine virtuelle Hotspot Java 8 non prise en charge, dont la version est antérieure à 1.8.0_40. Instana ne surveille pas les applications d' Java s qui s'exécutent sur une telle machine virtuelle Hotspot en raison de bogues graves dans cette dernière, qui entraînent des incompatibilités et des plantages.
Pour résoudre ce problème, mettez à jour le kit de développement Java ( JVM ) vers une version plus récente, de préférence JDK 8 252 ou une version ultérieure, ou vers une autre version à support à long terme d' Java.
Pour plus d'informations sur les JVM prises en charge par Instana, consultez la documentation relative à la prise en charge d' JVM.
Détection d'un agent incompatible
Type de problème de surveillance : jvm_incompatible_agent_detected
Ce problème de surveillance indique que l'agent Instana a détecté un agent incompatible connecté à l' JVM. Afin d'éviter tout problème avec l' JVM, l'agent Instana ne collecte pas les données de traçage de l'application exécutée au sein de l' JVM. Cette interruption peut entraîner l'absence de données relatives aux perspectives d'application, aux services et aux noeuds finaux, ainsi que des alertes parasites concernant la suppression des appels aux perspectives d'application, aux services et aux noeuds finaux.
Pour résoudre ce problème, supprimez l'agent incompatible de votre JVM.
Problèmes liés à l'attachement dynamique
Type de problème de surveillance : jvm_attach_socket
Ce problème de surveillance indique que la fonctionnalité de gestion des pièces jointes de l' JVM est bloquée, ce qui arrive parfois en raison de bogues de longue date de l' JVM. Par conséquent, l' JVM e ne parvient pas à se connecter à un socket de communication utilisé lors de l'attachement dynamique.
Pour résoudre ce problème, redémarrez l' JVM.
Problèmes de visibilité réseau
Type de problème de surveillance : jvm_attach_network
Ce problème indique une défaillance de l'instrumentation d' JVM, due à des problèmes de visibilité réseau au niveau de l' JVM et de l'agent hôte. Pour éviter cette erreur, assurez-vous que l'agent hôte est accessible depuis l' JVM, comme indiqué dans la documentation relative aux exigences réseau. Dans les environnements conteneurisés, vérifiez les règles réseau et les configurations pour éviter ce problème.
Outils de connexion manquants
Type de problème de surveillance : jvm_attach_tools
Ce problème de surveillance indique que le kit JDK utilisé lors de la connexion dynamique n'inclut pas le code de connexion requis. Pour plus d'informations, consultez les sections « Java 8 ou versions antérieures » et « Java 9 ou versions ultérieures ».
Répertoire « attach » introuvable
Type de problème de surveillance : jvm_attach_directory
Ce problème indique l'échec de la connexion dynamique car le répertoire des pièces jointes est introuvable.
Pour résoudre ce problème, effectuez l'une des actions suivantes:
- Assurez-vous que le processus « JVM » de l'agent hôte et le processus « JVM » de la cible sont lancés avec les mêmes paramètres pour les variables d'environnement qui déterminent l'emplacement des répertoires temporaires
- Indiquez au processus cible d' JVM de placer les fichiers de travail destinés à la pièce jointe dynamique à l'emplacement où l'agent s'attend à les trouver par défaut. Si IBM J9 est utilisé sur un système compatible avec POSIX, incluez l'argument de ligne de commande suivant lors du démarrage du processus cible JVM :
-Dcom.ibm.tools.attach.directory=/tmp/.com_ibm_tools_attach
instrumentation-shared.jar fichier manquant
Type de problème de surveillance : jvm_instrumentation_shared_absent
Ce problème de surveillance indique que le fichier /tmp/.instana/instrumentation-shared-<version>-<pid>-<string>.jar a été supprimé alors que le javaagent-loader était connecté à une instance de JVM Ce fichier est nécessaire à l'exécution pour certaines configurations. Sans ce fichier, le java-tracing risque de ne pas fonctionner correctement. Si le fichier est supprimé au moment de l'exécution, le traceur Java peut émettre des avertissements et ne se met plus à jour.
L'agent interrompt de lui-même la connexion à l' JVM e et établit une nouvelle connexion pour résoudre ce problème.
Pièce jointe non prise en charge pour JVM avec un chargeur de classes personnalisé
Type de problème de surveillance : jvm_custom_classloader_unsupported
Cet incident de surveillance indique que l'agent a détecté qu'une application cible JVM a été lancée à l'aide d'un « chargeur de classes système personnalisé ». La connexion dynamique n'est pas prise en charge pour ces JVM, car le chargeur de classes personnalisé modifie le comportement par défaut du chargement des classes, qui est nécessaire à l'instrumentation de l'agent.
Dans ce cas, l' JVM e est généralement lancé avec l'argument suivant :
-Djava.system.class.loader=com.sas.app.AppClassLoader
Cette option remplace le chargeur de classes par défaut du système par une implémentation personnalisée, ce qui peut empêcher l'agent d'instrumenter ou d'injecter des classes lors de l'exécution. Par conséquent, ces JVM sont exclues avant la mise en attache, et cet événement de surveillance est déclenché
Espace disque insuffisant pour stocker les fichiers temporaires
Type de problème de surveillance : insufficient_disk_space_for_storing_temp_files
Pendant l'exécution, l'agent hôte d' Instana crée des fichiers JAR temporaires dans le $TMP/.instana répertoire. Ces fichiers JAR sont nécessaires pour la surveillance d' JVM. Ce problème indique que les fichiers JAR nécessaires ne peuvent pas être chargés sur le système hôte ou dans des conteneurs d'application que l'agent tente de surveiller en raison de la limite de capacité de stockage.
Vous pouvez atténuer ce problème en définissant un indicateur IN_MEMORY_CLASSLOADER=true en tant que propriété système ou en tant que variable d'environnement. Une fois cette option activée, l'espace de stockage nécessaire à la surveillance d' JVM s est réduit à 3.5 Mo. Pour plus d'informations, consultez la section « Variables d'environnement - Agent hôte ».
L'agent ne peut pas se connecter au port par défaut
Type de problème de surveillance : default_agent_port_unavailable
Ce problème de surveillance indique que l'agent ne peut pas se lier au port par défaut 42699. Par conséquent, divers détecteurs tombent en panne et la surveillance en pleine capacité peut ne pas être possible. Pour plus d'informations, consultez la section « Configuration réseau requise ».
Pour résoudre le problème, vérifiez que le port 42699 est disponible et redémarrez l'agent pour récupérer la surveillance complète.
Echec de la connexion au conteneur
Type de problème de surveillance : jvm_attach_container_command
Ce problème de surveillance indique que la commande utilisée pour se connecter dynamiquement à une instance d' JVM s conteneurisée a échoué.
Pour plus d'informations, voir le code de sortie de la description d'événement spécifique.
Partage de classe IBM J9 activé
Type de problème de surveillance : ibm_jvm_class_sharing_enabled
Ce rapport de surveillance indique que la fonctionnalité de partage de classe est activée pour cette JVM. Par conséquent, vous ne pouvez pas joindre et instrumenter. Pour plus d'informations sur la manière de résoudre ce problème, consultez la page IBM J9 limitations.
Problème générique de connexion à la JVM
Type de problème de surveillance : jvm_attach_generic
Ce rapport de surveillance indique qu'un problème inconnu est associé à l'adresse JVM. Par conséquent, ce processus ne peut être suivi et aucun indicateur d' JVM n ne peut être mesuré. Les journaux de l'agent doivent fournir plus de détails sur la raison de l'échec de la connexion. Pour résoudre ce problème, file un ticket et inclut les journaux.
Type de problème de surveillance : jvm_attach_permission
/tmp/.com_ibm_tools_attach/ répertoire dispose de droits d'accès incorrects au système de fichiers. L'agent bascule vers le contexte utilisateur de l'application cible, mais l'opération échoue lorsque la structure du répertoire ne dispose pas des autorisations appropriées. Pour résoudre ce problème, définissez l permissions.To s suivantes :Définissez les droits d'accès 777 (lecture, écriture et exécution pour tous les utilisateurs) sur le
/tmp/.com_ibm_tools_attach/répertoire afin de permettre à tout processus de l' Java de créer des fichiers d'informations de connexion.Définissez les droits d'accès 666 (lecture et écriture pour tous les utilisateurs) sur les fichiers préfixés par un trait de soulignement dans ce répertoire.
Problème de performances
La capture des traces de pile pour les applications présentant des piles plus profondes ou des requêtes comportant plusieurs segments peut avoir un impact sur les performances de l'application. Pour optimiser les performances, vous devez désactiver la capture des traces de pile. Pour plus d'informations, consultez la section « Désactivation de la capture de la trace de pile ».
Enregistrements de span en double
Si les dépendances Log4j et SLF4J sont toutes deux présentes dans votre classpath, vous pourriez constater l'apparition de deux segments pour un même message de journalisation, un pour chaque framework de journalisation. Ce comportement est particulièrement fréquent lorsque vous utilisez la spring-boot-starter-log4j2 dépendance, ce qui entraîne la création de segments de journal en double.
Pour éviter les segments de journalisation en double, effectuez l'une des opérations suivantes :
- Supprimez l'une des dépendances de journalisation du
pom.xmlfichier. - Désactivez l'un des plugins d'instrumentation de journalisation comme indiqué dans l'exemple suivant :
Cette configuration désactive le plugin « SLF4J » et ne conserve que le traçage « Log4j », garantissant ainsi qu'un seul segment est généré par message de journal.com.instana.plugin.javatrace: instrumentation: plugins: Slf4jExit: false
Appels manqués
Les restrictions suivantes s'appliquent lors de l'utilisation des traceurs d' Instana s dans les environnements d' Java :
Instana Les traceurs n'enregistrent les appels sortants que lorsqu'un intervalle d'entrée actif est présent. Si certains appels attendus ne s'affichent pas, c'est peut-être parce qu'aucune trace n'était en cours d'exécution à ce moment-là.
Dans « Java », la
public static void mainméthode ne peut pas être instrumentée car elle pourrait démarrer ou terminer son exécution avant que le traceur ne soit prêt à s'y connecter.Java La fonctionnalité de traçage ne prend pas en charge l'activation des segments de sortie racine via la variable
INSTANA_ALLOW_ROOT_EXIT_SPANd'environnement.
Nom de file d'attente incorrect sur le tableau de bord d' Instana pour les messages de l' IBM MQ
Si le nom de la file d'attente s'affiche de manière incorrecte sur le tableau de bord d' Instana, vérifiez l'en-tête de destination du message « IBM MQ ». Instana détermine le nom de la file d'attente à partir de l'en-tête de destination du message « IBM MQ ». Une valeur incorrecte ou non conforme dans l'en-tête entraîne un affichage incorrect du nom de la file d'attente.

Procédure de traitement des incidents
Vérifiez l'en-tête de destination du message « IBM MQ »
- Ouvrez les propriétés du message dans votre système de messagerie d' IBM.
- Recherchez le champ d'en-tête de destination (par exemple, JMSDestination, destination ou un en-tête spécifique à l'application).
- Vérifiez que la valeur correspond au nom de la file d'attente ou du sujet configuré sur le serveur de messagerie.
- Si la valeur est incorrecte, corrigez-la et renvoyez un message pour vérifier que le tableau de bord d' Instana s affiche bien le nom correct de la file d'attente.
Contacter le support
Si la destination s'affiche toujours de manière incorrecte sur le tableau de bord d' Instana après avoir validé l'en-tête et vérifié que la configuration est correcte, contactez l'assistance d' Instana.