アプリケーション環境はますます動的になっています。たとえば、AWS または Rackspace でホストされる環境では、管理者はワークロードが原因で短時間でノードをオンラインまたはオフラインにすることができ、結果として、多数の短命な JVM が存在する環境になります。
動的な環境に関する考慮事項
AppDynamicsのアプリエージェントは実質上、従来のデータセンターと同じように動的な環境で動作します。ただし、動的な環境にエージェントを展開する際にはいくつか考慮すべき事項があります。
AppDynamics を構成して、動的な環境でノード名を再利用することができます。ノード名の再利用を有効化しておくと、ノードがシャットダウンされ AppDynamics で履歴としてマークされた後、そのノードの名前は後に登録されるノードに再利用できるようになります。また、動的なアプリケーションに対して同時に実行されているすべての JVM 間の関連を示すためにノード名を再利用する際、ノード名のプレフィックスを指定できます。
この環境でエージェントを構成するには、次のプロパティを使用します。
有効にすると、コントローラでエージェントの名前の割り当てが管理されます。連続して増える数がサフィックスとして指定のプレフィックスに追加され、ノード名となります。その他の仕組み(controller-info.xml
ファイルまたはシステムプロパティなど)を使用してノード名を指定することは避けてください。
以下に、起動スクリプトに表示されるプロパティのサンプル設定を示します。
-Dappdynamics.agent.reuse.nodeName=true
-Dappdynamics.agent.reuse.nodeName.prefix=CloudActivator_
CODE
ノード名の再利用を有効にすると、Javaエージェントは起動後およびコントローラへの登録前に標準出力にログを出力します。エージェント登録の失敗をトラブルシューティングするために、代わりにログファイルをファイルに書き込むこともできます。
ログをファイルに書き込むようにエージェントを構成するには、<agent_home>/<version_number>/conf/logging
で log4j-unknown.xml
を編集し、次のように AgentLog Appender
のコメントを外します。
<!-- To log files to an "unknown" folder before the agent registers
with the Controller, uncomment the line below -->
<appender-ref ref="AgentLogAppender"/>
CODE
この変更により、登録前のエージェントのログファイルは標準出力ではなく「不明」という名前のディレクトリに書き込まれるようになります。
シャットダウン時に動的ノードを履歴ノードとして記録する
「動的環境用のエージェントの構成」セクションに示されているように、ノード名再利用フラグを設定すると、JVM は正常なシャットダウンを報告し、コントローラは対応するノードを履歴ノードとして記録します。ノード名を再利用しない場合は、次のいずれかの代替方法を使用してノードを履歴ノードとして記録できます。
コントローラでの履歴ノードの処理
ノードが一定期間コントローラと通信していない場合、コントローラはそのノードを履歴ノードとして記録します。コントローラは、そのノードに関するルール評価などの一部の処理アクティビティを中断します。詳細については、「履歴ノードと切断ノード」を参照してください。