有关详细信息,请参阅 Azure 应用服务和 Java 的应用程序监视

Azure Functions

有关详细信息,请参阅 使用 Azure Monitor Application Insights 监视 Azure Functions

Azure Spring Apps

有关详细信息,请参阅 使用 Azure Spring Apps 中的 Application Insights Java 进程内代理

Docker 入口点

如果使用的是 exec 形式,请将参数 -javaagent:"path/to/applicationinsights-agent-3.4.15.jar" 添加到参数列表中 "-jar" 参数之前的某个位置,例如:

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

如果使用的是 shell 形式,请在 -jar 之前的某个位置添加 JVM 参数 -javaagent:"path/to/applicationinsights-agent-3.4.15.jar",例如:

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

Docker 文件

Dockerfile 示例:

FROM ...
COPY target/*.jar app.jar
COPY agent/applicationinsights-agent-3.4.15.jar applicationinsights-agent-3.4.15.jar 
COPY agent/applicationinsights.json applicationinsights.json
ENV APPLICATIONINSIGHTS_CONNECTION_STRING="CONNECTION-STRING"
ENTRYPOINT["java", "-javaagent:applicationinsights-agent-3.4.15.jar", "-jar", "app.jar"]

在此示例中,我们从 agent 文件夹中复制了 applicationinsights-agent-3.4.15.jarapplicationinsights.json 文件(你可以选择计算机中的任何文件夹)。 这两个文件必须位于 Docker 容器中的同一文件夹中。

第三方容器映像

如果使用无法修改的第三方容器映像,请从外部将 Application Insights Java 代理 jar 装入容器中。 为容器 JAVA_TOOL_OPTIONS=-javaagent:/path/to/applicationinsights-agent.jar 设置环境变量。

Spring Boot

有关详细信息,请参阅将 Azure Monitor Application Insights 与 Spring Boot 配合使用

Java 应用程序服务器

以下部分演示如何为不同的应用程序服务器设置 Application Insights Java 代理路径。 可在此处找到配置选项。

Tomcat 8 (Linux)

通过 apt-get 或 yum 安装 Tomcat

如果通过 apt-getyum 安装了 Tomcat,则应有文件 /etc/tomcat8/tomcat8.conf。 将以下行添加到该文件的末尾:

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

通过下载并解压缩相关软件安装的 Tomcat

如果通过从 https://tomcat.apache.org 下载并解压缩相关软件安装了 Tomcat,则应有文件 <tomcat>/bin/catalina.sh。 在同一目录中创建包含以下内容的名为 <tomcat>/bin/setenv.sh 的新文件:

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

如果文件 <tomcat>/bin/setenv.sh 已存在,请修改该文件,将 -javaagent:path/to/applicationinsights-agent-3.4.15.jar 添加到 CATALINA_OPTS

Tomcat 8 (Windows)

从命令行运行 Tomcat

找到文件 <tomcat>/bin/catalina.bat。 在同一目录中创建包含以下内容的名为 <tomcat>/bin/setenv.bat 的新文件:

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

引号不是必需的,但如果要包括引号,则正确的位置是:

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

如果文件 <tomcat>/bin/setenv.bat 已存在,请修改该文件,将 -javaagent:path/to/applicationinsights-agent-3.4.15.jar 添加到 CATALINA_OPTS

将 Tomcat 作为 Windows 服务运行

找到文件 <tomcat>/bin/tomcat8w.exe。 运行该可执行文件,并将 -javaagent:path/to/applicationinsights-agent-3.4.15.jar 添加到 Java 选项卡下的 Java Options 中。

JBoss EAP 7

独立服务器

-javaagent:path/to/applicationinsights-agent-3.4.15.jar 添加到文件 JBOSS_HOME/bin/standalone.conf (Linux) 或 JBOSS_HOME/bin/standalone.conf.bat (Windows) 中的现有 JAVA_OPTS 环境变量:

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

-javaagent:path/to/applicationinsights-agent-3.4.15.jar 添加到 JBOSS_HOME/domain/configuration/host.xml 中的现有 jvm-options

<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.4.15.jar"/> <option value="-XX:MetaspaceSize=96m"/> <option value="-XX:MaxMetaspaceSize=256m"/> </jvm-options> </jvms>

如果在单个主机上运行多个托管服务器,则需要将 applicationinsights.agent.id 添加到每个 serversystem-properties

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

指定的 applicationinsights.agent.id 值必须是独一无二的。 它用于在 Application Insights 目录下创建子目录。 每个 JVM 进程都需要自己的本地 Application Insights 配置和本地 Application Insights 日志文件。 此外,如果向中央收集器报告,则 applicationinsights.properties 文件由多个托管服务器共享,因此需要使用指定的 applicationinsights.agent.id 重写该共享文件中的 agent.id 设置。 如果需要重写每个托管服务器的 agent.rollup.id 设置,则可在服务器的 system-properties 中以类似方式指定 applicationinsights.agent.rollup.id

Jetty 9

将以下行添加到 start.ini

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

Payara 5

-javaagent:path/to/applicationinsights-agent-3.4.15.jar 添加到 glassfish/domains/domain1/config/domain.xml 中的现有 jvm-options

<java-config ...> <!--Edit the JVM options here--> <jvm-options> -javaagent:path/to/applicationinsights-agent-3.4.15.jar> </jvm-options> </java-config>

WebSphere 8

  • 打开管理控制台。

  • 转到“服务器”>“WebSphere 应用程序服务器”>“应用程序服务器”。 选择适当的应用程序服务器并选择以下内容:

    Java and Process Management > Process definition >  Java Virtual Machine
    
  • Generic JVM arguments 中,添加以下 JVM 参数:

    -javaagent:path/to/applicationinsights-agent-3.4.15.jar
    
  • 保存并重启应用程序服务器。

    OpenLiberty 18

    在服务器目录(例如 <openliberty>/usr/servers/defaultServer)中创建新文件 jvm.options,并添加以下行:

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

    请参阅应用程序服务器文档,了解如何添加 JVM 参数。

  •