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 サービスとして実行
- エージェントが完全にセットアップされていることを確認します。エージェントは、サービスとして起動する際に設定を求めるプロンプトを出しません。
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
スクリプトのコメントに一覧表示され、定義されます。rhq-agent-wrapper.bat
スクリプトを実行して init スクリプトをサービスとしてインストールします。install コマンドを使用して init スクリプトをインストールします。- プロンプトが表示されたら、サービスが実行されるシステムユーザーのパスワードを入力します。
6.4.2. エージェントをデーモンまたは init.d サービスとして実行
- エージェントが完全にセットアップされていることを確認します。エージェントは、サービスとして起動する際に設定を求めるプロンプトを出しません。
rhq-agent-env.sh
ファイルを開きます。- エージェントのディレクトリー、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ます。 - オプションの環境変数のいずれかを設定します。
RHQ_AGENT_DEBUG
デバッグロギングを有効にします。RHQ_AGENT_JAVA_EXE_FILE_PATH
Java 実行ファイルを指定します。RHQ_AGENT_JAVA_OPTS
設定をエージェント JVM に渡します。RHQ_AGENT_ADDITIONAL_JAVA_OPTS
追加の Java オプションを JVM に渡します。
- オプション。にあるように、カスタム start コマンドを設定し 「カスタムコマンドを使用したエージェントの起動」 ます。
- root でシステムにログインします。重要残りの手順では、Red Hat Enterprise Linux でエージェント init スクリプトをサービスとして設定する方法を説明します。その他の Unix システムについては、特定のプラットフォームに対応する同様の手順に従います。
- ラッパースクリプトが実行可能であることを確認します。
[jsmith@server rhq-agent]$ chmod a+x agentRoot/rhq-agent/bin/rhq-agent-wrapper.sh
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 インストールreadlink
でreadlink
は、デフォルトでは提供されません。Solaris ユーザーは、Sunfreeware などのソースreadlink
からダウンロードする必要があります。rhq-agent-wrapper.sh
に登録し chkconfigます。[root@server rhq-agent] # /sbin/chkconfig --add rhq-agent-wrapper.sh
- システムの起動時にエージェントサービスを実行でき、システムのシャットダウン時に正常に停止できるようにします。
[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 コマンドで開始するように設定できます。これは主に sudo、su またはを使用してエージェントを起動し、エージェントを別のユーザーとして実行できるようにするために使用されます。
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 コマンドが無効な場合、エージェントは起動できません。コマンドのフォーマットに加えて、ディレクトリー名は影響を受けます。名前にスペースや特殊文字がある場合は、コマンドの実行をエスケープする必要があります。