Sun GlassFish Enterprise Server 2.1 管理ガイド

JConsole の使用

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

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

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

すべての MBean を表示するために、Enterprise Server にはシステム JMX コネクタサーバーという標準 JMX コネクタサーバーの設定が用意されています。Enterprise 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 を参照してください。

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

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

Enterprise 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 つに分かれます。 サーバー側とクライアント側です。この例では、Enterprise Server ドメインは、強力な Solaris サーバーである appserver.sun.com と呼ばれるマシンにインストールされます。これがサーバー側です。

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


注 –

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


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

ProcedureJConsole を Application Server に接続する

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. ローカル Enterprise 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 情報などが表示されます。