Red Hat Training

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

2.5. JBoss ON エージェントの起動

JBoss ON エージェントは手作業で起動することも、システムサービスとして起動して実行するように設定できます。
重要
エージェントの設定は、ユーザーがエージェントを実行しているユーザーによって決まります。エージェントが 1 人のユーザーとして実行され、その後別のユーザーとして実行される場合、設定に異なるバッキングストアを使用するため、エージェントは 2 回目とは異なる設定を持ちます。
つまり、あるユーザーがエージェントのインストール時にエージェントを設定するのに使用する場合、同じユーザーを使用してエージェントを後に実行する必要があります。そうしないと、エージェントは設定を失い、新しいユーザーで再設定する必要があります。
エージェント設定バッキングストアについては、を参照してください 「エージェントの永続設定の管理」

2.5.1. 管理システムでの JBoss ON エージェントの起動

エージェントが起動し、エージェントの bin/ ディレクトリー内のスクリプトを使用して実行されます。サーバー起動スクリプト(サーバープロセスが開始され、スクリプトが終了し、エージェントスクリプトは開いたままになります)とは異なり、必要に応じてさらに入力を受け入れるプロンプトが表示されます。(通常、スクリプトを開始してバックグラウンドで実行できます。)
/opt/rhq-agent/bin/rhq-agent.sh

RHQ 3.3.0-SNAPSHOT [cda7569] (Tue Apr 13 13:39:16 EDT 2017)
>
ほとんどの場合、JBoss ON エージェントは追加のオプションや設定なしで実行できます。rhq-agent.sh スクリプトで使用できるすべてのオプションは、に記載されてい 「エージェントプロンプトコマンド」 ます。追加の設定オプションは、rhq-agent-env.sh スクリプトファイルを編集して設定できます。
注記
JBoss ON エージェントの起動時にエラーが発生した場合は、でエージェント起動スクリプトを実行して以前のエージェント設定 --cleanconfig を消去し、新規の起動を開始します。

2.5.2. サーバーマシンにインストールされているエージェントの起動

エージェントがサーバーまたはストレージノードと同じシステムにインストールされている場合、エージェントはサーバーとストレージノードと同じ制御スクリプト(rhqctl)で制御されます。エージェントを起動するには、スクリプトで --agent オプションを使用します。
[root@server ~]# serverRoot/jon-server-3.3.0.GA/bin/rhqctl start --agent
これにより、エージェントコンソールを開くのではなく、バックグラウンドでエージェントが起動します。
デフォルトでは、エージェントの init スクリプトはローカルシステムアカウント(デフォルトまたは .\LocalSystem)として実行されます。の説明に従って、rhq-agent-env.bat スクリプトを編集して ssytem ユーザーアカウントを変更でき 「エージェントを Windows サービスとして設定」 ます。サーバーマシンのエージェントは、rhqctl コマンドを使用して起動し、停止します。

2.5.3. エージェントを Windows サービスとして設定

  1. 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 スクリプトがシステムユーザーとして実行されます。
    その他の利用可能な環境変数は、rhq-agent-wrapper.bat スクリプトのコメントに一覧表示され、定義されます。
  2. rhq-agent-wrapper.bat スクリプトを実行して init スクリプトをサービスとしてインストールします。install コマンドを使用して init スクリプトをインストールします。
  3. プロンプトが表示されたら、サービスが実行されるシステムユーザーのパスワードを入力します。
エージェントサービスは、Windows システムの起動時に自動的に起動します。このサービスは、Windows サービス管理ツールから起動または停止できます。
また、およびコマンドを使用して、rhq-agent-wrapper.bat スクリプトからエージェントサービスを起動 start および停止することもでき stop ます。この status コマンドは、エージェントの init スクリプトがサービスとしてインストールされているかどうか、および実行しているかどうかを表示します。この remove コマンドは、エージェント init スクリプトをサービスとして削除します。
JBoss ON エージェント Windows スクリプトは Java Wrapper Service を使用してサービスを制御します。設定ファイル agentRoot には \bin\wrapper\rhq-agent-wrapper.confサービス設定プロパティーが含まれます。これらは標準のラッパーサービスプロパティーです。詳細は http://wrapper.tanukisoftware.org/doc/english/properties.html を参照して ください
サービスをカスタマイズする一般的なプロパティーは複数あります。
  • wrapper.app.parameter.# エージェントに渡すコマンドラインオプションを設定します。これらのオプションは、に記載されているオプションと同じです 「エージェントのコマンドプロンプトの使用」。各オプションには独自の設定プロパティーが必要です。プロパティーは数値順に配置し、最初の 2 つのプロパティー(wrapper.app.parameter.1 および wrapper.app.parameter.2)が予約される必要があります。で始まり wrapper.app.parameter.3ます。
  • wrapper.java.additional.# -D およびオプションに対応する、仮想マシンに直接渡される追加の JVM -X オプションを設定します。数値にインクリメントする必要もあります。wrapper.java.additional.1 常にログファイルファイルを指定します。
  • wrapper.ntservice.starttype サービスを開始するタイミングを設定します。デフォルトはで AUTO_START、システムの起動時にサービスを起動します。サービスを手動で起動するには、の値はになり DEMAND_STARTます。

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

