Javaエージェントのインストール準備

Java エージェントを展開する場所と方法を決定する際は、次の点を考慮してください。

  • JVM を実行するユーザには、Java エージェントホームの conf および logs ディレクトリへの書き込み権限が必要です(conf(<JAVA_AGENT_HOME>/ver<VERSION>/)への権限)。この条件を満たすために、JVM 所有者と同じユーザとして、またはホストマシンの管理者としてエージェントをインストールすることができます。エージェントディレクトリのその他のコンテンツは読み取り専用アクセスに制限できます。
  • Java エージェントとコントローラ間の通信をセキュリティで保護する場合は、「Javaエージェント用SSLの有効化」を参照してください。
  • エージェントがローカルプロキシを介してコントローラに接続する場合、エージェント用のプロキシ設定を構成する必要があります。「Java エージェント設定プロパティ」の「コントローラ用プロキシプロパティ」を参照してください。
  • Javaエージェントは、同じマシンで実行されている複数のJVM間での単一エージェントの共有をサポートします。この展開シナリオでは、システムプロパティと、バージョン管理された構成ファイルの組み合わせで設定を指定する必要があります。構成例については、「単一マシン上で複数の JVM をインストルメント化する」を参照してください。

cURL のインストールについては、Splunk AppDynamics ソフトウェアのダウンロード」を参照してください。

注: Java エージェントはバイトコード インジェクション(BCI)エージェントの一種です。他の BCI エージェントとの競合による予期しない問題を避けるために、JVM 上の唯一の BCI エージェントとして Java エージェントを実行する環境のみがサポートされます。

各自の責任に基づき、JVM で複数の BCI エージェントを実行できます。Java エージェント 4.5.16 以前では、次のコマンドラインオプションを指定することで、他のエージェントと競合する可能性を減らすことができます。

-Dappdynamics.agent.prefer.retransformClasses=true

Java エージェント 4.5.17 以降では、他のエージェントの存在を検出すると、このオプションが自動的に有効になります。

カスタム Java ランタイムイメージのインストゥルメント化

Java エージェントを使用して、jlink を使用して構築されたカスタム Java ランタイムイメージで実行されているアプリケーションをインストゥルメント化できます。エージェントをインストゥルメント化するには、カスタムランタイムに次のモジュールが必要です。

  • jdk.management
  • java.logging
  • jdk.unsupported
注:

jdk.jcmd は、カスタムランタイムに必要なモジュールではありません。ただし、オブジェクトインスタンス追跡を適切に機能させるには、これが必要です。Javaのオブジェクトインスタンスの追跡Javaのオブジェクトインスタンスの追跡

Splunk AppDynamics では、Java.se のすべてのパッケージがインストールされていることが前提となっています。