Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Compatibilidade do agente ARMS com outros agentes APM

Última atualização: Jun 27, 2026

Assim como outros agentes APM principais, o agente ARMS utiliza instrumentação de bytecode baseada em frameworks como ASM para coletar dados de monitoramento automaticamente. Executar dois agentes APM simultaneamente resulta em uma dupla instrumentação do seu código. Como os fornecedores implementam a instrumentação de maneiras diferentes, conflitos de código podem causar problemas, como inicialização lenta da aplicação e perda de dados de monitoramento. Recomendamos não instalar múltiplos agentes APM ao mesmo tempo.

Durante um período de migração, como a transição de um produto APM de terceiros para o ARMS Application Monitoring, talvez seja necessário executar dois agentes APM simultaneamente. O ARMS passou por testes extensivos de compatibilidade para essas transições. No entanto, ainda podem ocorrer conflitos locais se ambos os agentes aprimorarem o mesmo plugin. Nesse caso, desative o plugin conflitante nas custom configurations da sua aplicação no ARMS.

Nota

Mesmo que não ocorram conflitos locais, a execução de vários agentes pode degradar o desempenho da sua aplicação. Após concluir a migração, certifique-se de que apenas o agente ARMS permaneça instalado.

O mecanismo de cache do SkyWalking pode causar problemas de compatibilidade que impedem o funcionamento correto de recursos do ARMS, como o Arthas. Se você estiver migrando do SkyWalking para o ARMS Application Monitoring, adicione os seguintes parâmetros ao seu comando de inicialização Java para desativar o mecanismo de cache do SkyWalking durante a transição. Para mais informações, consulte a documentação oficial do SkyWalking.

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

Caso execute dois agentes APM e enfrente erros de inicialização ou falhas de requisição, ajuste a ordem de carregamento dos agentes e reinicie a aplicação. Os métodos a seguir são recomendados:

  • Ajuste os parâmetros de inicialização para instalação manual

    Se você utilizou a instalação automática em um ambiente Container Service for Kubernetes (ACK), tente alternar para a instalação manual. Caso já esteja usando a instalação manual, ajuste a ordem de carregamento do agente open source SkyWalking e do agente ARMS no seu script de inicialização. Garanta que o agente ARMS seja carregado por último.

    Exemplo para Spring Boot:

    -javaagent:/home/admin/apache-skywalking-apm-bin/agent/skywalking-agent.jar -javaagent:/{user.workspace}/ArmsAgent/aliyun-java-agent.jar 
  • Adicione parâmetros JVM para instalação automática

    Ao utilizar a instalação automática em um ambiente Container Service for Kubernetes (ACK), modificar o script de inicialização para instalação manual pode exigir um esforço significativo. Como alternativa, adicione parâmetros JVM diretamente no ambiente do contêiner.

    1. Faça login no console ACK. Na página Deployments do cluster alvo, localize a aplicação monitorada pelo ARMS e clique em Edite na coluna Actions.

    2. Na seção Environment Variables, adicione o parâmetro para o agente SkyWalking e clique em Atualize.

      Em Type, selecione Custom. Em Variable Name, insira JAVA_TOOL_OPTIONS. Em Value, insira -javaagent:/home/admin/apache-skywalking-apm-bin/agent/skywalking-agent.jar.

Para outros agentes APM open source, como TTL-Agent, Pinpoint e OTel Agent, é possível resolver problemas de inicialização ou de tempo de execução ajustando a ordem de carregamento dos agentes da mesma forma. Substitua o nome e o caminho do pacote do agente pelos que você está utilizando. Por exemplo, para ajustar a ordem de carregamento de um agente TransmittableThreadLocal, use um dos métodos abaixo.

  • Ajuste os parâmetros de inicialização para instalação manual

    Se você utilizou a instalação automática em um ambiente Container Service for Kubernetes (ACK), tente alternar para a instalação manual. Caso já esteja usando a instalação manual, ajuste a ordem de carregamento do agente open source TTL e do agente ARMS no seu script de inicialização. Garanta que o agente ARMS seja carregado por último.

    Exemplo para Spring Boot:

    -javaagent:/home/admin/transmittable-thread-local-2.14.2.jar -javaagent:/{user.workspace}/ArmsAgent/aliyun-java-agent.jar 
  • Adicione parâmetros JVM para instalação automática

    Ao utilizar a instalação automática em um ambiente Container Service for Kubernetes (ACK), modificar o script de inicialização para instalação manual pode exigir um esforço significativo. Como alternativa, adicione parâmetros JVM diretamente no ambiente do contêiner.

    1. Faça login no console ACK. Na página Deployments do cluster alvo, localize a aplicação monitorada pelo ARMS e clique em Edite na coluna Actions.

    2. Na seção Environment Variables, adicione o parâmetro para o agente TTL e clique em Atualize.

      Em Type, selecione Custom. Em Variable Name, insira JAVA_TOOL_OPTIONS. Em Value, insira -javaagent:/home/admin/transmittable-thread-local-2.14.2.jar.

Ao utilizar uma ferramenta de criptografia de bytecode, atenda aos requisitos a seguir para evitar falhas na inicialização da aplicação após instalar o agente ARMS.

  • Certifique-se de que seu agente personalizado seja executado primeiro e o agente ARMS por último.

  • Utilize um agente ARMS versão 4.x ou posterior para garantir a integração bem-sucedida da aplicação.