Red Hat Training

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

第7章 RPM からのエージェントのインストール

Red Hat Enterprise Linux システムでは、RPM パッケージを使用してエージェントをインストールし、オプションでエージェントサービスを利用できます。
重要
本章では、JBoss ON によって管理されるプラットフォームにエージェントをインストールおよび管理します。
このシステムが JBoss ON サーバーをホストする場合は、の説明に従って、サーバーのインストールプロセスの一部としてエージェントをインストールし 3章JBoss ON Server のインストール ます。JBoss ON サーバーと同じマシン上のエージェントは、エージェント RPM からインストールまたは管理できます。rhqctl スクリプトを使用してインストールおよび管理する必要があります。

7.1. エージェント RPM について

RPM でエージェントをインストールすると、単純で標準化されたインストールプロセスができるため、クラウド環境および PaaS 環境のリソース、またはデータセンターのキックスタートマシンのリソースにエージェントをインストールできます。
また、JBoss ON エージェント RPM は、エージェントが自動的にシステムサービスとして機能するように自動的に設定されるため、他の Linux システムアプリケーションと同様にエージェントの管理が容易になります。
  • 適切なパーミッションを持つシステムユーザーおよびグループの設定はすでに設定されている。
  • エージェントを起動、停止、再起動するシステムサービス
  • エージェント設定を変更するシステムサービス
  • システムツールを使用したアップグレード
JAR ファイルからエージェントをインストールする場合、インストールディレクトリーや Java 設定ストアの場所など、エージェント設定を定義するインストール環境にいくつかの要因があります。つまり、インストールディレクトリーは JAR が展開される場所によって決定されます。エージェントユーザーと Java 優先の場所は、いずれもインストールを実行するシステムユーザーが定義します。
これらの設定の多くは RPM 設定の一部として定義されるため、環境によるエージェント設定への影響は最小限に抑えられます。このセクションでは、RPM と JAR インストールの違いと、RPM プロセスで設定したデフォルト設定の一部を説明します。

7.1.1. JAR インストールと RPM インストールの相違点

最も注目すべき違いは、実行場所や、それを開始したユーザーアカウント(root)に関係なく、RPM がホームディレクトリーと重要なファイルの場所を定義すること rpm です。

表7.1 JAR および RPM のインストール間の違い

設定エリア JAR 値 RPM 値
agent user インストールするシステムユーザーに設定します。 jbosson-agent user, jbosson group
エージェントサービス Not set ──-agent
環境変数 installDir/bin/rhq-agent-env.sh
  • ADDITIONAL_JAVA_OPTS の /etc/init.d/jon-agent(init スクリプト)
  • /usr/share/jboss-on-3.3.2.GA/agent/bin/rhq-agent-env.sh for JAVA_OPTS
ホームディレクトリーの場所 JAR がインストールされている場所 /usr/share/jboss-on-3.3.0.GA/agent/
agent-configuration.xml の場所 JAR がインストールされている conf/ ディレクトリーで /etc/jboss-on/agent/ [a]
Java 設定の場所 ~/.Java/default(システムユーザー Java 設定) /var/lib/jboss-on/agent/prefs/.java/.userPrefs/rhq-agent/default/
データディレクトリーの場所 agentInstallDir/data /var/lib/jboss-on/agent/data/
ログディレクトリーの場所 JAR がインストールされている logs/ ディレクトリーで /var/log/jboss-on/agent/ [b]
Autoupgrade enabled disabled
[a] /usr/share/jboss-on-3.3.0.GA/agent/conf へのシンボリックリンク
[b] /usr/share/jboss-on-3.3.0.GA/agent/logs へのシンボリックリンク

7.1.2. JBoss ON ユーザー

エージェント JAR をインストールする前に、JBoss ON エージェントを実行するシステムユーザーの選択が最も重要になります(「エージェントシステムユーザーの選択」)。これには、システム上のエージェントプロセスのセキュリティー上の影響があり、ユーザーがローカルサーバーおよびアプリケーションリソース(それぞれに独自のシステムユーザーとパーミッションを持つ)がどのように対話するかにも影響します。
エージェント RPM は、ディレクトリーアクセスなどのセキュリティーの問題に対応するために、適切なシステム設定を持つ新しいシステムユーザーを自動的に作成します。
重要
エージェントユーザーは依然としてリソースと対話する必要があります。適切なグループパーミッション、SELinux コンテキスト、およびその他のリソース設定は、エージェントがリソースの検出および管理方法に影響します。このような考慮事項は 「エージェントシステムユーザーの選択」 概説します。必要に応じて、システム設定を変更して、エージェントがリソースへのアクセスの適切なレベルになるようにシステム設定を変更します。
注記
エージェント RPM は、インストール時に jon-agent ユーザーと jbosson グループを作成します。RPM がアンインストールされると、ユーザーおよびグループは削除されません。

表7.2 エージェントのユーザー設定

property
username jbosson-agent
グループ名 jbosson
ユーザー ID(UID) 400
グループ ID(GID) 400
ユーザープロパティー NOSHELL
init スクリプトの所有者 ルート
init スクリプトユーザー ──-agent [a]
[a] これは、任意のシステムユーザーとして編集できます。

