Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Personalizar o caminho de montagem para um agente Java

Última atualização: Jun 27, 2026

Por padrão, o componente ack-onepilot injeta a variável de ambiente JAVA_TOOL_OPTIONS nos pods para definir o caminho de montagem do agente Java. Para usar um caminho personalizado — por exemplo, para gerenciar caminhos de agentes via ConfigMap do Kubernetes ou armazenar arquivos do agente em uma Persistent Volume Claim (PVC) — desative a injeção automática e especifique o caminho manualmente.

Pré-requisitos

Antes de começar, verifique se você tem:

Como funciona

Em uma implantação padrão, o ack-onepilot define o caminho de montagem do agente Java ao injetar a variável de ambiente JAVA_TOOL_OPTIONS. O caminho padrão é /home/admin/.opt/AliyunJavaAgent/aliyun-java-agent.jar.

Para utilizar um caminho de montagem personalizado, adicione o rótulo disableJavaToolOptionsInjection: "true" ao modelo do pod. Essa configuração instrui o ack-onepilot a interromper a injeção de JAVA_TOOL_OPTIONS e outros parâmetros da JVM. Outras variáveis de ambiente, como a região de relatório e a chave de licença, continuam sendo injetadas. Em seguida, especifique a flag -javaagent no comando de inicialização da aplicação para apontar para o caminho personalizado.

Procedimento

Importante

O componente ack-onepilot é compartilhado pelo Application Real-Time Monitoring Service (ARMS) e pelo Microservice Engine (MSE). Este procedimento também se aplica a aplicações de administração de serviços do MSE.

Etapa 1: Desativar a injeção automática de JAVA_TOOL_OPTIONS

Adicione o rótulo disableJavaToolOptionsInjection ao modelo de pod do Deployment ou de outra carga de trabalho.

Importante

Adicione os rótulos em spec.template.metadata, e não no nível superior em spec.metadata. Rótulos na própria carga de trabalho não afetam o comportamento de injeção do pod.

  1. Visualize a configuração atual do Deployment:

    kubectl get deployment <your-deployment-name> -o yaml
    Nota

    Se você não souber o nome do Deployment, liste todos os Deployments primeiro:

    kubectl get deployments --all-namespaces
  2. Abra o Deployment para edição:

    kubectl edit deployment <your-deployment-name>
  3. Em spec.template.metadata, defina os seguintes rótulos:

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "<your-app-name>"               # Replace with your application name
      disableJavaToolOptionsInjection: "true"                  # Disables automatic JAVA_TOOL_OPTIONS injection
  4. Salve o arquivo. O Kubernetes implantará novos pods com os rótulos atualizados.

Etapa 2: Especificar o caminho personalizado do agente no comando de inicialização

No Dockerfile, no script de entrypoint ou no comando do contêiner do Kubernetes, adicione a flag -javaagent com o caminho personalizado:

java -javaagent:<custom-agent-path>/aliyun-java-agent.jar -jar <your-application>.jar

Substitua os seguintes espaços reservados pelos seus valores:

Espaço reservado

Descrição

Exemplo

<custom-agent-path>

Diretório onde o JAR do agente está montado

/opt/arms-agent

<your-application>

Nome do arquivo JAR da aplicação

myapp

O caminho padrão do agente é /home/admin/.opt/AliyunJavaAgent/aliyun-java-agent.jar. Substitua-o pelo caminho do JAR do agente montado personalizado.

Nota

O ack-onepilot ainda injeta outras configurações, como a região de relatório e a chave de licença, por meio de variáveis de ambiente. Nenhuma configuração adicional é necessária para esses ajustes.

Etapa 3: Verificar a configuração

Após a inicialização dos novos pods, confirme se o caminho personalizado está em vigor e se a injeção automática foi desativada.

  1. Verifique as variáveis de ambiente do pod:

    kubectl describe pod <pod-name> | grep JAVA_TOOL_OPTIONS

    Se disableJavaToolOptionsInjection funcionar corretamente, JAVA_TOOL_OPTIONS não aparecerá na saída.

  2. Consulte os logs da aplicação para confirmar se o agente foi carregado a partir do caminho personalizado:

    kubectl logs <pod-name> | grep -i "javaagent"

    Procure uma entrada de log que mostre o caminho do JAR do agente correspondente à localização personalizada.

Casos de uso comuns

Caso de uso

Descrição

Gerenciamento centralizado de configurações

Armazene caminhos de agentes em um ConfigMap do Kubernetes e referencie-os nas variáveis de ambiente do contêiner. Isso mantém o caminho do agente configurável em vários ambientes sem modificar cada Deployment individualmente.

Armazenamento persistente

Monte uma PVC nos pods e coloque o JAR do agente no caminho montado. Essa abordagem atende a políticas de segurança corporativas ou requisitos de O&M que exigem o armazenamento de arquivos do agente em armazenamento persistente.

Em ambos os casos, defina disableJavaToolOptionsInjection: "true" conforme descrito neste tópico e aponte a flag -javaagent para o caminho onde o JAR do agente está disponível no contêiner.

Consulte também