作業の開始 (補足)

次のセクションでは、特定の技術環境で Java 自動インストルメンテーションを実現する方法について説明します。

Azure App Service

詳細については、「Azure App Service と Java のアプリケーション監視」を参照してください。

Azure Functions

詳細については、「Azure Monitor Application Insights で Azure Functions を監視する」をご覧ください。

Azure Spring Apps

詳細については、「Azure Spring Apps で Application Insights Java In-Process Agent を使用する」を参照してください。

Containers

Note

Spring Boot ネイティブ イメージ アプリケーションでは、Application Insights Java エージェントではなく、Spring Boot ネイティブ イメージ Java アプリケーションの Azure Monitor OpenTelemetry Distro/Application Insights プロジェクトを使用します。

Docker エントリ ポイント

exec フォームを使用している場合は、パラメーター -javaagent:"path/to/applicationinsights-agent-3.5.2.jar" を、パラメーターリストの "-jar" パラメーターより前の位置に追加します。次に例を示します。

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

shell フォームを使用している場合は、Java 仮想マシン (JVM) 引数 -javaagent:"path/to/applicationinsights-agent-3.5.2.jar"-jar より前の位置に追加します。次に例を示します。

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

Docker ファイル

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

この例では、applicationinsights-agent-3.5.2.jar および applicationinsights.json ファイルを agent フォルダーからコピーします (マシンの任意のフォルダーを選択できます)。 この 2 つのファイルは、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 エージェントの設定については、Java 用の Azure Monitor OpenTelemetry の有効化に関する記事を参照してください。 以降のセクションでは、さまざまなアプリケーション・サーバーで -javaagent:... JVM 引数を構成する際に役立つ可能性のある詳細情報を示します。

Tomcat 8 (Linux)

apt-get または yum 経由でインストールされた Tomcat

apt-get または yum を使用して Tomcat をインストールした場合は、ファイル /etc/tomcat8/tomcat8.conf があるはずです。 そのファイルの末尾に次の行を追加します。

JAVA_OPTS="$JAVA_OPTS -javaagent:path/to/applicationinsights-agent-3.5.2.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.5.2.jar"

ファイル <tomcat>/bin/setenv.sh が既に存在する場合は、そのファイルを変更し、CATALINA_OPTS-javaagent:path/to/applicationinsights-agent-3.5.2.jar を追加します。

Tomcat 8 (Windows)

Tomcat をコマンド ラインから実行する

<tomcat>/bin/catalina.bat ファイルを見つけます。 <tomcat>/bin/setenv.bat という名前で、同じディレクトリに新しいファイルを作成して、次の内容を設定します。

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

引用符は必須ではありませんが、含める場合の適切な位置は次のようになります。

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

ファイル <tomcat>/bin/setenv.bat が既に存在する場合は、そのファイルを変更し、CATALINA_OPTS-javaagent:path/to/applicationinsights-agent-3.5.2.jar を追加します。

Tomcat を Windows サービスとして実行する

<tomcat>/bin/tomcat8w.exe ファイルを見つけます。 その実行可能ファイルを実行し、[Java] タブの [Java Options] に -javaagent:path/to/applicationinsights-agent-3.5.2.jar を追加します。

JBoss Enterprise Application Platform 7

Red Hat JBoss Enterprise Application Platform (EAP) 7 では、スタンドアロン サーバーまたはドメイン サーバーを設定できます。

スタンドアロン サーバー

ファイル JBOSS_HOME/bin/standalone.conf (Linux) または JBOSS_HOME/bin/standalone.conf.bat (Windows) の既存の JAVA_OPTS 環境変数に -javaagent:path/to/applicationinsights-agent-3.5.2.jar を追加します。

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

ドメイン サーバー

JBOSS_HOME/domain/configuration/host.xml の既存の jvm-options-javaagent:path/to/applicationinsights-agent-3.5.2.jar を追加します。

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

複数のマネージド サーバーを 1 つのホストで実行している場合は、各 serversystem-propertiesapplicationinsights.agent.id を追加する必要があります。

...
<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 設定をオーバーライドするために必要になります。 applicationinsights.agent.rollup.id は、マネージド サーバーごとに agent.rollup.id 設定をオーバーライドする必要がある場合に、サーバーの system-properties でも同様に指定できます。

Jetty 9

次の行を start.ini に追加します。

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

Payara 5

glassfish/domains/domain1/config/domain.xml の既存の jvm-options-javaagent:path/to/applicationinsights-agent-3.5.2.jar を追加します。

...
<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. 管理コンソールを開きます。

  2. [サーバー]>[WebSphere アプリケーション サーバー]>[アプリケーション サーバー] に移動します。 適切なアプリケーション サーバーを選択し、[Java and Process Management] (Java およびプロセス管理)>[プロセス定義]>[Java 仮想マシン] を選択します。

  3. Generic JVM arguments に、以下の JVM 引数を追加します。

    -javaagent:path/to/applicationinsights-agent-3.5.2.jar
    
  4. 保存してアプリケーション サーバーを再起動します。

OpenLiberty 18

サーバー ディレクトリに新しいファイル jvm.options (例: <openliberty>/usr/servers/defaultServer) を作成し、次の行を追加します。

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

Others

JVM 引数を追加する方法については、アプリケーション サーバーのドキュメントを参照してください。