このページでは、AppDynamics Java エージェントの保守方法と、要件に合わせて構成をチューニングする方法について説明します。たとえば、エージェントを新しいバージョンにアップグレードする方法やエージェント用にSSLを構成する方法などについて説明します。

構成オプションおよび優先順位

構成設定を使用して、Javaエージェントのオペレーションのさまざまな側面を制御できます。以下に示すように、エージェントはこれらの設定を指定するためのいくつかのアプローチを提供します。

リストの順序は設定の優先度と一致します。エージェントは、検出した構成プロパティに最初の空でない値を以下の順序で適用します。  

  1. 環境変数Javaエージェント設定に環境変数を使用する」を参照。
  2. JVM の起動コマンドで 渡されるシステムプロパティ。
  3. バージョン管理されたエージェントプロパティ<agent_home>/<version_number>/conf/agent.properties
  4. グローバル エージェント プロパティ<agent_home>/conf/agent.properties
  5. バージョン管理された構成ファイル: <agent_home>/<version_number>/conf/controller-info.xml

  6. グローバル構成ファイル:<agent_home>/conf/controller-info.xml

すべてのプロパティが controller-config.xml の環境変数、システムプロパティ、XML 要素として利用できるわけではありません。プロパティ参考資料には、利用可能な構成メソッドのみ含まれます。

効果的な構成戦略を選択

  • グローバルエージェントプロパティやグローバル構成ファイルを使用する前に、バージョン管理されたエージェントプロパティやバージョン管理された構成ファイルを使用。これにより、将来エージェントがリリースされる際に構成フォーマットに変更が生じてもインパクトを最小限に抑えることができる。
  • エージェントは、管理された1つのディレクトリから管理されたエージェントプロパティおよび管理された構成ファイルのみを読み取ります。アップグレードの間に、以前のバージョンのディレクトリから手動で構成を移行します。詳細については、「Javaエージェントのアップグレード」を参照してください。
  • エージェントダウンロードウィザードは、管理された構成ファイルを使用して自動的にエージェントを構成します。controller-info.xml の構成はエージェント ID を静的に定義します。
  • フレキシブルなエージェントIDを必要とする動的またはエラスティックな環境では、動的にノードIDを提供するアプローチを使用します。
    たとえば、環境変数またはシステムプロパティを使用して、ノード ID または他のエージェント構成設定を動的に渡します。 
  • 複数の JVM インスタンス間で共有されているバイナリの場合、AppDynamics では、構成ファイルとスタートアッププロパティを組み合わせてアプリエージェントを構成することを推奨します。この場合、controller-info.xml ファイルですべての JVM に共通のプロパティを構成します。次に、環境変数またはシステムプロパティを使用して、各 JVM に固有のプロパティを指定します。構成の例については、「単一マシン上で複数の JVM をインストゥルメント化する」を参照してください。
  • 一部のプロパティでは、起動スクリプトですでに定義されているシステムプロパティをJavaエージェントプロパティ値として使用できます。詳細については、「Javaエージェント設定にシステムプロパテイを使用する」を参照してください。

システムプロパティのサンプル構成

次のコマンドは、Java エージェントを起動および構成するシステムプロパティを含む起動スクリプトです。アプリケーションは「ACMEOnline」、ティアは「Inventory」、ノードは「Inventory1」になります。SampleApplication はアプリケーションファイルです。 

java -javaagent:/home/appdynamics/agent/javaagent.jar -Dappdynamics.controller.hostName=mycontroller.example.com -Dappdynamics.controller.port=8090 -Dappdynamics.agent.applicationName=ACMEOnline -Dappdynamics.agent.tierName=Inventory -Dappdynamics.agent.nodeName=Inventory1 MyApplication.jar

システムプロパティの値は大文字と小文字を区別。

エージェントのプロパティのサンプル構成

agent.properties ファイルはデフォルトでは、Java エージェントに含まれていません。このファイルはシステムプロパティのキー/値のペアーの一覧です。例:

appdynamics.controller.hostName=mycontroller.example.com
appdynamics.controller.port=8090
  • JVM は、agent.properties ファイルからのプロパティをシステムプロパティと同様に扱います。agent.properties にある値は JVM 起動スクリプトで明示的に渡されたプロパティをオーバーライドすることはありません。
  • また、AppDynamics 固有ではないシステムプロパティを agent.properties ファイルに含めることもできます。agent.properties の値は JVM 起動スクリプトで渡された値をオーバーライドすることはありません。
  • agent.properties ファイルにキー用の -D スイッチを含めないでください。

controller-info.xmlサンプルファイル

controller-info.xml ファイルは <agent_home>/<version_number>/conf にあります。エージェントディストリビューションからのファイル中のコメントは、設定を記述します。簡潔にするため、以下の例では削除しています。

<?xml version="1.0" encoding="UTF-8"?>
<controller-info>
	<controller-host>192.168.1.20</controller-host>
	<controller-port>8090</controller-port>
	<controller-ssl-enabled>false</controller-ssl-enabled>
	<application-name>ACMEOnline</application-name>
	<tier-name>InventoryTier</tier-name>
	<node-name>Inventory1</node-name>
	<agent-runtime-dir></agent-runtime-dir>
	<enable-orchestration>false</enable-orchestration>
	<account-name>customer1</account-name>
	<account-access-key>341bf72e-7d7a-1234-b33d-9n712nn574</account-access-key>
	<force-agent-registration>false</force-agent-registration>
</controller-info> 

構成設定の全リストについては、「Javaエージェント構成プロパティ」を参照してください。