Tous les produits
Search
Centre de documentation

Application Real-Time Monitoring Service:Compatibilité de l'agent ARMS avec d'autres agents APM

Dernière mise à jour :Aug 10, 2026

Comme les autres agents APM principaux, l'agent ARMS utilise l'instrumentation du bytecode via des frameworks tels qu'ASM pour collecter automatiquement les données de surveillance. L'exécution simultanée de deux agents APM instrumente votre code deux fois. Étant donné que les fournisseurs implémentent l'instrumentation différemment, des conflits de code peuvent entraîner des problèmes tels qu'un démarrage lent de l'application ou une perte de données de surveillance. Nous vous recommandons de ne pas installer plusieurs agents APM en même temps.

Lors d'une période de migration, par exemple lors du passage d'un produit APM tiers à ARMS Application Monitoring, il peut s'avérer nécessaire d'exécuter deux agents APM simultanément. ARMS a fait l'objet de tests approfondis de compatibilité lors de telles transitions. Toutefois, des conflits locaux peuvent toujours survenir si les deux agents améliorent le même plugin. Dans ce cas, désactivez le plugin conflictuel dans les custom configurations de votre application dans ARMS.

Remarque

Même en l'absence de conflits locaux, l'exécution de plusieurs agents peut dégrader les performances de votre application. Une fois la migration terminée, assurez-vous que seul l'agent ARMS reste installé.

Le mécanisme de cache de SkyWalking peut provoquer des problèmes de compatibilité empêchant le bon fonctionnement des fonctionnalités ARMS telles qu'Arthas. Si vous migrez de SkyWalking vers ARMS Application Monitoring, ajoutez les paramètres suivants à votre commande de démarrage Java pour désactiver le mécanisme de cache SkyWalking pendant la transition. Pour plus d'informations, consultez la documentation officielle SkyWalking documentation.

-Dskywalking.agent.is_cache_enhanced_class=true -Dskywalking.agent.class_cache_mode=MEMORY  

Si vous exécutez deux agents APM et rencontrez des erreurs de démarrage ou des échecs de requête, ajustez l'ordre de chargement des agents et redémarrez l'application. Nous vous recommandons les méthodes suivantes :

  • Ajustez les paramètres de démarrage pour une installation manuelle

    Si vous avez utilisé l'installation automatique dans un environnement Container Service for Kubernetes (ACK), essayez de passer à l'installation manuelle. Si vous utilisez déjà l'installation manuelle, ajustez l'ordre de chargement de l'agent SkyWalking open source et de l'agent ARMS dans votre script de démarrage. Assurez-vous que l'agent ARMS est chargé en dernier.

    Exemple Spring Boot :

    -javaagent:/home/admin/apache-skywalking-apm-bin/agent/skywalking-agent.jar -javaagent:/{user.workspace}/ArmsAgent/aliyun-java-agent.jar 
  • Ajoutez des paramètres JVM pour l'installation automatique

    Si vous avez utilisé l'installation automatique dans un environnement Container Service for Kubernetes (ACK), la modification du script de démarrage pour une installation manuelle peut demander des efforts considérables. Vous pouvez alternativement ajouter des paramètres JVM dans l'environnement du conteneur.

    1. Connectez-vous à la ACK console. Sur la page Deployments du cluster cible, repérez l'application surveillée par ARMS et cliquez sur Edit dans la colonne Actions.

    2. Dans la section Environment Variables, ajoutez le paramètre pour l'agent SkyWalking, puis cliquez sur Update.

      Pour Type, sélectionnez Custom. Pour Variable Name, saisissez JAVA_TOOL_OPTIONS. Pour Value, saisissez -javaagent:/home/admin/apache-skywalking-apm-bin/agent/skywalking-agent.jar.

Pour d'autres agents APM open source tels que TTL-Agent, Pinpoint et l'agent OTel, vous pouvez résoudre les problèmes de démarrage ou d'exécution en ajustant l'ordre de chargement des agents de la même manière. Remplacez le nom et le chemin du package de l'agent par ceux que vous utilisez. Par exemple, pour ajuster l'ordre de chargement d'un agent TransmittableThreadLocal, utilisez l'une des méthodes suivantes.

  • Ajustez les paramètres de démarrage pour une installation manuelle

    Si vous avez utilisé l'installation automatique dans un environnement Container Service for Kubernetes (ACK), essayez de passer à l'installation manuelle. Si vous utilisez déjà l'installation manuelle, ajustez l'ordre de chargement de l'agent TTL open source et de l'agent ARMS dans votre script de démarrage. Assurez-vous que l'agent ARMS est chargé en dernier.

    Exemple Spring Boot :

    -javaagent:/home/admin/transmittable-thread-local-2.14.2.jar -javaagent:/{user.workspace}/ArmsAgent/aliyun-java-agent.jar 
  • Ajoutez des paramètres JVM pour l'installation automatique

    Si vous avez utilisé l'installation automatique dans un environnement Container Service for Kubernetes (ACK), la modification du script de démarrage pour une installation manuelle peut demander des efforts considérables. Vous pouvez alternativement ajouter des paramètres JVM dans l'environnement du conteneur.

    1. Connectez-vous à la ACK console. Sur la page Deployments du cluster cible, repérez l'application surveillée par ARMS et cliquez sur Edit dans la colonne Actions.

    2. Dans la section Environment Variables, ajoutez le paramètre pour l'agent TTL, puis cliquez sur Update.

      Pour Type, sélectionnez Custom. Pour Variable Name, saisissez JAVA_TOOL_OPTIONS. Pour Value, saisissez -javaagent:/home/admin/transmittable-thread-local-2.14.2.jar.

Si vous utilisez un outil de chiffrement du bytecode, respectez les exigences suivantes pour éviter les échecs de démarrage de l'application après l'installation de l'agent ARMS.

  • Assurez-vous que votre agent personnalisé s'exécute en premier et que l'agent ARMS s'exécute en dernier.

  • Utilisez un ARMS agent of version 4.x or later pour garantir l'intégration réussie de l'application.