7.11. エージェントの永続設定の管理
エージェントは Java プラットフォームの Java 設定を使用して設定を保存します。一般的な Java 設定については、Java ドキュメントで説明されてい http://download.oracle.com/javase/1.5.0/docs/guide/preferences/index.html ます。JBoss ON は、ユーザーの設定をバッキングストアのルートノードに保存します。
バッキングストアの場所は、システムによって異なります。
- Windows では、バッキングストアは Windows レジストリーにあります。
- Linux および Unix システムでは、バッキングストアは、のエージェントユーザーのホームディレクトリーにあり
~/.java
ます。重要エージェントの設定は、ユーザーがエージェントを実行しているユーザーによって決まります。エージェントが 1 人のユーザーとして実行され、その後別のユーザーとして実行される場合、設定に異なるバッキングストアを使用するため、エージェントは 2 回目とは異なる設定を持ちます。たとえば、エージェントがという名前のシステムユーザーが設定されている場合 jsmith、永続化された設定はになり~jsmith/.java
ます。次にエージェントが root ユーザーとしてバックグラウンドサービスとして実行されるように設定されている場合、エージェントはその設定を探し~root/.java
、異なる設定を見つけます。つまり、あるユーザーがエージェントのインストール時にエージェントを設定するのに使用する場合、同じユーザーを使用してエージェントを後に実行する必要があります。そうしないと、エージェントは設定を失い、新しいユーザーで再設定する必要があります。
エージェントは、バッキングストアから実行するのに使用する設定を取得します。エージェントがバッキングストアを初期化する必要がある場合や、エージェントが開始した状態で新しい設定を読み込む必要がある場合にのみ
--cleanconfig
、agent-configuration.xml
ファイルの設定を読み込みます。
7.11.1. 永続設定の表示 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
エージェント設定は Java 設定 で構成されており、各 JBoss ON ユーザーに対して永続化されます。設定が永続化される方法はオペレーティングシステムによって異なります。Windows は、Unix がユーザーのホームディレクトリーに保持する一方で、レジストリーに設定を保存します。
エージェント設定は、
rhq-agent-env.sh
ファイルを介して設定およびロードできるいくつかのパラメーターを除き、最初に設定し、その後にデータベースに永続化される際に読み込まれます。エージェントの永続化設定は、以下の複数の方法で表示できます。
- JBoss ON インベントリーにエージェントがある場合は、完全な設定が Configuration タブから表示され、各設定エリアを表示する折りたたみのテーブルが表示されます。
- 設定は、エージェントの getconfig または config prompt コマンドで返すこともできます。これらのコマンドは、エージェントがコマンドプロンプトから実行しているか、エージェントリソースの JBoss ON UI で Execute Command Prompt 操作を実行している場合はターミナルから実行できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - エージェント設定は Java 設定で永続化されるため、Java 設定を調べるツールを使用して、永続化された設定を表示できます。
警告
サードパーティーツールを使用する優先度の値は変更しないでください。エージェントの優先度が低い値に設定すると、エージェントを完全に無効にできます。
7.11.2. Persisted 設定の優先順位の変更(Agent Preferences) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
エージェントの設定は、最初に起動時にセットアッププロンプトに入力
agent-configuration.xml
した値で読み取られ、上書きされます。エージェントは最初に設定されると、設定がパージされ、リロードされない限り、エージェントはその設定を保持し、agent-configuration.xml
再び参照しないようになります。ほとんどの設定変更は rhq-agent-env.sh
ファイルに対して行われ、エージェントが起動するたびに読み込まれます。
エージェントプロンプトで setconfig コマンドを使用して、永続化された設定を変更できます(設定ファイルを編集せずに)。
- エージェントプロンプトを開きます。
agentRoot/rhq-agent/bin/rhq-agent.sh
agentRoot/rhq-agent/bin/rhq-agent.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 編集する希望の名前とその新しい値 setconfig で送信します。プリファレンス名は、
agent-configuration.xml
ファイル内のエントリー名になります。例:> setconfig rhq.agent.client.max-concurrent=20
> setconfig rhq.agent.client.max-concurrent=20
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - エージェントプロセスを再起動して、新しい設定を読み込みます。
agentRoot/rhq-agent/bin/rhq-agent-wrapper.sh stop agentRoot/rhq-agent/bin/rhq-agent.sh
agentRoot/rhq-agent/bin/rhq-agent-wrapper.sh stop agentRoot/rhq-agent/bin/rhq-agent.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.11.3. 永続的な設定の上書き リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Java バッキングストアおよびエージェントの
agent-configuration.xml
ファイルの設定は、-D
オプション、設定パラメーター名、およびエージェントの起動時に新しい値を使用して上書きできます。
たとえば、起動時にエージェントが JBoss ON サーバーを検出するまでの一時的な値を設定するにはrhq.agent.wait-for-server-at-startup-msecs、引数 start コマンドでこの引数を渡します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
agentRoot/rhq-agent/bin/rhq-agent.sh -Drhq.agent.wait-for-server-at-startup-msecs=90000
agentRoot/rhq-agent/bin/rhq-agent.sh -Drhq.agent.wait-for-server-at-startup-msecs=90000
7.11.4. エージェント設定における機密情報の保護 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
重要
デフォルトでは、
{RHQ_AGENT_HOME}/conf/agent-configuration.xml
ファイルのすべてのパスワードはアップグレードおよびインストール時に保護されます。このプロセスは、ユーザーが追加のプロパティーをエンコードする必要がある場合にのみ必要です。
JBoss ON では、
{RHQ_AGENT_HOME}/conf/agent-configuration.xml
ファイル内のほぼすべてのプロパティーを保護することがサポートされます。JBoss ON は、プロパティーを難読化するための {RHQ_SERVER_HOME}/bin/
ディレクトリーに rhq-encode-value.sh
および rhq-encode-value.bat
スクリプトを提供します。たとえば agent-configuration.xml
、プロパティー値は RESTRICTED::
形式を使用してエンコードされ、すべてのパスワードはインストール時にデフォルトで保護されます。
7.11.4.1. エンコーディングでの rhq-encode-value スクリプトの使用 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
注記
rhq-encode-value
スクリプトはサーバーおよびエージェント設定ファイルのエンコーディングに使用できますが、JBoss ON はサーバーレベルでの rhq-encode-value
スクリプトのみを提供します。agent-configuration.xml
ファイルの値をエンコードするユーザーは、JBoss ON サーバーレベルで rhq-encode-value
スクリプトを呼び出す必要があります。
rhq-encode-value
スクリプトを呼び出すと、必要なプロパティーと値をエンコードするように求められます。
スクリプトの実行後は、から生成された値をコピーし、貼り付ける
rhq-encode-value
必要がありagent-configuration.xml
ます。