Una vez instalado el agente para una aplicación Java, Cloud Monitor 2.0 comienza a monitorearla automáticamente. Desde la consola se consultan distintos datos de monitoreo, como la topología de la aplicación, las pilas de llamadas, las transacciones anómalas, las transacciones lentas y el análisis de SQL. En este tema se explica cómo instalar manualmente el agente para una aplicación Java.
No se recomienda instalar el agente manualmente en aplicaciones desplegadas en un entorno de Kubernetes. En su lugar, instálelo mediante la instalación de un componente. Para más información, consulte Install the Java agent for Container Service for Kubernetes (ACK) and Container Compute Service (ACS) using the ack-onepilot component.
Requisitos previos
Antes de empezar, compruebe lo siguiente:
Su red cumple con los ARMS agent connectivity requirements
Su versión de JDK es una de las Supported JDK versions
La memoria heap máxima de la JVM (
-Xmx) es de como mínimo 256 MB
Instalar el agente
Inicie sesión en la consola de Cloud Monitor 2.0 y seleccione un espacio de trabajo. En el panel de navegación izquierdo, haga clic en Integration Center.
Haga clic en la tarjeta Java Application Monitor y luego en Manual Installation.
-
Descargue el paquete del agente con uno de los siguientes métodos:
Desde la consola: en el panel Java Application Monitor, siga las indicaciones de descarga.
Desde la línea de comandos: ejecute el comando
wgetcorrespondiente a su región. Seleccione su región en la tabla que aparece a continuación.
-
Extraiga el archivo ZIP descargado en un directorio de trabajo:
unzip AliyunJavaAgent.zip -d <working-directory>Reemplace
<working-directory>por el directorio donde desea instalar el agente. -
Agregue los parámetros AppName y LicenseKey.
En el panel Java Application Monitoring, obtenga el valor de LicenseKey. El parámetro AppName indica la aplicación de ARMS a la que se conectará. Este nombre de aplicación se puede personalizar. En una arquitectura distribuida, una aplicación puede contener varias instancias del mismo nivel.
ImportanteEl LicenseKey es específico de cada espacio de trabajo. Si crea un espacio de trabajo nuevo, debe obtener un LicenseKey distinto.
Los valores de AppName y LicenseKey se agregan de alguna de las siguientes maneras.
Método 1 (recomendado): en el script de inicio, reemplace
{LicenseKey}y{AppName}por el LicenseKey obtenido en la consola y por el AppName de su aplicación.-
Método 2: si necesita reutilizar el script de inicio en distintas aplicaciones, especifique LicenseKey y AppName al modificar el archivo de configuración del agente. Siga estos pasos:
NotaEn versiones del agente anteriores a la 4.4.0, este método conecta la aplicación con default workspace.
En el archivo de versión que extrajo en el paso anterior, compruebe la versión del agente de Java.
-
Modifique el archivo de configuración del agente.
Agentes de la versión 4.0.0 y posteriores
En el directorio del agente, cree un archivo llamado arms-agent.properties y agregue la siguiente configuración. Después, añada
-Dotel.javaagent.configuration-file=/path/to/arms-agent.propertiesal comando de inicio o defina la variable de entornoOTEL_JAVAAGENT_CONFIGURATION_FILE=/path/to/arms-agent.propertiespara habilitar el archivo de configuración.arms.licenseKey={LicenseKey} arms.appName={AppName}Agentes anteriores a la versión 4.0.0
En el archivo arms-agent.config incluido en el paquete del agente, agregue la siguiente configuración.
arms.licenseKey={LicenseKey} arms.appName={AppName}NotaPara más información sobre otros elementos del archivo de configuración del agente, consulte Modify the Java agent configuration file and the default reporting region.
-
Agregue el comando de conexión al comando de inicio.
Reemplace
{user.workspace}por el directorio donde extrajo el paquete de instalación del agente. Sustituya demoApp.jar por la ruta real de su paquete JAR.NotaSi utiliza una versión del agente anterior a la 2.7.3.5, sustituya AliyunJavaAgent/aliyun-java-agent.jar en este tema por ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar. Se recomienda actualizar el agente a la versión más reciente lo antes posible.
En sistemas operativos Windows, reemplace
/por\y cambie la extensión de archivo.shpor.batdentro del script.Los agentes de la versión 2.7.1.4 y posteriores admiten seguridad de aplicaciones. Para habilitar esta función al conectar con Application Monitoring, agregue
-Darms.appsec.enable=trueal script. Para más información sobre las reglas de facturación de la seguridad de aplicaciones, consulte Billing.
Entorno de ejecución
Pasos
Spring Boot u otras aplicaciones Java iniciadas con el comando
java -jarAgregue el parámetro -javaagent al comando de inicio. Asegúrese de colocarlo antes del parámetro -jar.
java -javaagent:/{user.workspace}/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey={LicenseKey} -Darms.appName={AppName} -Darms.workspace={workspace} -jar demoApp.jarTomcat
Agregue la siguiente configuración al archivo {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} "Si su versión de Tomcat no incluye el archivo de configuración setenv.sh, abra el archivo {TOMCAT_HOME}/bin/catalina.sh y agregue la configuración anterior después de JAVA_OPTS. Como ejemplo, consulte la línea 256 de catalina.sh.
Jetty
Agregue la siguiente configuración al archivo {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 desplegar varias instancias de la misma aplicación en un único servidor, utilice el parámetro -Darms.agentId (un identificador lógico) para diferenciar los procesos de la JVM. Por ejemplo:
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 la aplicación Java.
(Opcional) Instalar con Docker
En entornos de Docker, tome como referencia el siguiente ejemplo de Dockerfile para modificar el suyo.
# 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.
# ......
Consultar los detalles de monitoreo
Inicie sesión en la consola de Cloud Monitor 2.0 y seleccione un espacio de trabajo. En el panel de navegación izquierdo, elija All features > Application Observability > Application Monitoring.
La página Application List muestra las aplicaciones conectadas. Haga clic en un nombre de aplicación para consultar los datos detallados de monitoreo.