7.13. 共有ディレクトリーまたはアカウントを使用した複数のエージェントのインストール
複数のシステムで実行している複数のエージェントは、同じシステムユーザーアカウントを共有できます。異なるシステムで JBoss ON エージェントに同じユーザーを使用し 、 そのシステムユーザーがすべて同じ共有ホームディレクトリーを使用する場合、デフォルトで同じエージェント設定の場所と優先度が共有されます。エージェントが Java プリファレンスを使用する方法により、エージェントが相互の設定を上書きするのを防ぐために特別なエージェント設定が必要になります。
同じドメインユーザーが JBoss ON エージェントに使用されると、Windows システムで同様の状況が発生する可能性があります。この場合、Java プリファレンスはドメインユーザーが使用し、ローカルユーザーのプロファイルに読み込まれるレジストリーキーに保存されます。同じドメインユーザーを使用するエージェントが複数ある場合、それらは相互のレジストリーキーを上書きします。
設定後のすべてのエージェント設定は、の説明に従って Java 設定ノードに保管され 「エージェントの永続設定の管理」 ます。デフォルト設定では、ノード名はで default、ノードの場所は agentUserHomeDir になり ます
/.java/.userPrefs/rhq-agent/default
。
同じファイル共有を使用して複数のエージェントがインストールされている場合は、すべて同じデフォルトノードと場所の使用を試みます。
複数のエージェントが同じ Java 設定ノードの使用を試みると、各エージェントは設定時に以前のエージェントの設定を上書きします。つまり、最新のエージェントの設定のみが保存されるので、最新のエージェントしか起動できません。独自の設定が見つからないため、以前のエージェントの起動に失敗します。
preferences ノードは 2 つの設定で一意に識別されます。
- その名前は、エージェント設定として定義されます。
- その場所(Java オプション自体)
同じホームディレクトリーで複数のエージェントを実行するには、preferreds ノードは各エージェントに対して一意に識別される必要があります。これを行う方法は複数あります。
- エージェント設定ファイルの直接編集
- 明示的な Java オプションの設定
7.13.1. 設定ファイルの編集
エージェントを最初に設定すると、エージェント設定ノードの名前は
agent-configuration.xml
ファイルに設定され、そこからロードされます。ノードの場所は、ノード名の設定から派生します。
- 新しいノード名を使用するように
agent-configuration.xml
ファイルを編集します。[rhquser@server ~]$ vim agentRoot/rhq-agent/conf/agent-configuration.xml <node name="agent01-node">
- 次に、編集した設定ファイルを読み込む
--config
オプションと、特定のノードの場所を指定する--prefs
オプションを指定してエージェントを起動します。[rhquser@server ~]$ agentRoot/rhq-agent/bin/rhq-agent.sh --prefs=agent01-node --config=agent-configuration.xml
重要
agent-configuration.xml
ファイルを編集してカスタム Java 設定ノードを指定すると、エージェントが再起動するたびに、--prefs
オプションを使用してノードの場所をエージェントに渡す必要があります。
7.13.2. Java オプションの設定
agent-configuration.xml
ファイルを編集するとノード名は設定されません。エージェントを起動するたびにノードの場所が渡される必要があります。
rhq-agent-env.sh
ファイルに Java オプションを設定すると、--prefs
オプションを渡すか編集したり、設定を再読み込みすることなく、Java プリファレンスノード情報が一度設定され、永続化されるため、エージェントをサービスとして再起動できます。
- エージェントプロンプトを開きます。たとえば、エージェントプロセスがすでに実行している場合は、
-n
オプションでrhq-agent.sh
スクリプトを再度実行してプロンプトを開くことができます。[rhquser@server ~]$ agentRoot/rhq-agent/bin/rhq-agent.sh -n
- setconfig コマンドを使用して、プリファレンスノードで
RHQ_AGENT_ADDITIONAL_JAVA_OPTS
値を設定します。例:> setconfig RHQ_AGENT_ADDITIONAL_JAVA_OPTS="-Djava.util.prefs.userRoot=agentUserHomeDir/.java/.userPrefs/rhq-agent/agent01-node"
優先順位ノードは、など別の名前を持つユーザー設定ディレクトリーに配置するか agent01-node、共有またはファイルシステムがマウントされていない場所など/etc/agent-preferences
、完全に異なる場所に配置することができます。 - エージェントプロセスを再起動して、新しい設定を読み込みます。たとえば、エージェントがサービスとして実行している場合は、以下を実行します。
[rhquser@server ~]$ service rhq-agent-wrapper.sh stop [rhquser@server ~]$ service rhq-agent-wrapper.sh start
注記
また、エージェントを停止し、
rhq-agent-env.sh
ファイルを直接編集してから、エージェントを再起動することもできます。
重要
このファイルは JBoss ON エージェントの更新時に上書きされるため、rhq-agent ランタイムディレクトリーに Java オプションを設定しないでください。rhq-agent ランタイムのデフォルトの場所はです
$USERHOME/.java/.userPrefs/rhq-agent/default
。