Introducción (complementaria)
En las secciones siguientes, aprenderá a obtener la instrumentación automática de Java para entornos técnicos específicos.
Azure App Service
Para más información, consulte Supervisión de aplicaciones para Azure App Service y Java.
Azure Functions
Para obtener más información, consulte Supervisión de Azure Functions con Application Insights de Azure Monitor.
Azure Spring Apps
Para más información, consulte Uso del agente In-Process de Java de Application Insights en Azure Spring Apps.
Contenedores
Nota:
Con las aplicaciones de imagen nativa Spring Boot, use el proyecto de Aplicación Java de imagen nativa openTelemetry / Application Insights de Azure Monitor en lugar del agente java de Application Insights.
Punto de entrada de Docker
Si usa el formato exec, agregue el parámetro -javaagent:"path/to/applicationinsights-agent-3.5.2.jar"
a la lista de parámetros en algún lugar antes del parámetro "-jar"
, por ejemplo:
ENTRYPOINT ["java", "-javaagent:path/to/applicationinsights-agent-3.5.2.jar", "-jar", "<myapp.jar>"]
Si usa el formato shell, agregue el argumento -javaagent:"path/to/applicationinsights-agent-3.5.2.jar"
de Máquina virtual Java (JVM) en algún lugar antes de -jar
, por ejemplo:
ENTRYPOINT java -javaagent:"path/to/applicationinsights-agent-3.5.2.jar" -jar <myapp.jar>
Archivo de Docker
Ejemplo de Dockerfile:
FROM ...
COPY target/*.jar app.jar
COPY agent/applicationinsights-agent-3.5.2.jar applicationinsights-agent-3.5.2.jar
COPY agent/applicationinsights.json applicationinsights.json
ENV APPLICATIONINSIGHTS_CONNECTION_STRING="CONNECTION-STRING"
ENTRYPOINT["java", "-javaagent:applicationinsights-agent-3.5.2.jar", "-jar", "app.jar"]
En este ejemplo, copiará los archivos applicationinsights-agent-3.5.2.jar
y applicationinsights.json
de una carpeta agent
(puede elegir cualquier carpeta de la máquina). Estos dos archivos deben estar en la misma carpeta del contenedor de Docker.
Imágenes de contenedor de asociados
Si usa una imagen de contenedor de asociados que no puede modificar, monte el archivo jar del agente de Java de Application Insights en el contenedor desde fuera. Establezca la variable de entorno del contenedor JAVA_TOOL_OPTIONS=-javaagent:/path/to/applicationinsights-agent.jar
.
Spring Boot
Para más información, consulte Uso de Application Insights de Azure Monitor con Spring Boot.
Servidores de aplicaciones Java
Para obtener información sobre cómo configurar el agente de Java de Application Insights, consulte Habilitación de OpenTelemetry de Azure Monitor para Java. En las secciones siguientes se proporcionan detalles que podrían resultar útiles al configurar el argumento de JVM -javaagent:...
en distintos servidores de aplicaciones.
Tomcat 8 (Linux)
Tomcat instalado a través de apt-get o yum
Si instaló Tomcat mediante apt-get
o yum
, debe tener un archivo /etc/tomcat8/tomcat8.conf
. Agregue esta línea al final del archivo:
JAVA_OPTS="$JAVA_OPTS -javaagent:path/to/applicationinsights-agent-3.5.2.jar"
Tomcat instalado mediante descarga y descompresión
Si instaló Tomcat mediante la descarga y descompresión de https://tomcat.apache.org, debe tener un archivo denominado <tomcat>/bin/catalina.sh
. Cree un nuevo archivo en el mismo directorio denominado <tomcat>/bin/setenv.sh
con el siguiente contenido:
CATALINA_OPTS="$CATALINA_OPTS -javaagent:path/to/applicationinsights-agent-3.5.2.jar"
Si el archivo <tomcat>/bin/setenv.sh
ya existe, modifíquelo y agregue -javaagent:path/to/applicationinsights-agent-3.5.2.jar
a CATALINA_OPTS
.
Tomcat 8 (Windows)
Ejecución de Tomcat desde la línea de comandos
Busque el archivo <tomcat>/bin/catalina.bat
. Cree un nuevo archivo en el mismo directorio denominado <tomcat>/bin/setenv.bat
con el siguiente contenido:
set CATALINA_OPTS=%CATALINA_OPTS% -javaagent:path/to/applicationinsights-agent-3.5.2.jar
Las comillas no son necesarias, pero si quiere incluirlas, la ubicación adecuada es la siguiente:
set "CATALINA_OPTS=%CATALINA_OPTS% -javaagent:path/to/applicationinsights-agent-3.5.2.jar"
Si el archivo <tomcat>/bin/setenv.bat
ya existe, modifíquelo y agréguelo -javaagent:path/to/applicationinsights-agent-3.5.2.jar
a CATALINA_OPTS
.
Ejecución de Tomcat como servicio de Windows
Busque el archivo <tomcat>/bin/tomcat8w.exe
. Ejecute el archivo ejecutable y agregue -javaagent:path/to/applicationinsights-agent-3.5.2.jar
a la sección Java Options
de la pestaña Java
.
JBoss Enterprise Application Platform 7
En Red Hat JBoss Enterprise Application Platform (EAP) 7, puede configurar un servidor independiente o un servidor de dominio.
Servidor independiente
Agregue -javaagent:path/to/applicationinsights-agent-3.5.2.jar
a la variable de entorno JAVA_OPTS
existente en el archivo JBOSS_HOME/bin/standalone.conf
(Linux) o JBOSS_HOME/bin/standalone.conf.bat
(Windows):
JAVA_OPTS="-javaagent:path/to/applicationinsights-agent-3.5.2.jar -Xms1303m -Xmx1303m ..."
...
Servidor del dominio
Agregue -javaagent:path/to/applicationinsights-agent-3.5.2.jar
al elemento jvm-options
existente en el archivo JBOSS_HOME/domain/configuration/host.xml
:
...
<jvms>
<jvm name="default">
<heap size="64m" max-size="256m"/>
<jvm-options>
<option value="-server"/>
<!--Add Java agent jar file here-->
<option value="-javaagent:path/to/applicationinsights-agent-3.5.2.jar"/>
<option value="-XX:MetaspaceSize=96m"/>
<option value="-XX:MaxMetaspaceSize=256m"/>
</jvm-options>
</jvm>
</jvms>
...
Si ejecuta varios servidores administrados en un solo host, deberá agregar applicationinsights.agent.id
al elemento system-properties
de cada server
:
...
<servers>
<server name="server-one" group="main-server-group">
<!--Edit system properties for server-one-->
<system-properties>
<property name="applicationinsights.agent.id" value="..."/>
</system-properties>
</server>
<server name="server-two" group="main-server-group">
<socket-bindings port-offset="150"/>
<!--Edit system properties for server-two-->
<system-properties>
<property name="applicationinsights.agent.id" value="..."/>
</system-properties>
</server>
</servers>
...
El valor de applicationinsights.agent.id
especificado debe ser único. Usará el valor para crear un subdirectorio en el directorio de Application Insights. Cada proceso de JVM necesita su propia configuración local de Application Insights y su propio archivo de registro de Application Insights local. Además, si se informa al recopilador central, el archivo applicationinsights.properties
se comparte entre varios servidores administrados, por lo que el valor applicationinsights.agent.id
especificado es necesario para invalidar la configuración agent.id
de dicho archivo compartido. applicationinsights.agent.rollup.id
se puede especificar de manera similar en el elemento system-properties
del servidor si necesita invalidar la configuración agent.rollup.id
de cada servidor administrado.
Jetty 9
Agregue estas líneas a start.ini
:
--exec
-javaagent:path/to/applicationinsights-agent-3.5.2.jar
Payara 5
Agregue -javaagent:path/to/applicationinsights-agent-3.5.2.jar
al elemento jvm-options
existente en el archivo glassfish/domains/domain1/config/domain.xml
:
...
<java-config ...>
<!--Edit the JVM options here-->
<jvm-options>
-javaagent:path/to/applicationinsights-agent-3.5.2.jar>
</jvm-options>
...
</java-config>
...
WebSphere 8
Abra la consola de administración:
Vaya a Servidores> Servidores de aplicaciones de WebSphere>Servidores de aplicaciones. Seleccione los servidores de aplicaciones adecuados y seleccione Java y administración de procesos>Definición de procesos>Máquina virtual Java.
En
Generic JVM arguments
, agregue el siguiente argumento de JVM.-javaagent:path/to/applicationinsights-agent-3.5.2.jar
Guarde y reinicie el servidor de aplicaciones.
OpenLiberty 18
Cree un archivo jvm.options
en el directorio del servidor (por ejemplo, <openliberty>/usr/servers/defaultServer
) y agregue la siguiente línea:
-javaagent:path/to/applicationinsights-agent-3.5.2.jar
Otros
Consulte la documentación del servidor de aplicaciones sobre cómo agregar argumentos de JVM.