Introdução (Complementar)

Nas seções a seguir, saiba como obter a instrumentação automática do Java para ambientes técnicos específicos.

Serviço de Aplicativo do Azure

Para obter mais informações, consulte Monitoramento de aplicativos para o Serviço de Aplicativo do Azure e Java.

Azure Functions

Para obter mais informações, confira Monitoramento do Azure Functions com o Azure Monitor Application Insights.

Azure Spring Apps

Para obter mais informações, confira Usar o agente em processo do Application Insights para Java no Azure Spring Apps.

Contêineres

Observação

Com os aplicativos Spring Boot Native Image, use o projeto Azure Monitor OpenTelemetry Distro/Application Insights no aplicativo Java de imagem nativa do Spring Boot em vez do agente Java do Application Insights.

Ponto de entrada do Docker

Se estiver usando o formulário exec, adicione o parâmetro -javaagent:"path/to/applicationinsights-agent-3.5.2.jar" à lista de parâmetros em algum lugar antes do parâmetro "-jar", por exemplo:

ENTRYPOINT ["java", "-javaagent:path/to/applicationinsights-agent-3.5.2.jar", "-jar", "<myapp.jar>"]

Se estiver usando o formulário do shell, adicione o argumento -javaagent:"path/to/applicationinsights-agent-3.5.2.jar" da JVM (Máquina Virtual Java) em algum lugar antes de -jar, por exemplo:

ENTRYPOINT java -javaagent:"path/to/applicationinsights-agent-3.5.2.jar" -jar <myapp.jar>

Arquivo do Docker

Um exemplo 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"]

Neste exemplo, você copiará os arquivos applicationinsights-agent-3.5.2.jar e applicationinsights.json de uma pasta agent (você pode escolher qualquer pasta do computador). Esses dois arquivos devem estar na mesma pasta do contêiner do Docker.

Imagens de contêiner de um parceiro

Se você estiver usando uma imagem de contêiner de um parceiro que não pode modificar, monte o JAR do agente Java do Application Insights no contêiner externamente. Defina a variável de ambiente para o contêiner JAVA_TOOL_OPTIONS=-javaagent:/path/to/applicationinsights-agent.jar.

Spring Boot

Para obter mais informações, consulte Usar o Application Insights do Azure Monitor com o Spring Boot.

Servidores de Aplicativo Java

Para obter mais informações sobre como configurar o agente Java do Application Insights, confira Habilitar o OpenTelemetry do Azure Monitor para Java. As seções a seguir trazem detalhes que podem ser úteis ao configurar o argumento -javaagent:... da JVM em diferentes servidores de aplicativos.

Tomcat 8 (Linux)

Tomcat instalado por meio do apt-get ou por meio do yum

Se você instalou o Tomcat por meio do apt-get ou do yum, deverá ter um arquivo /etc/tomcat8/tomcat8.conf. Adicione esta linha ao final desse arquivo:

JAVA_OPTS="$JAVA_OPTS -javaagent:path/to/applicationinsights-agent-3.5.2.jar"

Tomcat instalado por meio de download e descompactado

Se você instalou o Tomcat por meio do download e o descompactou do https://tomcat.apache.org, deverá ter um arquivo <tomcat>/bin/catalina.sh. Crie um novo arquivo no mesmo diretório chamado <tomcat>/bin/setenv.sh com os conteúdos a seguir.

CATALINA_OPTS="$CATALINA_OPTS -javaagent:path/to/applicationinsights-agent-3.5.2.jar"

Se o arquivo <tomcat>/bin/setenv.sh já existir, modifique esse arquivo e adicione -javaagent:path/to/applicationinsights-agent-3.5.2.jar a CATALINA_OPTS.

Tomcat 8 (Windows)

Executar o Tomcat a partir da linha de comando

Localize o arquivo <tomcat>/bin/catalina.bat. Crie um novo arquivo no mesmo diretório chamado <tomcat>/bin/setenv.bat com os conteúdos a seguir.

set CATALINA_OPTS=%CATALINA_OPTS% -javaagent:path/to/applicationinsights-agent-3.5.2.jar

Aspas não são necessárias, mas se você quiser incluí-las, o posicionamento adequado será:

set "CATALINA_OPTS=%CATALINA_OPTS% -javaagent:path/to/applicationinsights-agent-3.5.2.jar"

Se o arquivo <tomcat>/bin/setenv.bat já existir, modifique esse arquivo e adicione -javaagent:path/to/applicationinsights-agent-3.5.2.jar a CATALINA_OPTS.

Executar o Tomcat como serviço Windows

Localize o arquivo <tomcat>/bin/tomcat8w.exe. Execute esse executável e -javaagent:path/to/applicationinsights-agent-3.5.2.jar adicione ao abaixo da Java Options guia Java.

JBoss Enterprise Application Platform 7

No Red Hat JBoss EAP (Enterprise Application Platform) 7, é possível configurar um servidor autônomo ou um servidor de domínio.

Servidor autônomo

Adicione -javaagent:path/to/applicationinsights-agent-3.5.2.jar à variável de JAVA_OPTS ambiente existente no arquivo JBOSS_HOME/bin/standalone.conf (Linux) ou JBOSS_HOME/bin/standalone.conf.bat (Windows):

    JAVA_OPTS="-javaagent:path/to/applicationinsights-agent-3.5.2.jar -Xms1303m -Xmx1303m ..."
    ...

Servidor de Domínio

Adicionar -javaagent:path/to/applicationinsights-agent-3.5.2.jar ao existente jvm-options no 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>
...

Se você estiver executando vários servidores gerenciados em um só host, será necessário adicionar applicationinsights.agent.id a system-properties para 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>
...

O valor applicationinsights.agent.id especificado deve ser exclusivo. Você usará o valor para criar um subdiretório no diretório do Application Insights. Cada processo de JVM precisa de sua própria configuração local do Application Insights e do arquivo de log local do Application Insights. Além disso, se você estiver gerando um relatório para o coletor central, os vários servidores gerenciados compartilharão o arquivo applicationinsights.properties e, portanto, a applicationinsights.agent.id especificada será necessária para substituir a configuração agent.id nesse arquivo compartilhado. O applicationinsights.agent.rollup.id pode ser especificado de forma semelhante no servidor system-properties se você precisar substituir a configuração agent.rollup.id por servidor gerenciado.

Jetty 9

Adicione essas linhas à start.ini:

--exec
-javaagent:path/to/applicationinsights-agent-3.5.2.jar

Payara 5

Adicionar -javaagent:path/to/applicationinsights-agent-3.5.2.jar ao existente jvm-options no 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 o console de gerenciamento.

  2. Acesse Servidores>Servidores de aplicativos WebSphere>Servidores de aplicativos. Escolha os servidores de aplicativos apropriados e selecione Gerenciamento de Processo e Java>Definição de processo>Máquina Virtual Java.

  3. Em Generic JVM arguments, adicione o argumento de JVM a seguir.

    -javaagent:path/to/applicationinsights-agent-3.5.2.jar
    
  4. Salve e reinicie o servidor de aplicativos.

OpenLiberty 18

Crie um novo arquivo jvm.options no diretório do servidor (por exemplo, <openliberty>/usr/servers/defaultServer) e adicione esta linha:

-javaagent:path/to/applicationinsights-agent-3.5.2.jar

Outras pessoas

Consulte a documentação do servidor de aplicativos sobre como adicionar argumentos da JVM.