Começar (Suplementar)

Nas seções a seguir, saiba como obter a autoinstrumentação Java para ambientes técnicos específicos.

Serviço de Aplicações do Azure

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

Funções do Azure

Para obter mais informações, veja Monitorizar as Funções do Azure com o Application Insights do Azure Monitor.

Azure Spring Apps

Para obter mais informações, consulte Usar o Application Insights Java In-Process Agent no Azure Spring Apps.

Contentores

Nota

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

Ponto de entrada do Docker

Se você 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 "-jar" parâmetro, por exemplo:

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

Se você estiver usando o formulário shell , adicione o Java Virtual Machine (JVM) arg -javaagent:"path/to/applicationinsights-agent-3.5.2.jar" em algum lugar antes -jar, por exemplo:

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

Arquivo 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ê copia os arquivos e applicationinsights.json de applicationinsights-agent-3.5.2.jar uma agent pasta (você pode escolher qualquer pasta da sua máquina). Esses dois arquivos devem estar na mesma pasta no contêiner do Docker.

Imagens de contêiner de parceiros

Se você estiver usando uma imagem de contêiner de parceiro que não pode modificar, monte o jar do agente Java do Application Insights no contêiner do lado de fora. 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 Usando o Azure Monitor Application Insights com o Spring Boot.

Servidores de aplicações Java

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

Tomcat 8 (Linux)

Tomcat instalado via apt-get ou yum

Se você instalou o Tomcat via apt-get ou yum, você deve ter um arquivo /etc/tomcat8/tomcat8.conf. Adicione esta linha ao final desse ficheiro:

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

Tomcat instalado via download e descompactação

Se você instalou o Tomcat via download e descompacte do https://tomcat.apache.org, você deve ter um arquivo <tomcat>/bin/catalina.sh. Crie um novo arquivo no mesmo diretório nomeado <tomcat>/bin/setenv.sh com o seguinte conteúdo:

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

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

Tomcat 8 (Windows)

Execute o Tomcat a partir da linha de comando

Localize o ficheiro <tomcat>/bin/catalina.bat. Crie um novo arquivo no mesmo diretório nomeado <tomcat>/bin/setenv.bat com o seguinte conteúdo:

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

As cotações não são necessárias, mas se você quiser incluí-las, o posicionamento adequado é:

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

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

Executar o Tomcat como um serviço do Windows

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

Plataforma de aplicativos corporativos JBoss 7

No Red Hat JBoss Enterprise Application Platform (EAP) 7, você pode 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 ambiente existente JAVA_OPTS 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 em 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 único host, precisará adicionar applicationinsights.agent.id ao 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 especificado applicationinsights.agent.id deve ser exclusivo. Use o valor para criar um subdiretório no diretório Application Insights. Cada processo da 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 reportar ao coletor central, vários servidores gerenciados compartilharão o applicationinsights.properties arquivo, portanto, o especificado applicationinsights.agent.id será necessário para substituir a agent.id configuração nesse arquivo compartilhado. O applicationinsights.agent.rollup.id pode ser especificado de forma semelhante no servidor system-properties se você precisar substituir a agent.rollup.id configuração por servidor gerenciado.

Cais 9

Adicione estas linhas a 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 em 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. Vá para Servidores>WebSphere servidores de aplicativos>Servidores de aplicativos. Escolha os servidores de aplicativos apropriados e selecione Java e definição de processo>de gerenciamento de>processos Java Virtual Machine.

  3. No Generic JVM arguments, adicione o seguinte argumento da JVM.

    -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

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