Sun GlassFish Communications Server 2.0 管理ガイド

JConsole の使用

ここでは、次の内容について説明します。

Communications Server の管理と監視は、JMX テクノロジをベースにしています。つまり、Communications Server の JVM で実行している MBeanServer では、管理対象コンポーネントは MBean で表されます。

Java SE 5 では、Platform MBean Server を含めること、および JVM を設定するための MBean を含めることにより、JVM の管理と監視を拡張します。Communications Server は、これらの拡張機能を利用して、MBean を Platform MBean Server に登録します。JMX コネクタクライアントには、JVM MBean と Communications Server MBean が統合表示されます。

すべての MBean を表示するために、Communications Server にはシステム JMX コネクタサーバーという標準 JMX コネクタサーバーの設定が用意されています。Communications Server の起動時に、この JMX コネクタサーバーのインスタンスが起動します。規格に準拠する JMX コネクタクライアントはすべて、このコネクタサーバーを使用してサーバーに接続できます。

Java SE には、MBean Server に接続し、そこに登録されている MBean を表示するためのツールも用意されています。JConsole は一般的な JMX コネクタクライアントであり、標準 Java SE ディストリビューションの一部として利用できます。JConsole の詳細は、http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html を参照してください。

Communications Server で使用できるように JConsole を設定すると、Communications Server は JMX コネクタのサーバー側となり、JConsole は JMX コネクタの優先クライアント側となります。「JConsole を Application Server に接続する」に、正常な接続を作成する方法が示されています。

JConsole から Application Server への接続のセキュリティーを有効にする

Communications Server 、つまりJMX コネクタサーバー側への接続方法は、接続のトランスポート層のセキュリティーによって若干異なります。サーバー側がセキュリティー保護されている (トランスポート層のセキュリティーが保証されている) 場合、クライアント側で実行する設定があります。

開発者プロファイルドメインを appserver.sun.com のようなマシンにインストールすると、ドメイン管理サーバー (DAS) の domain.xml ファイルに次のようなエントリが含まれます。

<!- – The JSR 160 "system-jmx-connector" – –> <jmx-connector accept-all="false" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="false"/> <!- – The JSR 160 "system-jmx-connector" – –>

JMX コネクタの security-enabled フラグは false です。クラスタまたはエンタープライズプロファイルが稼働している場合、または開発者プロファイルの JMX コネクタのセキュリティーを有効にした場合、このフラグは true に設定されます。

<!- – The JSR 160 "system-jmx-connector" – –> <jmx-connector accept-all="false" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="true"/> ...</jmx-connector> <!- – The JSR 160 "system-jmx-connector" – –>

JConsole を Application Server に接続する前提条件

JConsole の設定は、2 つに分かれます。 サーバー側とクライアント側です。この例では、Communications Server ドメインは、強力な Solaris サーバーである appserver.sun.com と呼ばれるマシンにインストールされます。これがサーバー側です。

クライアント側にも Communications Server のインストールがあります。ここでは、クライアント側は Windows マシンで、Java SE 6.0 と Communications Server がインストールされているものとします。


注 –

クライアント側で Communications Server のインストールが必要になるのは、Communications Server ドメインのリモートマシン上でセキュリティーが有効な場合 (クラスタおよびエンタープライズプロファイルのデフォルト) だけです。前述の Solaris マシンで Communications Server 開発者プロファイルドメインを管理する場合、このクライアントマシンに Communications Server のインストールは必要ありません。


同じマシン上にサーバー側とクライアント側がある場合、localhost を使用してホスト名を指定できます。

ProcedureJConsole を Application Server に接続する

この手順では、JMX コネクタでセキュリティーを有効にしないで JConsole を Communications Server に接続する方法について説明します。デフォルトでは、開発者プロファイルの Communications Server のセキュリティーは有効になっていません。

  1. appserver.sun.com でドメインを起動します。

  2. JDK_HOME/bin/jconsole を実行して JConsole を起動します。

  3. JConsole の「エージェントに接続」タブで、ユーザー名、パスワード、ホスト名、およびポート (デフォルトは 8686) を入力します。

    ユーザー名は管理ユーザーの名前、パスワードはドメインの管理パスワードを参照します。

  4. 「接続」をクリックします。

    JConsole ウィンドウの各種タブに、MBean、VM 情報などが表示されます。

Procedure安全に JConsole を Application Server に接続する

この手順では、JMX コネクタでセキュリティーを有効にして JConsole を Communications Server に接続する方法について説明します。クラスタまたはエンタープライズプロファイルの Communications Server のセキュリティーは、デフォルトで有効になっています。この手順は、開発者プロファイルの JMX コネクタでセキュリティーを有効にした場合に使用してください。

  1. クライアントマシン (JConsole がインストールされている) に Communications Server をインストールします。

    この作業が必要になるのは、信頼するドメイン管理サーバーのサーバー証明書の場所を JConsole に対して通知するためです。この証明書を取得するには、リモートasadmin コマンドを 1 回以上呼び出しますが、そのためには Communications Server のローカルインストールが必要です。

  2. appserver.sun.com で Communications Server を起動します。

    これはクラスタまたはエンタープライズドメインであるため、システム JMX コネクタサーバーはセキュリティー保護されています。開発者プロファイルの JMX コネクタのセキュリティーを有効にするには、管理コンソールのオンラインヘルプを参照してください。

  3. ローカル Communications Server インストールから install-dir\bin\asadmin list --user admin --secure=true --host appserver.sun.com --port 4848 を実行します。4848 はサーバーの管理ポートです。

    この例では asadmin list コマンドを選択していますが、任意のリモート asadmin コマンドを実行できます。appserver.sun.com の DAS から送信される証明書を受け入れることを要求されます。

  4. y を押して、appserver.sun.com の DAS から送信される証明書を受け入れます。

    サーバーの証明書は、クライアントマシンのホームディレクトリにある .asadmintruststore ファイルに格納されます。


    注 –

    サーバーマシンとクライアントマシンが同じである場合、この手順は必要ありません。つまり、JConsole も appserver.sun.com で稼働している場合です。


  5. 次の JConsole コマンドを使用して、トラストストアの場所を JConsole に通知します。

    JDK-dir\bin\jconsole.exe -J-Djavax.net.ssl.trustStore="C:\Documents and Settings\user\.asadmintruststore"

  6. JDK_HOME/bin/jconsole を実行して JConsole を起動します。

  7. JConsole の「エージェントに接続」タブで、ユーザー名、パスワード、ホスト名、およびポート (デフォルトは 8686) を入力します。

    ユーザー名は管理ユーザーの名前、パスワードはドメインの管理パスワードを参照します。

  8. 「接続」をクリックします。

    JConsole ウィンドウの各種タブに、MBean、VM 情報などが表示されます。