重要
エージェントは、サービスとして起動する際に設定を求めるプロンプトを出しません。エージェントは事前に設定されたか、または一度起動して、設定が入力されている必要があります。どちらのオプションも 『『インストールガイド』』 で説明されています。
エージェントの設定は、ユーザーがエージェントを実行しているユーザーによって決まります。エージェントが 1 人のユーザーとして実行され、その後別のユーザーとして実行される場合、設定に異なるバッキングストアを使用するため、エージェントは 2 回目とは異なる設定を持ちます。
つまり、あるユーザーがエージェントのインストール時にエージェントを設定するのに使用する場合、同じユーザーを使用してエージェントを後に実行する必要があります。そうしないと、エージェントは設定を失い、新しいユーザーで再設定する必要があります。
エージェント設定バッキングストアについては、を参照してください 「エージェントの永続設定の管理」
エージェントを設定(または事前設定)すると、エージェントは 2 つの方法で起動できます。rhq-agent.sh スクリプトはエージェントを起動し、コマンドコンソールを開きます。rhq-agent-wrapper.sh スクリプトは、エージェントデーモンを起動して終了します。どちらの方法でも、rhq-agent-env.sh スクリプトファイルを使用して追加の環境変数を設定できます。
デーモンは、システムサービスとして起動して実行できます。Red Hat Enterprise Linux では、これを設定するには、を使用 /etc/init.d してインストールし chkconfigます。Solaris およびその他の Unix システムでは、他のシステムツールを使用してサービスを設定し /etc/init.d、その他の Unix システムツールを使用してサービスを設定することで行われます。
  1. エージェントが完全にセットアップされていることを確認します。
  2. rhq-agent-env.sh ファイルを開きます。
  3. エージェントのディレクトリー、JDK ディレクトリー、および PID bin ディレクトリーに必要な環境変数のコメントを解除し、設定します(エージェントユーザーが書き込み可能でなければなりません)。
    RHQ_AGENT_HOME=agentRoot/rhq-agent/bin/
    export RHQ_JAVA_HOME=/usr
    PIDFILEDIR=/var/run
    注記
    の設定時 PIDFILEDIR 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. root でシステムにログインします。
    重要
    残りの手順では、Red Hat Enterprise Linux でエージェント init スクリプトをサービスとして設定する方法を説明します。その他の Unix システムについては、特定のプラットフォームに対応する同様の手順に従います。
  6. ラッパースクリプトが実行可能であることを確認します。
    [root@server rhq-agent]# chmod a+x agentRoot/rhq-agent/bin/rhq-agent-wrapper.sh
  7. rhq-agent-wrapper.sh ファイルのシンボリックリンクです /etc/init.d/。例:
    # 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 からダウンロードする必要があります。
  8. rhq-agent-wrapper.sh に登録し chkconfigます。
    # /sbin/chkconfig --add rhq-agent-wrapper.sh
  9. システムの起動時にエージェントサービスを実行でき、システムのシャットダウン時に正常に停止できるようにします。
    # /sbin/chkconfig rhq-agent-wrapper.sh on
システムの起動時にエージェントサービスを起動しない場合は、スクリプトをオフに chkconfigします。
# /sbin/chkconfig rhq-agent-wrapper.sh off

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

エージェントをサービスとして実行するように設定すると 「エージェントをデーモンまたは 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 コマンドが無効な場合、エージェントは起動できません。コマンドのフォーマットに加えて、ディレクトリー名は影響を受けます。名前にスペースや特殊文字がある場合は、コマンドの実行をエスケープする必要があります。

2.5.6. エージェントおよび JVM の再起動

エージェントの JVM プロセスをダウンせずにエージェントを再起動できます。また、エージェントとその JVM を再起動することもできます。
エージェントは、JBoss ON サーバーによって管理されるプラグインコンテナーを使用して管理されます。コンテナーは、すべてのエージェントのライフサイクルを読み込み、管理します。プラグインコンテナーを再起動すると、JVM を破棄せずにエージェントとそのコンポーネントを再起動します。
  1. 上部のナビゲーションバーで Resources メニューを選択し、Servers メニュー項目を選択します。
  2. 一覧でエージェントリソースをクリックします。
  3. Operations タブをクリックします。
  4. Restart タスクを選択し、起動します。
エージェントとその JVM の両方を再起動できます(例: ランチャースクリプトや JVM オプションが編集されている場合などに便利です)。
  1. 上部のナビゲーションバーで Resources メニューを選択し、Servers メニュー項目を選択します。
  2. 一覧でエージェントリソースをクリックします。
  3. エージェントの下にあるランチャースクリプト子リソースに移動します。
  4. ランチャースクリプトリソースの Operations タブをクリックします。
  5. Restart タスクを選択し、起動します。