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

  1. Abra la consola de administración:

  2. 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.

  3. En Generic JVM arguments, agregue el siguiente argumento de JVM.

    -javaagent:path/to/applicationinsights-agent-3.5.2.jar
    
  4. 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.