7.1.3. サービスツールおよび Init スクリプト

RPM 設定の一部には、JBoss ON エージェントをシステムサービスとして設定することが含まれます。エージェントには init スクリプトがインストールされ /etc/init.d/jon-agentます。これにより、システムの起動時にエージェントが起動し、デーモンとして実行さ chkconfig れるようにエージェントが起動します。
init スクリプトには、通常のサービス管理コマンドと、エージェント自体を管理するための特定のコマンドがすべて含まれています。
  • start
  • stop
  • restart
  • status
  • kill。エージェントプロセスが強制的に停止するように強制します。
  • config。エージェント設定ウィザードを再度実行し、エージェント設定を新しい設定で更新します。
で説明されているように start stop restart、、、、、および status コマンドは、エージェントがサービスとして実行するよう手動で設定されている場合に利用でき 「JBoss ON Agent をサービスとして実行」 ます。ただし、kill および config コマンドは、エージェント RPM で提供される init スクリプトでのみ利用できます。
エージェント init スクリプトは /etc/init.d/jon-agent、JAR インストールで rhq-agent-env.sh ファイルに設定される環境変数を設定します。この init スクリプトは、エージェントシステムのユーザーおよびグループ、ログおよびデータディレクトリーの場所、および Java オプションを定義します。たとえば、init スクリプトを編集すると、エージェントを別のユーザーとして実行したり、別の JVM 設定で開始したりできます。
重要
RPM からエージェントがインストールされている場合は、以下の config コマンドを実行して、または init スクリプトを編集して、エージェント設定を編集することがサポートされる唯一の方法になります。rhq-agent-env.sh ファイルまたは他の設定ファイルを直接編集することはサポートされていません。

7.1.4. 更新の違い

JAR 経由でエージェントがインストールされている場合、agent-configuration.xml ファイルにはエージェントにアップグレードを確認するように指示するキーセットがあります。その後エージェントはサーバーをポーリングし、JBoss ON サーバーバージョンがエージェントバージョンよりも新しい場合、エージェントはサーバーから更新されたバイナリーをリクエストします。
エージェント RPM は、エージェント JAR ファイルとは完全に異なるインストールパスを使用します。RPM としてインストールされたエージェントは、ローカルシステムツールに依存してパッケージを管理します。agent-configuration.xml ファイル内のアップグレードフラグがオフになり、自動アップグレードで試行を無効にし、ローカルシステムがエージェントパッケージを管理できるようにします。
<entry key="rhq.agent.agent-update.enabled" value="false" />
autoupdates が無効の場合、JBoss ON サーバーがアップグレードされるたびにエージェントを手動でアップグレードし、バージョンが JBoss ON サーバーバージョンと同期されるようにする必要があります。

7.1.5. JBoss ON エージェントを提供するリポジトリーの有効化

JBoss ON Agent(jboss-on-agent-3.3)は、Red Hat Enterprise Linux 6 および Red Hat JBoss Enterprise Application Platform 6 以降、さまざまな Red Hat JBoss Enterprise Application Platform リポジトリーで提供されます。
JBoss ON Agent は、Red Hat Enterprise Linux 6 の 32 ビットアーキテクチャーと 64 ビットアーキテクチャーの両方に提供されますが、Red Hat Enterprise Linux 7 の 64 ビットアーキテクチャーでのみ利用できます。Red Hat Enterprise Linux の yum パッケージマネージャーは、jboss-on-agent-3.3 のインストール時にシステムアーキテクチャーを検出します。
Red Hat JBoss Enterprise Application Platform リポジトリーは、Red Hat Subscription Manager(subscription-manager)を使用して有効にします。
subscription-manager repos --enable=jb-eap-EAP_version-for-rhel-RHEL_VERSION-server-rpms
RHEL_VERSION は、Red Hat Enterprise Linux Server のバージョンを指します(Red Hat Enterprise Linux Server 7など)。
Red Hat JBoss Enterprise Application Platform リポジトリーには、CurrentMinor の 2 つのタイプがあります。
Red Hat JBoss Enterprise Application Platform(および関連する JBoss ON Agent)の 現行 バージョンが必要な場合、EAP_version はメジャーバージョン(Red Hat JBoss Enterprise Application Platform 6 または 7など)を参照します。
たとえば、Red Hat Enterprise Linux Server 7 で Red Hat JBoss Enterprise Application Platform 6 を使用するには、以下を実行します。
subscription-manager repos --enable=jb-eap-6-for-rhel-7-server-rpms
ただし、Red Hat JBoss Enterprise Application Platform の特定の マイナー バージョンが必要な場合は、EAP_version はマイナーバージョンを参照します(例: Red Hat JBoss Enterprise Application Platform 6.26.3、または 7.0)。
たとえば、Red Hat Enterprise Linux Server 6 で Red Hat JBoss Enterprise Application Platform 6.4 を使用するには、以下を実行します。
subscription-manager repos --enable=jb-eap-6.4-for-rhel-6-server-rpms
Red Hat JBoss Enterprise Application Platform リポジトリーの詳細は、『 Red Hat JBoss Enterprise Application Platform インストールガイド』を参照してください