Red Hat Training

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

6.4. JBoss ON Agent をサービスとして実行

ほぼすべての実稼働環境では、エージェントはバックグラウンドデーモンプロセスとして起動する必要があります。Windows では、これはサービスとして実行されます。Linux および Unix システムでは、エージェントは init.d から起動時に起動します。
エージェントサーバーラッパースクリプトの編集およびエージェントデーモンの管理に関する詳細は、『 『管理および設定ガイド』』 を参照してください。

6.4.1. エージェントを Windows サービスとして実行

  1. エージェントが完全にセットアップされていることを確認します。エージェントは、サービスとして起動する際に設定を求めるプロンプトを出しません。
  2. rhq-agent-env.bat スクリプトを編集し、init スクリプトが実行されるようにシステムユーザーを定義する環境変数を設定します。以下の 2 つのオプションがあります。
    • RHQ_AGENT_RUN_AS ユーザーアカウント名を明示的に設定します。これは、Windows ユーザーアカウント名 DOMAIN\username の形式と一致する必要があります。
    • RHQ_AGENT_RUN_AS_ME エージェントを現在のユーザーとして実行するように強制し ます。\ %USERNAME % 形式を使用します。両方の環境変数が定義されている場合、この変数は上書きされます。 RHQ_AGENT_RUN_AS.
    注記
    設定前 RHQ_AGENT_RUN_AS_ME または RHQ_AGENT_RUN_AS指定のユーザーに、サービスを開始するパーミッションがあることを確認します。必要に応じて、適切な権限をユーザーに割り当てます。割り当て権限は、Windows ドキュメントで説明されています。
    変数が設定されていない場合、エージェント init スクリプトはローカルシステムアカウント(Default または .\LocalSystem)として実行されます。
    その他の利用可能な環境変数は、rhq-agent-wrapper.bat スクリプトのコメントに一覧表示され、定義されます。
  3. rhq-agent-wrapper.bat スクリプトを実行して init スクリプトをサービスとしてインストールします。install コマンドを使用して init スクリプトをインストールします。
  4. プロンプトが表示されたら、サービスが実行されるシステムユーザーのパスワードを入力します。

6.4.2. エージェントをデーモンまたは init.d サービスとして実行

  1. エージェントが完全にセットアップされていることを確認します。エージェントは、サービスとして起動する際に設定を求めるプロンプトを出しません。
  2. rhq-agent-env.sh ファイルを開きます。
  3. エージェントのディレクトリー、JDK ディレクトリー、および PID bin ディレクトリーに必要な環境変数のコメントを解除し、設定します(エージェントユーザーが書き込み可能でなければなりません)。
    RHQ_AGENT_HOME=agentRoot/rhq-agent/
    export RHQ_JAVA_HOME=/usr
    RHQ_AGENT_PIDFILE_DIR=/var/run
    注記
    の設定時 RHQ_AGENT_PIDFILE_DIR Red Hat Enterprise Linux で、rhq-agent-wrapper.sh スクリプトファイルの pidfile 設定を編集します。ラッパースクリプトの値はにより使用され chkconfigます。
  4. オプションの環境変数のいずれかを設定します。
    • RHQ_AGENT_DEBUG デバッグロギングを有効にします。
    • RHQ_AGENT_JAVA_EXE_FILE_PATH Java 実行ファイルを指定します。
    • RHQ_AGENT_JAVA_OPTS 設定をエージェント JVM に渡します。
    • RHQ_AGENT_ADDITIONAL_JAVA_OPTS 追加の Java オプションを JVM に渡します。
  5. オプション。にあるように、カスタム start コマンドを設定し 「カスタムコマンドを使用したエージェントの起動」 ます。
  6. root でシステムにログインします。
    重要
    残りの手順では、Red Hat Enterprise Linux でエージェント init スクリプトをサービスとして設定する方法を説明します。その他の Unix システムについては、特定のプラットフォームに対応する同様の手順に従います。
  7. ラッパースクリプトが実行可能であることを確認します。
    [jsmith@server rhq-agent]$ chmod a+x agentRoot/rhq-agent/bin/rhq-agent-wrapper.sh
  8. rhq-agent-wrapper.sh ファイルのシンボリックリンクです /etc/init.d/。例:
    [jsmith@server rhq-agent]$ ln -s agentRoot/rhq-agent/bin/rhq-agent-wrapper.sh /etc/init.d/rhq-agent-wrapper.sh
    重要
    Solaris では、エージェントスクリプトファイルのシンボリックリンクでは、起動が必要 rhq-agent-wrapper.shです。一部の Solaris インストール readlinkreadlink は、デフォルトでは提供されません。Solaris ユーザーは、Sunfreeware などのソース readlink からダウンロードする必要があります。
  9. rhq-agent-wrapper.sh に登録し chkconfigます。
    [root@server rhq-agent] # /sbin/chkconfig --add rhq-agent-wrapper.sh
  10. システムの起動時にエージェントサービスを実行でき、システムのシャットダウン時に正常に停止できるようにします。
    [root@server rhq-agent] # /sbin/chkconfig rhq-agent-wrapper.sh on
システムの起動時にエージェントサービスを起動しない場合は、スクリプトをオフに chkconfigします。
[root@server rhq-agent] # /sbin/chkconfig rhq-agent-wrapper.sh off

6.4.3. カスタムコマンドを使用したエージェントの起動

エージェントをサービスとして実行するように設定すると 「エージェントをデーモンまたは init.d サービスとして実行」、エージェントはカスタム start コマンドで開始するように設定できます。これは主に sudosu またはを使用してエージェントを起動し、エージェントを別のユーザーとして実行できるようにするために使用されます。
start コマンドは、rhq-agent-env.sh ファイルの他のエージェントプロパティーで定義されます。設定には、start コマンド自体とパスワードプロンプトを有効にする設定の 2 つの部分があります。
RHQ_AGENT_START_COMMAND="su -m test -c '${RHQ_AGENT_HOME}/bin/rhq-agent.sh'"
RHQ_AGENT_PASSWORD_PROMPT=true
start コマンドを設定すると、エージェントを起動するためにコマンドラインで渡されるコマンドが上書きされます。
パスワードプロンプトは必要ありません。設定は sudo、およびエージェントのユーザー設定によって異なります。必要な場合は、ユーザーがパスワードを入力するか、またはパスワードを RHQ_AGENT_PASSWORD パラメーターに設定できるようにパスワードプロンプトを有効にする必要があります。それ以外の場合は、開始プロセスがハングします。
定義した start コマンドが無効な場合、エージェントは起動できません。コマンドのフォーマットに加えて、ディレクトリー名は影響を受けます。名前にスペースや特殊文字がある場合は、コマンドの実行をエスケープする必要があります。