Após instalar o agente para uma aplicação Java, o cloud Monitor 2.0 passa a monitorar a aplicação. É possível visualizar uma série de dados de monitoramento, como topologia da aplicação, call stacks, transações com erros, transações lentas e análise de SQL. Este tópico descreve como instalar o agente manualmente para uma aplicação Java.
Para aplicações implantadas em um ambiente Kubernetes, a instalação manual do agente não é recomendada. Em vez disso, instale o agente por meio de um componente. Para mais informações, consulte Install the Java agent for Container Service for Kubernetes (ACK) and Container Compute Service (ACS) using the ack-onepilot component.
Pré-requisitos
Antes de começar, verifique se:
Sua rede atende aos ARMS agent connectivity requirements
Sua versão do JDK é uma das Supported JDK versions
A memória heap máxima da JVM (
-Xmx) é de pelo menos 256 MB
Instalar o agente
Acesse o console do cloud Monitor 2.0 e selecione um workspace. No painel de navegação à esquerda, clique em Integration Center.
Clique em no card Java Application Monitor e, em seguida, clique em Manual Installation.
-
Baixe o pacote do agente por um dos métodos a seguir:
Pelo console -- No painel Java Application Monitor, siga as instruções de download.
Pela linha de comando -- Execute o comando
wgetcorrespondente à sua região. Selecione sua região na tabela abaixo.
-
Extraia o arquivo ZIP baixado para um diretório de trabalho:
unzip AliyunJavaAgent.zip -d <working-directory>Substitua
<working-directory>pelo diretório onde deseja instalar o agente. -
Adicione os parâmetros AppName e LicenseKey.
No painel Java Application Monitoring, obtenha a LicenseKey. O parâmetro AppName identifica a aplicação no ARMS à qual se conectar. O nome da aplicação pode ser personalizado. Em uma arquitetura distribuída, uma aplicação pode conter múltiplas instâncias paralelas.
ImportanteA LicenseKey é específica para cada workspace. Para um novo workspace, obtenha uma nova LicenseKey.
Adicione AppName e LicenseKey por um dos métodos a seguir.
Método 1 (Recomendado): No script de inicialização, substitua
{LicenseKey}e{AppName}pela LicenseKey obtida no console e pelo AppName da sua aplicação.-
Método 2: Para reutilizar o script de inicialização em diferentes aplicações, especifique a LicenseKey e o AppName modifique o arquivo de configuração do agente. Siga as etapas abaixo:
NotaPara versões do agente anteriores à 4.4.0, este método conecta a aplicação ao default workspace.
No arquivo de versão extraído na etapa anterior, verifique a versão do agente Java.
-
Modifique o arquivo de configuração do agente.
Agents of version 4.0.0 and later
No diretório do agente, crie um arquivo chamado arms-agent.properties e adicione as configurações a seguir. Em seguida, inclua
-Dotel.javaagent.configuration-file=/path/to/arms-agent.propertiesno comando de inicialização ou defina a variável de ambienteOTEL_JAVAAGENT_CONFIGURATION_FILE=/path/to/arms-agent.propertiespara ative o arquivo de configuração.arms.licenseKey={LicenseKey} arms.appName={AppName}Agents earlier than version 4.0.0
No arquivo arms-agent.config dentro do pacote do agente, adicione as configurações a seguir.
arms.licenseKey={LicenseKey} arms.appName={AppName}NotaPara mais informações sobre outros itens de configuração no arquivo de configuração do agente, consulte Modify the Java agent configuration file and the default reporting region.
-
Adicione o comando de conexão ao comando de inicialização.
Substitua
{user.workspace}pelo diretório onde o pacote de instalação do agente foi extraído. Substitua demoApp.jar pelo caminho real do seu pacote JAR.NotaSe você estiver usando uma versão do agente anterior à 2.7.3.5, substitua AliyunJavaAgent/aliyun-java-agent.jar mencionado neste tópico por ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar. Atualize o agente para a versão mais recente o quanto antes.
Em sistemas operacionais Windows, substitua
/por\e a extensão.shpela extensão.batno script.Agentes da versão 2.7.1.4 em diante oferecem suporte a segurança de aplicações. Para ative a segurança de aplicações ao conectar ao Application Monitoring, adicione
-Darms.appsec.enable=trueao script. Para mais informações sobre as regras de faturamento para segurança de aplicações, consulte Billing.
Runtime environment
Steps
Spring Boot ou outras aplicações Java iniciadas com o comando
java -jarAdicione o parâmetro -javaagent ao comando de inicialização. Certifique-se de que o parâmetro -javaagent apareça antes do parâmetro -jar.
java -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} -Darms.workspace={workspace} -jar demoApp.jarTomcat
Adicione a configuração a seguir ao arquivo {TOMCAT_HOME}/bin/setenv.sh.
JAVA_OPTS="$JAVA_OPTS -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} -Darms.workspace={workspace} "Se a sua versão do Tomcat não tiver o arquivo de configuração setenv.sh, abra o arquivo {TOMCAT_HOME}/bin/catalina.sh e adicione a configuração acima após JAVA_OPTS. Para um exemplo, consulte a linha 256 de catalina.sh.
Jetty
Adicione a configuração a seguir ao arquivo de configuração {JETTY_HOME}/start.ini.
aliyun-java-agent.jar --exec -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} -Darms.workspace={workspace}Para implantar múltiplas instâncias da mesma aplicação em um único servidor, use o parâmetro -Darms.agentId (um ID lógico) para diferenciar os processos da JVM. Por exemplo:
java -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} -Darms.workspace={workspace} -Darms.agentId=001 -jar demoApp.jar Reinicie a aplicação Java.
(Opcional) Instalar com Docker
Em ambientes Docker, consulte o exemplo de Dockerfile a seguir para adaptar o seu próprio Dockerfile.
# Replace {original-docker-image:tag} with your image address.
FROM {original-docker-image:tag}
# Replace the working directory as needed.
WORKDIR /root/
# Refer to the agent installation steps above to get the agent download URL for your region. Note the difference between the public endpoint and the VPC endpoint.
RUN wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/AliyunJavaAgent.zip" -O AliyunJavaAgent.zip
# Decompress the agent.
RUN unzip AliyunJavaAgent.zip -d /root/
# Write LicenseKey, AppName, and workspace to environment variables.
ENV arms_licenseKey={LicenseKey}
ENV arms_appName={AppName}
ENV arms_workspace={workspace}
# Concatenate the required startup script and append it to the JAVA_TOOL_OPTIONS environment variable.
ENV JAVA_TOOL_OPTIONS ${JAVA_TOOL_OPTIONS} '-javaagent:/root/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey='${arms_licenseKey}' -Darms.appName='${arms_appName}' -Darms.workspace='${arms_workspace}
# Check the JAVA_TOOL_OPTIONS environment variable.
RUN env | grep JAVA_TOOL_OPTIONS
# Add custom Dockerfile logic below.
# ......
Visualizar detalhes de monitoramento
Acesse o console do cloud Monitor 2.0 e selecione um workspace. No painel de navegação à esquerda, escolha All features > Application Observability > Application Monitoring.
A página Application List exibe as aplicações conectadas. Clique em no nome de uma aplicação para visualize os dados detalhados de monitoramento.