作業の開始 (補足)
次のセクションでは、特定の技術環境で 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.6.0.jar"
を、パラメーターリストの "-jar"
パラメーターより前の位置に追加します。次に例を示します。
ENTRYPOINT ["java", "-javaagent:path/to/applicationinsights-agent-3.6.0.jar", "-jar", "<myapp.jar>"]
shell フォームを使用している場合は、Java 仮想マシン (JVM) 引数 -javaagent:"path/to/applicationinsights-agent-3.6.0.jar"
を -jar
より前の位置に追加します。次に例を示します。
ENTRYPOINT java -javaagent:"path/to/applicationinsights-agent-3.6.0.jar" -jar <myapp.jar>
Docker ファイル
Dockerfile の例:
FROM ...
COPY target/*.jar app.jar
COPY agent/applicationinsights-agent-3.6.0.jar applicationinsights-agent-3.6.0.jar
COPY agent/applicationinsights.json applicationinsights.json
ENV APPLICATIONINSIGHTS_CONNECTION_STRING="CONNECTION-STRING"
ENTRYPOINT["java", "-javaagent:applicationinsights-agent-3.6.0.jar", "-jar", "app.jar"]
この例では、applicationinsights-agent-3.6.0.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.6.0.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.6.0.jar"
ファイル <tomcat>/bin/setenv.sh
が既に存在する場合は、そのファイルを変更し、CATALINA_OPTS
に -javaagent:path/to/applicationinsights-agent-3.6.0.jar
を追加します。
Tomcat 8 (Windows)
Tomcat をコマンド ラインから実行する
<tomcat>/bin/catalina.bat
ファイルを見つけます。 <tomcat>/bin/setenv.bat
という名前で、同じディレクトリに新しいファイルを作成して、次の内容を設定します。
set CATALINA_OPTS=%CATALINA_OPTS% -javaagent:path/to/applicationinsights-agent-3.6.0.jar
引用符は必須ではありませんが、含める場合の適切な位置は次のようになります。
set "CATALINA_OPTS=%CATALINA_OPTS% -javaagent:path/to/applicationinsights-agent-3.6.0.jar"
ファイル <tomcat>/bin/setenv.bat
が既に存在する場合は、そのファイルを変更し、CATALINA_OPTS
に -javaagent:path/to/applicationinsights-agent-3.6.0.jar
を追加します。
Tomcat を Windows サービスとして実行する
<tomcat>/bin/tomcat8w.exe
ファイルを見つけます。 その実行可能ファイルを実行し、[Java
] タブの [Java Options
] に -javaagent:path/to/applicationinsights-agent-3.6.0.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.6.0.jar
を追加します。
JAVA_OPTS="-javaagent:path/to/applicationinsights-agent-3.6.0.jar -Xms1303m -Xmx1303m ..."
...
ドメイン サーバー
JBOSS_HOME/domain/configuration/host.xml
の既存の jvm-options
に -javaagent:path/to/applicationinsights-agent-3.6.0.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.6.0.jar"/>
<option value="-XX:MetaspaceSize=96m"/>
<option value="-XX:MaxMetaspaceSize=256m"/>
</jvm-options>
</jvm>
</jvms>
...
複数のマネージド サーバーを 1 つのホストで実行している場合は、各 server
の system-properties
に applicationinsights.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.6.0.jar
Payara 5
glassfish/domains/domain1/config/domain.xml
の既存の jvm-options
に -javaagent:path/to/applicationinsights-agent-3.6.0.jar
を追加します。
...
<java-config ...>
<!--Edit the JVM options here-->
<jvm-options>
-javaagent:path/to/applicationinsights-agent-3.6.0.jar>
</jvm-options>
...
</java-config>
...
WebSphere 8
管理コンソールを開きます。
[サーバー]>[WebSphere アプリケーション サーバー]>[アプリケーション サーバー] に移動します。 適切なアプリケーション サーバーを選択し、[Java and Process Management] (Java およびプロセス管理)>[プロセス定義]>[Java 仮想マシン] を選択します。
Generic JVM arguments
に、以下の JVM 引数を追加します。-javaagent:path/to/applicationinsights-agent-3.6.0.jar
保存してアプリケーション サーバーを再起動します。
OpenLiberty 18
サーバー ディレクトリに新しいファイル jvm.options
(例: <openliberty>/usr/servers/defaultServer
) を作成し、次の行を追加します。
-javaagent:path/to/applicationinsights-agent-3.6.0.jar
Others
JVM 引数を追加する方法については、アプリケーション サーバーのドキュメントを参照してください。