ドメインモードで JConsole から JBoss に接続する
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 6.xEnvironment
Issue
- JConsole から、ドメインの JBoss インスタンスに接続するにはどうしたら良いですか?
- JConsole がドメインモードの jmx に接続できません。
- JConsole についてはこちらのナレッジを見つけましたが、これはスタンドアロンモードのものになります。ドメインモードに関するドキュメントはありませんか?
- Windows のドメインモードで JConsole から
JBoss EAP 6
に接続するにはどうしたら良いですか? EAP 6.3
でrbac access-control
を有効にしたあと、JConsole
から一部のmbeans
を確認することができません。- Linux でドメインモードの jconsole を使用して JBoss に接続するにはどうしたら良いですか?
- ドメインモードで管理サーバーインスタンスの JMX 情報にアクセスするにはどうしたら良いですか?
Resolution
jconsole から JBoss EAP に接続するには、以下の手順を行います。
-
$JAVA_HOME が正しく設定されていることを確認します。
-
管理エンドポイントを使用しないように、jmx サブシステムに remoting-connector を設定します。ドメインモードでは、ホストコントローラーにだけ管理ポイントがあり、各サーバーにはありません。したがって、代わりに各サーバーに接続するようにするには、リモートのエンドポイントを使用して実装するように
use-management-endpoint=false
を設定します。
以下は、"full-ha" プロファイルを使用した例です。
/profile=full-ha/subsystem=jmx/remoting-connector=jmx:add(use-management-endpoint=false)
domain.xml の resulting xml は以下のようになります。
<subsystem xmlns="urn:jboss:domain:jmx:1.2">
<expose-resolved-model/>
<expose-expression-model/>
<remoting-connector use-management-endpoint="false"/>
</subsystem>
-
add-user.sh
またはadd-user.bat
(add-user.sh を実行する場合のオプション option b) を使用して ApplicationRealm ユーザーを定義します。リモートホストコントローラーがお使いの環境に含まれる場合、ApplicationRealm ユーザーは各ホストコントローラーに定義されます。 -
$JBOSS_HOME/bin/jconsole.sh
を起動し、service:jmx:remoting-jmx://{$HOSTNAME}:4447
を使用してドメイン内のインスタンスに接続して、上で定義したApplicationRealm
ユーザーを使用して認証します。
注意:
-
$HOSTNAME
は、実行しているサーバーの IP アドレスまたはホスト名となり、4447
はデフォルトのリモートポートになります。jconsole から接続するには4447
にポートのオフセットを追加します。 -
EAP 6.3 では
rbac access-control
を有効にすると、JConsole
からすべてのmbeans
を確認することはできません。JConsole
からすべてのmbeans
を確認するには、admin console
からsuperuser
ロールを持つapplication user
を追加し、その追加時にApplicationRealm
にレルムを設定する必要があります。表示されるアイテムはすべてアクセスできます。表示されないアイテムは保護されています。さらに、ユーザーが適切なロールで設定されていない場合、表示されるアイテムのほとんどの機能は "Not authorized" で拒否されます。
Root Cause
-
jboss-as-jmx_1_2.xsd によると、show-model は EAP 6.1.x では利用できなくなりました。
-
ドメイン内の特定のインスタンスに接続しようとすると、
service:jmx:remoting-jmx://{host_name}:9999
を使用することはできません。このアドレスは、ドメインコントローラーに接続します。ポート 9999 は、管理されている各サーバーではなく、ホストコントローラーに向かいます。その際、認証にはmgmt-users.properties
を使用します。
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.