Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

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、異なる設定を見つけます。
    つまり、あるユーザーがエージェントのインストール時にエージェントを設定するのに使用する場合、同じユーザーを使用してエージェントを後に実行する必要があります。そうしないと、エージェントは設定を失い、新しいユーザーで再設定する必要があります。
エージェントは、バッキングストアから実行するのに使用する設定を取得します。エージェントがバッキングストアを初期化する必要がある場合や、エージェントが開始した状態で新しい設定を読み込む必要がある場合にのみ --cleanconfigagent-configuration.xml ファイルの設定を読み込みます。

7.11.1. 永続設定の表示

エージェント設定は Java 設定 で構成されており、各 JBoss ON ユーザーに対して永続化されます。設定が永続化される方法はオペレーティングシステムによって異なります。Windows は、Unix がユーザーのホームディレクトリーに保持する一方で、レジストリーに設定を保存します。
エージェント設定は、rhq-agent-env.sh ファイルを介して設定およびロードできるいくつかのパラメーターを除き、最初に設定し、その後にデータベースに永続化される際に読み込まれます。エージェントの永続化設定は、以下の複数の方法で表示できます。
  1. JBoss ON インベントリーにエージェントがある場合は、完全な設定が Configuration タブから表示され、各設定エリアを表示する折りたたみのテーブルが表示されます。
  2. 設定は、エージェントの getconfig または config prompt コマンドで返すこともできます。これらのコマンドは、エージェントがコマンドプロンプトから実行しているか、エージェントリソースの JBoss ON UI で Execute Command Prompt 操作を実行している場合はターミナルから実行できます。
    > getconfig  
    rhq.agent.agent-update.enabled=true
    rhq.agent.client.command-preprocessors=org.rhq.enterprise.agent. SecurityTokenCommandPreprocessor: org.rhq.enterprise.agent. ExternalizableStrategyCommandPreprocessor
    rhq.agent.client.command-spool-file.compressed=true
    rhq.agent.client.command-spool-file.name=command-spool.dat
    rhq.agent.client.command-spool-file.params=10000000:75
    rhq.agent.client.command-timeout-msecs=600000
    rhq.agent.client.max-concurrent=5
    rhq.agent.client.max-retries=10
    rhq.agent.client.queue-size=50000
    rhq.agent.client.queue-throttling=200:2000
    rhq.agent.client.retry-interval-msecs=15000
    rhq.agent.client.send-throttling=100:1000
    rhq.agent.client.server-polling-interval-msecs=60000
    rhq.agent.configuration-schema-version=5
    rhq.agent.configuration-setup-flag=true
    rhq.agent.data-directory=data
    rhq.agent.disable-native-system=false
    rhq.agent.name=localhost.localdomain
    rhq.agent.plugins.directory=plugins
    ...
  3. エージェント設定は Java 設定で永続化されるため、Java 設定を調べるツールを使用して、永続化された設定を表示できます。
警告
サードパーティーツールを使用する優先度の値は変更しないでください。エージェントの優先度が低い値に設定すると、エージェントを完全に無効にできます。

7.11.2. Persisted 設定の優先順位の変更(Agent Preferences)

エージェントの設定は、最初に起動時にセットアッププロンプトに入力 agent-configuration.xml した値で読み取られ、上書きされます。エージェントは最初に設定されると、設定がパージされ、リロードされない限り、エージェントはその設定を保持し、agent-configuration.xml 再び参照しないようになります。ほとんどの設定変更は rhq-agent-env.sh ファイルに対して行われ、エージェントが起動するたびに読み込まれます。
エージェントプロンプトで setconfig コマンドを使用して、永続化された設定を変更できます(設定ファイルを編集せずに)。
  1. エージェントプロンプトを開きます。
    agentRoot/rhq-agent/bin/rhq-agent.sh
  2. 編集する希望の名前とその新しい値 setconfig で送信します。プリファレンス名は、agent-configuration.xml ファイル内のエントリー名になります。例:
    > setconfig rhq.agent.client.max-concurrent=20
  3. エージェントプロセスを再起動して、新しい設定を読み込みます。
    agentRoot/rhq-agent/bin/rhq-agent-wrapper.sh stop
    
    agentRoot/rhq-agent/bin/rhq-agent.sh

7.11.3. 永続的な設定の上書き

Java バッキングストアおよびエージェントの agent-configuration.xml ファイルの設定は、-D オプション、設定パラメーター名、およびエージェントの起動時に新しい値を使用して上書きできます。
たとえば、起動時にエージェントが JBoss ON サーバーを検出するまでの一時的な値を設定するにはrhq.agent.wait-for-server-at-startup-msecs、引数 start コマンドでこの引数を渡します。
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.sh
Property rhq.autoinstall.server.admin.password [y/n]: n
Property rhq.server.database.password [y/n]: n
Property: rhq.protect.property
Value: 1234
*** !!! WARNING !!!
*** Both standalone-full.xml and rhq-server.properties need to be updated if a property from rhq-server.properties is used in standalone-full.xml
*** !!! WARNING !!!
***
***
*** Encoded password for rhq-server.properties:
***    rhq.protect.property=RESTRICTED::-299a94df3b478ca8
***
*** Encoded password for standalone-full.xml with vault with password as default value:
***    ${VAULT::restricted::rhq.protect.property::-299a94df3b478ca8}
***
*** Encoded password for standalone-full.xml with vault without default:
***    ${VAULT::restricted::rhq.protect.property:: }
***
*** Encoded password for agent-configuration.xml:
***    <entry key="rhq.protect.property" value="RESTRICTED::-299a94df3b478ca8" />
***
*** Please consult the documentation for additional help.
スクリプトの実行後は、から生成された値をコピーし、貼り付ける rhq-encode-value 必要がありagent-configuration.xmlます。