2 JMXを使用したOracle Coherenceの管理

JMX管理は、クラスタの操作設定を使用して有効化および構成します。構成後は、VisualVMやJConsoleなどのツールを使用してOracle Coherence MBeanにアクセスできます。管理情報にはRESTを使用してアクセスすることもできます。

この章の内容は次のとおりです。

JMX管理の構成

Coherenceには、管理の有効化、クラスタ・メンバーの管理の停止、MBeanのフィルタリング、管理のリフレッシュ・プロパティの構成など、多くの構成オプションが含まれます。JMX管理は、tangosol-coherence-override.xmlファイルの<management-config>要素内で、または起動時に管理用のシステム・プロパティを設定することで構成します。『Oracle Coherenceでのアプリケーションの開発』management-configに関する項を参照してください。

この項には次のトピックが含まれます:

動的管理モードの使用

Coherenceはデフォルトでは動的管理モードで起動するように構成されています。動的管理モードは、自動的に上位のクラスタ・メンバーをJMXクラスタ・メンバーとして選択する高可用性機能です。JMXクラスタ・メンバーは、すべてのクラスタメンバーから管理情報を集計するMBeanサーバーをホストします。JMXクラスタ・メンバーが操作的ではない場合、次に最も上位のクラスタ・メンバーがJMXクラスタ・メンバーとして自動的に選択されます。

com.tangosol.discovery.NSLookupクラスを使用して任意のクラスタ・メンバーについてNameServiceサービスを問い合せると、JMXサービスのURLを見つけることができます。このクラスにはコマンドライン・インタフェースがあります。または、lookupJMXServiceURLメソッドを呼び出すことができます。たとえば:

java -cp %COHERENCE_HOME%\lib\coherence.jar com.tangosol.discovery.NSLookup -name management/JMXServiceURL

Cluster JRCluster:      service:jmx:rmi://127.0.0.1:62427/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1...

すべてのクラスタ・メンバーが、JMXクラスタ・メンバーとして選択される可能性があります。JMXメンバーとして選択される対象からクラスタ・メンバーを除外するには、<managed-nodes>要素をnoneに設定します。たとえば:

<?xml version='1.0'?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
   xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
   coherence-operational-config.xsd">
   <management-config>
      <managed-nodes system-property="coherence.management">none
      </managed-nodes>
   </management-config>
</coherence>

何も値が指定されない場合、デフォルト値はdynamicで、クラスタ・メンバーがJMXクラスタ・メンバーになることを示します。

coherence.managementシステム・プロパティも、クラスタ・メンバーをJMXクラスタ・メンバーの選択から除外します。たとえば:

-Dcoherence.management=none

クラスタ・メンバーでのリモートJMX管理の明示的な有効化

1つ以上のクラスタ・メンバーを明示的に構成して、すべてのクラスタ・メンバーの管理対象オブジェクトを処理するMBeanサーバーをホストできます。これらのクラスタ・メンバーのMBeanサーバーにアクセスすることで、すべてのクラスタ・メンバーの管理情報が表示されます。専用のJMXクラスタ・メンバーを使用するのは一般的な方法です。なぜなら、それによりJMXソフトウェアを1つずつクラスタ・メンバーにロードする必要もなくなり、しかも1つのJMXメンバーに問題が発生してもフォルト・トレランスは維持されるためです。

ノート:

デフォルトで、Coherenceは動的管理モードを使用するように構成され、JMXクラスタ・メンバーは自動的に選択されます。動的管理をベスト・プラクティスとしてお薦めします。「動的管理モードの使用」を参照してください。これらの手順を行うと、JMXクラスタ・メンバーを明示的に構成できます。ただし、JMXクラスタ・メンバーとして構成されていないクラスタ・メンバーは、JMXクラスタ・メンバーとして動的に選択されることから明示的に無効化される必要があります。「JMX管理の無効化」を参照してください。

小規模のクラスタでは、2つの既存クラスタ・メンバーに対して複数の専用のJMX JVMを用意するのがフォルト・トレランスを確保するための一般的な方法です。非常に大規模なクラスタでは、JMX専用の2台のコンピュータを用意するほうが現実的な場合が多いですが、必ずしもその必要はありません。

クラスタ・メンバーに対するリモートJMX管理を有効にするには、<managed-nodes>要素をallまたはremote-onlyに設定します。たとえば:

<?xml version='1.0'?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
   xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
   coherence-operational-config.xsd">
   <management-config>
      <managed-nodes system-property="coherence.management">all
      </managed-nodes>
   </management-config>
</coherence>

remote-only設定では、リモートMBeanのみを管理するMBeanサーバーが起動されます。all設定では、リモートMBeanおよびローカル(同一JVM上の)MBeanを管理するMBeanサーバーが起動されます。

coherence.managementシステム・プロパティによりリモートJMX管理を有効にすることもできます。たとえば:

-Dcoherence.management=all

クラスタ・メンバーでのローカルJMX管理の有効化

ローカルJMX管理では、MBeanサーバーの管理対象がクラスタ・メンバーのローカル(同一JVM上の)MBeanに制約されます。クラスタ・メンバーのMBeanサーバーにアクセスしても、ローカル管理情報しか表示されません。しかし、そのクラスタ・メンバーのMBeanは、リモートJMX管理が有効化されたクラスタ・メンバーによって引き続き管理できます。ローカルJMX管理は一般的に、拡張クライアントまたは一時的なクラスタ・クライアントで使用されます。

クラスタ・メンバーでのローカルJMX管理を有効化するには、<managed-nodes>要素をlocal-onlyに設定します。たとえば:

<?xml version='1.0'?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
   xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
   coherence-operational-config.xsd">
   <management-config>
      <managed-nodes system-property="coherence.management">local-only
      </managed-nodes>
   </management-config>
</coherence>

coherence.managementシステム・プロパティによりローカルJMX管理を有効にすることもできます。たとえば:

-Dcoherence.management=local-only

起動スクリプト使用時のJMX管理の有効化

便宜上の理由により、COHERENCE_HOME/bin/cache-serverおよびCOHERENCE_HOME/bin/coherenceの起動スクリプトには、クラスタ・メンバーでのJMX管理を有効にする-jmx引数が含まれます。この引数はデフォルトの管理構成である動的管理を使用する場合は必要ありません。

cache-server -jmx

この引数は、スクリプト内で必要に応じて変更できる管理用のシステム・プロパティを自動的に設定します。デフォルトの設定は、次のようになります。

-Dcoherence.management=all
-Dcoherence.management.remote=true

クラスタ・メンバーのリモート管理の停止

デフォルトでは、すべてのクラスタ・メンバーのMBeanで、リモートMBeanサーバーによる管理が許可されています。メンバーのMBeanのリモート管理を制限するには、<allow-remote-management>要素をfalseに設定します。たとえば:

<?xml version='1.0'?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
   xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
   coherence-operational-config.xsd">
   <management-config>
      <allow-remote-management
         system-property="coherence.management.remote">false
      </allow-remote-management>
   </management-config>
</coherence>

coherence.management.remoteシステム・プロパティによりリモート管理を無効にすることもできます。たとえば:

-Dcoherence.management.remote=false

JMX管理の無効化

クラスタ・メンバーでのJMX管理を無効化するには、<managed-nodes>要素をnoneに設定します。たとえば:

<?xml version='1.0'?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
   xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
   coherence-operational-config.xsd">
   <management-config>
      <managed-nodes system-property="coherence.management">none</managed-nodes>
   </management-config>
</coherence>

メンバーのJMX管理を無効にしても、そのメンバーのリモート管理は停止されません。<allow-remote-management>falseに設定する必要があります。次の例では、JMX管理を無効化してメンバーのリモート管理を停止します。

<?xml version='1.0'?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
   xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
   coherence-operational-config.xsd">
   <management-config>
      <managed-nodes system-property="coherence.management">none</managed-nodes>
      <allow-remote-management
         system-property="coherence.management.remote">false
      </allow-remote-management>
   </management-config>
</coherence>

MBeanのフィルタリング

Oracle Coherence管理フレームワークでは、MBeanをMBeanサーバーに登録する前にそれらのMBeanをフィルタできます。即時利用可能なMBeanフィルタが提供されており、カスタムのフィルタを必要に応じて作成することもできます。付属のMBeanフィルタ(com.tagosol.net.management.ObjectNameExcludeFilter)は、標準的な正規表現パターンを使用するJMXオブジェクト名に基づいて、MBeanを登録から除外します。たとえば、パターン.*type=Service,name=Management,.*によって、type=Serviceおよびname=ManagementのMBeanが除外されます。初期状態の構成では、このフィルタによっていくつかのプラットフォームMBeanが管理フレームワークに登録されないように除外されます。MBeanフィルタは、<mbean-filter>要素を使用して定義します。

次の例は、初期状態の構成を示しています。

...
<mbean-filter>
   <class-name>com.tangosol.net.management.ObjectNameExcludeFilter</class-name>
   <init-params>
      <init-param>
         <param-type>string</param-type>
         <param-value system-property="coherence.management.exclude">
              .*type=Service,name=Management,.*
              .*type=Platform,Domain=java.lang,subType=ClassLoading,.*
              .*type=Platform,Domain=java.lang,subType=Compilation,.*
              .*type=Platform,Domain=java.lang,subType=MemoryManager,.*
              .*type=Platform,Domain=java.lang,subType=Threading,.*
         </param-value>
      </init-param>
   </init-params>
</mbean-filter>
...

管理サービスまたはプラットフォームMBeanを有効化するには、<param-value>要素の名前のリストから対応するオブジェクト名を削除します。特定のMBeanを登録されないように除外するには、そのMBeanオブジェクト名をリストに追加します。

coherence.management.excludeシステム・プロパティによりMBeanをフィルタリングすることもできます。たとえば:

-Dcoherence.management.exclude=.*type=Service,name=Management,.*

管理情報のリフレッシュの構成

<refresh-expiry><refresh-policy>および<refresh-timeout>の各要素は、管理情報の待機時間を制御します。次の例では、これらの各設定を構成しています。詳細は、例の後に説明します。

<?xml version='1.0'?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
   xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
   coherence-operational-config.xsd">
   <management-config>
      <refresh-policy
         system-property="coherence.management.refresh.policy">
         refresh-ahead</refresh-policy>
      <refresh-expiry
         system-property="coherence.management.refresh.expiry">1s
      </refresh-expiry>
      <refresh-timeout
         system-property="coherence.management.refresh.timeout">300ms
      </refresh-timeout>
   </management-config>
</coherence>

この項には次のトピックが含まれます:

管理情報のリフレッシュ失効の設定

<refresh-expiry>要素は、リモート・メンバーの管理情報をリモートで取得する最小間隔を指定します。この要素の値は、次の形式で指定する必要があります。

(\d)+((.)(\d)+)?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルト値は1sです。

coherence.management.refresh.expiryシステム・プロパティにより失効を設定することもできます。たとえば:

-Dcoherence.management.refresh.expiry=2s
管理情報のリフレッシュ・ポリシーの設定

<refresh-policy>要素は、リモート管理情報のリフレッシュ方法を指定します。それぞれのポリシーでは、指定したMBeanの使用パターンの待機時間を短縮する様々なリフレッシュ・アルゴリズムが使用されます。表2-1は、各ポリシーを説明しています。

表2-1 リフレッシュ・ポリシー

設定 説明

refresh-ahead (デフォルト)

失効遅延が経過した後、リクエストされる前に、MBeanを前の使用パターンに基づいてリフレッシュします。この設定は、ネットワーク消費量を多少増加させることで管理情報の待機時間を低減します。この設定は、MBeanが反復的(またはプログラム的)なパターンでアクセスされる場合に最良です。

refresh-behind

データにアクセスした後、それぞれのMBeanをリフレッシュします。この方法では最適なレスポンス・タイムが確保されます。ただし返される情報は、最後のリフレッシュ時刻からのオフセットになります。

refresh-expired

MBeanがアクセスされ、最後のリフレッシュから失効遅延が経過すると、それぞれのMBeanをリモート・メンバーからリフレッシュします。この設定は、MBeanがランダムなパターンでアクセスされる場合に最適です。

coherence.management.refresh.policyシステム・プロパティによりポリシーを設定することもできます。たとえば:

-Dcoherence.management.refresh.policy=refresh-expired
管理情報のリフレッシュ・タイムアウトの設定

<refresh-timeout>要素は、MBean情報のリフレッシュ時に管理メンバーがリモート・メンバーからのレスポンスを待つ期間を指定します。この値は<refresh-expiry>値より小さくする必要があります。この要素の値は、次の形式で指定する必要があります。

(\d)+((.)(\d)+)?[MS|ms|S|s|M|m|H|h|D|d]?

前述の文字は(左から右へ)それぞれ、次の時間間隔の単位を示しています。

  • MSまたはms(ミリ秒)

  • Sまたはs(秒)

  • Mまたはm(分)

  • Hまたはh(時)

  • Dまたはd(日数)

値に単位が含まれていない場合は、ミリ秒が単位として適用されます。デフォルト値は250msです。

coherence.management.refresh.timeoutシステム・プロパティによりタイムアウトを設定することもできます。たとえば:

-Dcoherence.management.refresh.timeout=300ms

既存のMBeanサーバーの使用

Oracle Coherence管理フレームワークでは、既存のMBeanサーバーを使用してOracle Coherence MBeanを公開できます。MBeanサーバーは、クラスタ・メンバーと同一のJVMプロセス内にある必要があります。また、そのクラスタ・メンバーでは、JMX管理が有効化されている必要があります。

既存のMBeanサーバーを使用するには、<default-domain-name>要素を使用してMBeanサーバーのドメイン名を入力します。入力したドメイン名のMBeanサーバーが見つからないと、MBean登録に失敗します。次の例では、MyDomainNameドメイン名の既存のMBeanサーバーを指定します。

<?xml version='1.0'?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
   xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
   coherence-operational-config.xsd">
   <management-config>
      <managed-nodes system-property="coherence.management">all
      </managed-nodes>
      <default-domain-name>MyDomainName</default-domain-name>
   </management-config>
</coherence>

com.tangosol.net.management.MBeanServerFinderインタフェースを実装して、Oracle Coherence管理フレームワークによるMBeanサーバーの検出方法をカスタマイズします。<server-factory>要素内の<class-name>要素を使用して、実装クラスの完全修飾された名前を追加します。また、<init-params>要素を使用して、初期化パラメータを含めます。<default-domain-name>要素を使用して、クラスをインスタンス化する際に使用する既存のMBeanサーバー・ドメイン名を指定します。

次の例では、MyMBeanServerFinder実装クラスを指定して、その実装クラスにMyDomainNameドメイン名を渡します。

<?xml version='1.0'?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
   xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
   coherence-operational-config.xsd">
   <management-config>
      <managed-nodes system-property="coherence.management">all
      </managed-nodes>
      <default-domain-name>MyDomainName</default-domain-name>
      <server-factory>
         <class-name
            system-property="coherence.management.serverfactory">
               package.MyMBeanServerFinder</class-name>
         <init-params>
            <init-param>
               <param-type>int</param-type>
               <param-value>0</param-value>
            </init-param>
         </init-params>
     </server-factory>
   </management-config>
</coherence>

coherence.management.serverfactoryシステム・プロパティにより実装クラスを指定することもできます。たとえば:

-Dcoherence.management.serverfactory=package.MyMBeanServerFinder

Oracle Coherence MBeanへのアクセス

Coherenceでは、VisualVM、JConsole、HTMLアダプタ、MBeanコネクタなど、Coherence MBeanとやりとりするための多くのツールがサポートされています。Oracle Coherence MBeanにアクセスするには、クラスタ・メンバーでJMX管理を有効にする必要があります。「JMX管理の構成」を参照してください。

この項には次のトピックが含まれます:

VisualVMを使用したMBeanへのローカルでのアクセス

VisualVMは、MBeanの表示およびMBeanとのデータのやりとりを行う機能を提供する管理ユーティリティです。MBean機能がVisualVMに対するプラグインとして提供されています。このプラグインをVisualVM Plugins Centerからインストールする必要があります。ツールから、「ツール」 -> 「プラグイン」オプションを使用してVisualVM-MBeansプラグインをインストールします。

VisualVMユーティリティを使用してCoherence MBeanにローカルでアクセスするには:

  1. COHERENCE_HOME\bin\cache-serverスクリプトを使用してキャッシュ・サーバーを起動します。たとえば:
    COHERENCE_HOME\bin\cache-server
  2. VISUALVM_HOME\bin\visualvmを起動します。VisualVMウィンドウが表示されます。
  3. 「Applications」ツリーで、「Local」をクリックして展開し、クラスタ・メンバーのプロセスをダブルクリックします。プロセス情報は、このウィンドウの右側にあるプロセス・タブに表示されます。
  4. 選択したプロセス・タブで「MBeans」タブをクリックし、Coherenceノードを展開してMBeanにアクセスします。

JConsoleユーティリティを使用したMBeanへのローカルでのアクセス

JConsoleは、JDK (JDK_HOME\bin\jconsole)に含まれる管理ユーティリティで、MBeanの表示およびMBeanとのやり取りの機能が提供されます。

JConsoleユーティリティを使用してMBeanにローカルでアクセスするには:

  1. COHERENCE_HOME\bin\cache-serverスクリプトを使用してキャッシュ・サーバーを起動します。たとえば:
    COHERENCE_HOME\bin\cache-server
    
  2. JDK_HOME\bin\jconsoleを起動します。Java Monitoring & Management Consoleウィンドウが表示され、「JConsole: 新規接続」ダイアログ・ボックスが表示されます。
  3. 「JConsole: 新規接続」ダイアログ・ボックスで「ローカル・プロセス:」オプションを選択し、クラスタ・メンバーのプロセスを選択します。たとえば:
  4. 「接続」をクリックします。
  5. Java Monitoring & Management Consoleウィンドウで「MBeans」タブを選択し、Coherenceノードを展開してMBeanにアクセスします。

Oracle Coherence MBeanへのリモート・アクセスの許可

リモートJMX管理では、リモート・コンピュータ上のJMXクライアントでOracle Coherence MBeanにアクセスすることが可能です。システム・プロパティはリモート・アクセスを構成するためのもので、多くの場合、MBeanサーバーをホスティングするJVMを起動する際に設定されます。つまり、そのクラスタのMBeanサーバーをホスティングするクラスタ・メンバーを起動する際にシステム・プロパティは設定されます。『Java SEモニタリングおよび管理ガイド』「JMXテクノロジを使用するモニタリングと管理」を参照してください。次の記述では、最低限の構成要件のみが説明されています。

セキュリティを有効化せずにOracle Coherence MBeanへのリモート・アクセスを許可するには、次のシステム・プロパティをクラスタ・メンバーの起動時に設定します。

-Dcom.sun.management.jmxremote.port=port
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

com.sun.management.jmxremote.port値を、クラスタ・メンバーの使用可能なポートのいずれかに設定します。JMXクライアント(たとえば、JConsole)のホストとポートを、リモートMBeanサーバーへ接続するときに指定します。

場合によっては(仮想環境またはネットワーク・アドレス変換を使用する場合)、コンピュータのホスト名が誤って識別されたり、JMXクライアントに送信するRMIスタブでデフォルト値(127.0.0.1)が返されたりすることがあります。その結果、JMXクライアントによるMBeanサーバーへの接続が失敗します。RMIスタブに正しいIPアドレスを含めるには、java.rmi.server.hostnameシステム・プロパティを使用してホストのIPアドレスを明示的に設定します。たとえば:

-Djava.rmi.server.hostname=IP_Address

『Java Platform Standard Edition 8ドキュメント』java.rmiプロパティに関する項を参照してください。

JConsoleユーティリティを使用した実行中のCoherenceクラスタのMBeansへのアクセス

jconsoleユーティリティを使用してMBeansにリモートでアクセスするには、次のコマンドを使用して、Coherenceディストリビューションcoherence/binからUnixまたはWindowsシェル・スクリプトjmxserviceurl.[sh | cmd]を使用します:

% $JAVA_HOME/bin/jconsole `jmxserviceurl.sh <clusterName> <clusterPort> <hostName>`
前述のコマンドでは、次のとおりです。
  • clusterNameはCoherenceクラスタ名であり、必須です。
  • <hostName>パラメータを使用しない場合、clusterPortはオプションです。デフォルトは7574です。
  • hostNameは、Coherenceクラスタ・メンバーのマシン名またはIPアドレスです。デフォルトはlocalhostです。
たとえば:
% $JAVA_HOME/bin/jconsole `./jmxserviceurl.sh mycluster 7574 100.111.142.210`

ノート:

この例では、マシンIPアドレス100.111.142.210で実行されているデフォルトのクラスタポート7574に、クラスタmyclusterのCoherenceクラスタ・メンバーが存在することを前提としています。このマシンはCoherence管理のシニアである必要はなく、指定したクラスタポートでmyclusterNameServiceを実行することが必要です。

jxmserviceurlシェル・スクリプトが単独で実行される場合、jconsoleがMBeanサーバーへの接続に使用するJMX RMI URLという次の出力があります。

$ ./jmxserviceurl.sh mycluster 7574 100.111.142.210
service:jmx:rmi://100.111.142.210:42788/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp

JConsoleアプリケーションが起動し、Coherence MBeanサーバーに自動接続します。

  1. 「Insecure Connection」をクリックします。
  2. Java Monitoring & Management Consoleウィンドウで「MBeans」タブを選択し、Coherenceノードを展開してCoherence MBeanにアクセスします。

HTMLアダプタ・アプリケーションを使用したMBeanへのアクセス

HTMLアダプタWebアプリケーションでは、キャッシュ・クライアントのOracle Coherence MBeanへのリモート・アクセスが可能で、JMXリファレンス実装の一部として同梱されているHTMLアダプタ(HtmlAdaptorServer)を使用します。このアダプタでは、jmxri.jarjmxtools.jarライブラリを両方ともクラスパスに含める必要があります。JMXリファレンス実装は、『Java Platform Technologyダウンロード』で利用できます。

HTMLアダプタを使用してMBeanにアクセスするには:

  1. COHERENCE_HOME\bin\coherenceスクリプトを編集して、クラスパスにjmxri.jarjmxtools.jarを含めます。たとえば、Windowsの場合は次のようにします。
    -cp "jmxri-1.2.1.jar;jmxtools-1.2.1.jar;%coherence_home%\lib\coherence.jar"
    
  2. スクリプトを使用してキャッシュ・ファクトリ・インスタンスを起動します。たとえば:
    COHERENCE_HOME\bin\coherence
    
  3. キャッシュ・ファクトリ・インスタンスが起動したら、コマンド・プロンプトでjmx 8082と入力します。これにより、クラスタ・メンバーのポート8082でHTTPアダプタが起動します。
  4. Webブラウザで、アダプタにアクセスします。次の画面で示すように、ホスト名とポート8082からなるアドレスを使用します。

WLSTを使用したCoherence MBeanへのアクセス

管理対象Coherenceサーバー環境のWebLogic Server内でCoherenceを実行すると、WebLogic ServerドメインのランタイムMBeanサーバーにより管理プロキシからJMX情報が収集されます。この情報には、WLSTを使用してアクセスできます。

詳細は、『Oracle WebLogic Serverクラスタの管理』WLSTを使用したCoherence MBeanへのアクセスに関する項を参照してください。

Oracle Coherence MBeanコネクタの設定

Oracle Coherenceには、クラスタ・メンバーを専用のMBeanサーバー・ホストとして起動するためのプログラムが用意されています。このプログラムでは、Oracle Coherence MBeanへのリモート・アクセスがJMXリモートAPIのRMI、またはJMXリファレンス実装で提供されるHTTPサーバーを使用して実現されます。必要に応じてRMIとHTTPのポート設定を構成して、ファイアウォールを介したアクセスを許可します。次のコマンドを使用して、サーバーを起動します。

java -Dcoherence.management=all 
     -Dcom.sun.management.jmxremote.ssl=false 
     -Dcom.sun.management.jmxremote.authenticate=false 
     -cp coherence.jar;jmxri.jar;jmxtools.jar 
     com.tangosol.net.management.MBeanConnector [-http -rmi]

JMX RMIを使用したアクセスを許可するには、-rmi引数を含めます。HTTPおよびWebブラウザを使用したアクセスを許可するには、-http引数を含めます。これらの引数を両方とも含めることはできますが、メンバーを起動するには少なくと1つの引数を指定する必要があります。

表2-2は、JMX RMI構成のオプションのプロパティについて説明しています。

表2-2 JMX RMIの構成に使用できるオプションのプロパティ

プロパティ 説明

tangosol.coherence.management.remote.host

JMXサーバーがバインドされているホスト。デフォルト値はlocalhostです。Linuxでは、この値をホスト名またはIPアドレスに変更する必要がある場合があります。

tangosol.coherence.management.remote.registryport

JMX RMIのレジストリに使用するポート。デフォルト値は9000です。

tangosol.coherence.management.remote.connectionport

JMX RMI接続に使用するポート。デフォルト値は3000です。

表2-3は、HTTPの構成に使用できるオプションのプロパティについて説明しています。

表2-3 HTTPの構成に使用できるオプションのプロパティ

プロパティ 説明

tangosol.coherence.management.remote.httpport

HTTPの接続に使用するポート。デフォルト値は8888です。

JConsoleを使用してデフォルト設定でMBeanサーバーに接続するには、次のコマンドを使用します。

jconsole service:jmx:rmi://localhost:3000/jndi/rmi://localhost:9000/server

HTTPを使用してデフォルト設定でMBeanサーバーに接続するには、次のURLにアクセスします。

http://localhost:8888

ノート:

認証およびSecure Socket Layer (SSL)を使用したセキュアなアクセスを設定するには、次のJMXエージェントのドキュメントを参照してください。

『Java SEモニタリングおよび管理ガイド』「JMXテクノロジを使用するモニタリングと管理」

RESTを使用した管理情報へのアクセス

HTTPを使用して、RESTリソースとして公開されているCoherence MBeanにアクセスできます。RESTを使用すると、幅広いクライアントが管理情報にアクセスできます。

RESTサーバーを介したHTTP管理を保護するには、「RESTサーバーを介したOracle Coherence HTTP管理の保護」を参照してください。

この項には次のトピックが含まれます:

HTTP管理サーバーの有効化

REST管理は、Coherenceクラスタ上でプロキシとして稼働するHTTP管理サーバーを介して有効化されます。HTTP管理サーバーには、COHERENCE_HOME\lib\coherence-management.jarライブラリと、そのサード・パーティの依存関係が必要です。management-config<http-managed-nodes>要素がallまたはinheritに設定されていて、必要なライブラリがクラスパスにある場合、サーバーが起動します。ライブラリが見つからない場合、管理ライブラリが欠落しておりHTTPを介して管理できないことがCoherenceログ・メッセージに示されます。Coherence Distributionには、サード・パーティの依存関係は含まれません。

Mavenを使用して依存関係を管理することをお薦めします。Mavenリポジトリ・マネージャの移入に関する項の説明に従って、Oracle Maven同期プラグインを使用し、最新のOracle CoherenceアーティファクトがローカルのMavenリポジトリにインストールされていることを前提とします。

サード・パーティ・ライブラリを含むクラスパスを生成するには、下のpom.xmlを使用して、次のMavenコマンドを実行します。キャッシュ・サーバーを起動するには、生成されたクラスパスを追加します。

mvn dependency:build-classpath
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <artifactId>management</artifactId>
  <groupId>management</groupId>
  <version>12.2.1-4-0</version>
  <name>Coherence Management Over REST dependencies</name>
  <packaging>pom</packaging>

  <dependencies>
    <dependency>
      <groupId>com.oracle.coherence</groupId>
      <artifactId>coherence-management</artifactId>
      <version>${project.version}</version>
    </dependency>
  </dependencies>
  
  <profiles>
    <profile>
      <id>jdk11</id>
      <properties>
        <com.sun.xml.bind.version>2.3.0</com.sun.xml.bind.version>
        <javax.activation.version>1.1.1</javax.activation.version>
      </properties>
      <dependencies>
	<dependency>
          <groupId>com.sun.xml.bind</groupId>
          <artifactId>jaxb-core</artifactId>
          <version>${com.sun.xml.bind.version}</version>
        </dependency>
        <dependency>
          <groupId>com.sun.xml.bind</groupId>
          <artifactId>jaxb-impl</artifactId>   
          <version>${com.sun.xml.bind.version}</version>
        </dependency>
        <dependency>
          <groupId>javax.activation</groupId>
          <artifactId>activation</artifactId>
          <version>${javax.activation.version}</version>
        </dependency>
        <dependency>
          <groupId>javax.xml.bind</groupId>
          <artifactId>jaxb-api</artifactId>
          <version>${com.sun.xml.bind.version}</version>
        </dependency>
      </dependencies>
    </profile>
  </profiles>

</project>

必要なすべての依存性が自動的にダウンロードされます。ライブラリの完全なリストを表示するには、次のMavenコマンドを実行します。

mvn dependency:list

管理リソースへの接続

HTTP管理サーバーは、デフォルトでは有効化されていません。動的管理モードをinheritに使用し、デフォルトでポート30000を選択するように構成できます。「HTTP管理サーバーのアドレスの変更」および「management-config」<http-managed-nodes>を参照してください。上位クラスタ・メンバーが動作していない場合、管理サーバーはその次に上位のクラスタ・メンバー上で自動的に再起動されます。Coherenceログにサーバーのホストとポートが示されます。または、com.tangosol.discovery.NSLookupクラスを使用して、任意のクラスタ・メンバーでNameServiceサービスを問い合せることができます。このクラスにはコマンドライン・インタフェースがあります。または、lookupHTTPManagementURLメソッドを呼び出すことができます。たとえば:

java -cp %COHERENCE_HOME%\lib\coherence.jar com.tangosol.discovery.NSLookup -name management/HTTPManagementURL

Cluster MyCluster:      [http://127.0.0.1:63660/management/coherence/cluster]

次の例では、cURLリクエストを使用してクラスタ情報を取得します。

curl -i -X GET http://127.0.0.1:63660/management/coherence/cluster
レスポンス:
HTTP / 1.1 200 OK
Content - Type: application / json
content - length: 1330
connection: keep - alive

{
	"links": [{
		"rel": "parent",
		"href": "http://127.0.0.1:63660/management/coherence"
	}, {
		"rel": "self",
		"href": "http://127.0.0.1:63660/management/coherence/cluster"
	}, {
		"rel": "canonical",
		"href": "http://127.0.0.1:63660/management/coherence/cluster"
	}, {
		"rel": "services",
		"href": "http://127.0.0.1:63660/management/coherence/cluster/services"
	}, {
		"rel": "caches",
		"href": "http://127.0.0.1:63660/management/coherence/cluster/caches"
	}, {
		"rel": "members",
		"href": "http://127.0.0.1:63660/management/coherence/cluster/members"
	}, {
		"rel": "management",
		"href": "http://127.0.0.1:63660/management/coherence/cluster/management"
	}, {
		"rel": "journal",
		"href": "http://127.0.0.1:63660/management/coherence/cluster/journal"
	}, {
		"rel": "hotcache",
		"href": "http://127.0.0.1:63660/management/coherence/cluster/hotcache"
	}, {
		"rel": "webApplications",
		"href": "http://127.0.0.1:63660/management/coherence/cluster/webApplications"
	}],
	"refreshTime": "2018-12-12T18:04:34.225-05:00",
	"licenseMode": "Development",
	"clusterSize": 1,
	"localMemberId": 1,
	"version": "19.1.0.0.0",
	"running": true,
	"clusterName": "MyCluster",
	"membersDeparted": [],
	"memberIds": [1],
	"membersDepartureCount": 0,
	"members": ["Member(Id=1, Timestamp=2018-12-12 18:01:38.132, Address=127.0.0.1:63621, MachineId=46461, Location=site:Burlington,rack:100A,process:12124,member:COH-001, Role=Cache Server)"],
	"oldestMemberId": 1,
	"type": "Cluster"
}

REST APIの詳細なリファレンスは、Oracle Coherenceの管理のためのREST APIを参照してください。

HTTP管理サーバーのアドレスの変更

HTTP管理サーバーのアドレスとポートを明示的に定義できます。ほとんどのユースケースでは、アドレスの変更は不要であり、動的管理モードを構成してHTTP管理を有効にすることが推奨されす。仮想コンテナの場合、coherence.management.http.portのデフォルトの30000を変更する必要はありません。非仮想コンテナで実行されているCoherence HTTP管理サーバーが、デフォルト・ポート30000でその他のCoherenceキャッシュ・サーバーまたはアプリケーションと競合する場合は、coherence.management.http.port0に設定(エフェメラル・ポートを使用するよう指定)すると、競合する可能性を回避できます。「管理リソースへの接続」を参照してください。

ノート:

<http-managed-nodes>要素をallに設定して構成されたHTTP管理サーバーを持つ複数のCoherenceキャッシュ・サーバーが、同じマシン上で起動されている場合、coherence.management.http.portは各サーバーで一意である必要があります。そうでない場合、同じcoherence.management.http.port値を持つ後続のサーバーは、すでに使用中のアドレスを取得するため、HTTP管理サーバーの起動時にエラーが発生します。Coherenceキャッシュ・サーバーは起動しますが、HTTP管理サーバーは、そのマシン上の1つのCoherenceキャッシュ・サーバーでのみ使用できます。

<http-managed-nodes>要素を使用してデフォルトのHTTP管理構成をオーバーライドし、値をallに設定します。

<?xml version='1.0'?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
   xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
   coherence-operational-config.xsd">
   <management-config>
      <http-managed-nodes system-property="coherence.management.http">all
      </http-managed-nodes>
   </management-config>
</coherence>

coherence.management.httpシステム・プロパティによって管理も構成されます。たとえば:

-Dcoherence.management.http=all

次のシステム・プロパティを使用して、HTTP管理サーバーのアドレスとポートを指定します。

-Dcoherence.management.http.address
-Dcoherence.management.http.port

Coherence-JVisualVMプラグインの使用

Coherence-JVisualVMプラグインにより、VisualVM管理ユーティリティを使用した、単一のCoherenceクラスタの管理およびモニタリングが提供されます。
プラグインは、Coherence MBeanデータを集約し、単一のCoherenceクラスタの簡潔な運用ビューを表示します。一定期間の管理情報が表示されるため、リアルタイム分析およびトラブルシューティングが可能になります。

ノート:

  • Coherence-JVisualVMプラグインは、開発およびテスト時に単一のCoherenceクラスタをモニターすることを目的とした設計時ツールです。本番環境でのモニタリング、管理およびアラート生成には、エンタープライズ・レベルの管理製品(Oracle Enterprise Managerなど)を使用する必要があります。
  • Coherenceインストーラに同梱されているプラグインのかわりに、オープン・ソースのCoherence VisualVMプラグインを使用することを強くお薦めします。プラグインのインストールの詳細は、coherence-visualvmに関するページを参照してください。

この項には次のトピックが含まれます:

Coherence-JVisualVMプラグインのインストール

Coherence-JVisualVMプラグイン・ファイル(coherence-jvisualvm.nbm)は、COHERENCE_HOME\plugins\jvisualvmディレクトリにあります。Java VisualVMプラグイン・ツールを使用してプラグインをインストールします。Coherence-JVisualVMプラグインは、JDK 7 update 79以上およびJDK 8 update 40以上でサポートされています。

Coherence-JVisualVMプラグインをインストールするには:

  1. VISUALVM_HOME\bin\visualvmファイルを実行します。VisualVMウィンドウが表示されます。
  2. 「ツール」メニューから、「プラグイン」を選択します。「プラグイン」画面が表示されます。
  3. 「ダウンロード済」タブを選択し、「プラグインの追加...」をクリックします。「プラグインの追加」」ダイアログ・ボックスを使用して、COHERENCE_HOME\plugins\jvisualvm\coherence-jvisualvm.nbmファイルを検索します。
  4. 「開く」をクリックします。Coherence-JVisualVMプラグインはツールにインポートされ、ダウンロードされたプラグインのリストに表示されます。
  5. プラグインのリストから、Coherence-JVisualVMを選択し、「インストール」をクリックします。プラグイン・インストーラが表示されます。オンラインの指示に従ってプラグインをインストールします。
  6. 「インストール済」タブを選択し、プラグインがインストールされアクティブ化されていることを確認します。
  7. Click 「閉じる」をクリックし、「プラグイン」画面を終了します。

Coherence-JVisualVMプラグインを使用したCoherenceクラスタのモニター

Coherenceクラスタは、Coherenceクラスタ・メンバーであるJVMプロセスに接続し、「Oracle Coherence」タブを使用することによって、VisualVMツールでモニターされます。管理データにアクセスする前に、Coherence JMX管理をクラスタ・メンバーで有効にする必要があります。「JMX管理の構成」を参照してください。

Coherence-JVisualVMプラグインを使用してCoherenceクラスタをモニターするには:

  1. Coherenceクラスタを起動します。
  2. VisualVMアプリケーション・ツリーから、「ローカル」をクリックして展開し、MBeanサーバー(JMX管理対応メンバー)をホストするCoherenceクラスタ・メンバー・プロセスをダブルクリックします。プロセス情報は、VisualVMウィンドウの右側にあるプロセス・タブに表示されます。
  3. 選択したプロセス・タブから、Oracle Coherenceをクリックし、次に示すCoherence-JVisualVMプラグインを使用してCoherenceクラスタをモニターします。

    ノート:

    すべてのデータを表示するために、VisualVMウィンドウを1280x800以上に拡大します。また、ズーム・システム・プロパティを使用して、すべてのグラフをズームできます。ズームを使用すると、長期間実行しているVisualVMについて、グラフ上のある時間枠を詳細に調査できます。ズームを有効にするには、VisualVMを起動するときに次のシステム・プロパティを指定します。
    -J-Dcoherence.jvisualvm.zoom.enabled=true

Coherence-JVisualVMプラグインのタブの概要

表2-4に、Coherence JVisualVMプラグインで使用可能なタブの概要を示します。

表2-4 Coherence-JVisualVMプラグインのタブの説明

タブ 説明

クラスタ概要

クラスタ名、バージョン、メンバー数および高可用性ステータスを含むクラスタの概要情報が表示されます。他のタブからサマリー・グラフが集計され、使用可能および使用済の合計クラスタ・メモリー、クラスタ・マシンの平均負荷、パケット・パブリッシャおよびパケット・レシーバの成功率が表示されます。

「クラスタの概要」タブを使用して、クラスタの動作を示す簡単なスナップショットを採取し、発生する可能性のあるパフォーマンスの問題および高可用性の問題を識別します。

マシン

クラスタ内の物理サーバーのリストが表示され、このリストには各サーバーのメモリー・プロファイルが含まれます。サマリー・グラフには、これらのサーバーの平均負荷が表示されます。

「マシン」タブを使用して、各サーバーの負荷をモニターし、使用可能なメモリーをすべて使用する危険のあるサーバーを識別します。

メンバー

すべてのクラスタ・メンバー、そのアドレスおよびクラスタでのロールのリストが表示され、そのリストにはパブリッシャとレシーバの両方の成功率、ヒープ・メモリー使用量および送信キュー・サイズが含まれます。サマリー・グラフには、使用可能および使用済の合計クラスタ・メモリーが表示されます。メンバー行を右クリックして、「詳細の表示」を選択して統計の完全なリストを表示する、または「ノードの状態をレポート」を選択してノードのスレッドのフル・ダンプを取得します。

「メンバー」タブを使用して、クラスタのメンバーシップをモニターし、メンバーおよびクラスタ全体の両方で発生する可能性のあるメモリーの問題を識別および診断します。

サービス

サービス・パーティション数およびstatusHA値を含むクラスタ・サービスの情報が表示されます。サービスを選択し、サービスの各ノードの詳細なスレッド情報と、次のデータをリフレッシュした後でその情報のグラフを確認します。サービスを右クリックして、サービス・パーティション統計を表示します。

サービス・スレッドのパフォーマンスを示すRAWデータは、グラフに左端に表示されます。ノード行を右クリックして、「詳細の表示」を選択し、統計の完全なリストを表示します。

「サービス」タブを使用して、クラスタ内のサービスをモニターし、サービス・スレッドで発生する可能性のあるパフォーマンスの問題を識別します。

キャッシュ

サイズおよびメモリー使用量を含むクラスタ・キャッシュの情報が表示されます。メモリー使用量について正しい情報を表示するには、バイナリ単位換算カリキュレータを使用するようにキャッシュのバッキング・マップ・スキームを構成する必要があります。単位換算カリキュレータが定義されていない場合のデフォルトの単位換算カリキュレータは「固定」です。キャッシュを選択し、次のデータ・リフレッシュの詳細情報を確認します。ニア・キャッシュが選択されている場合、フロント・キャッシュで追加の統計が使用可能です。ノード行を右クリックして、「詳細の表示」を選択し、キャッシュ・サイズとアクセス統計、またはキャッシュ・ストレージ統計のいずれか(どのタブがアクティブであるかによります)の完全なリストを表示します。

「キャッシュ」タブを使用して、キャッシュ統計の詳細ビューを取得し、キャッシュ問合せで発生する可能性のあるパフォーマンスの問題を識別します。

フェデレーション

フェデレーテッド・サービスの現在の参加者クラスタのコンテキスト内でのフェデレーテッド・サービスの情報を表示します。現在の参加者クラスタが接続されている各参加者クラスタのリストが表示されます。クラスタ参加者を選択して、現在のクラスタ参加者のメンバーに関連するパフォーマンス統計を表示します。現在の参加者を構成してデータを送信、受信または送受信するかに応じて、送信および受信統計の両方が提供されます。特定のクラスタ・メンバーを選択して、帯域幅使用量およびレプリケーション統計を表示します。

「フェデレーション」タブを使用して、フェデレーテッド参加者を監視し、フェデレーテッド参加者間で発生する可能性のあるパフォーマンスの問題を特定します。

「フェデレーション」タブは、フェデレーション操作をサポートしています。クラスタ参加者を右クリックして、選択可能な操作のリストを表示します。

永続性

使用可能および使用中のストレージ、永続性操作で提供される待機時間およびキャッシュ・スナップショットの数を含むキャッシュ永続性に関する情報を表示します。パフォーマンス統計は、アクティブな永続性モードにのみ適用されます。

「永続性」タブを使用して、アクティブな永続性の詳細な表示を取得し、発生する可能性のあるパフォーマンスおよび領域の消費に関する問題を特定します。

「永続性」タブは、永続性操作の実行をサポートしています。サービスを右クリックして、選択可能な操作のリストを表示します。

Elasticデータ

RAMおよびフラッシュのジャーナルのメモリー使用量の情報が表示されます。それぞれの進行状況バーを選択して、RAMおよびフラッシュのジャーナルの詳細を表示します。ジャーナル統計には、フェデレーテッドキャッシュ機能に必要なエラスティック・データの内部使用量が含まれます。

「エラスティック・データ」タブを使用して、エラスティック・データのメモリー使用量を監視し、いつメモリーが使い果たされる可能性があるか特定します。

プロキシ・サーバー

各プロキシ・サーバーをまたぐ接続数および送受信された合計メッセージを含む、クラスタ内のプロキシ・サーバーの情報が表示されます。サマリー・グラフには、プロキシ・サーバー接続の合計数が表示されます。

「プロキシ・サーバー」タブを使用して、プロキシに接続しているCoherence*Extendクライアントをモニターし、プロキシで発生する可能性のあるパフォーマンスの問題を識別します。

ノート: このタブは、クラスタでプロキシ・サーバーが構成されている場合のみ使用可能です。また、他のCoherence JVMプロセスの後プロキシ・サーバーが起動した場合は、Coherence JVMプロセスに再接続する必要がある可能性があります。

HTTP Server

プロキシ・サーバーに対して構成されているHTTPアクセプタに関する情報を表示します。情報には、各サーバーでの接続数、合計接続数とレスポンス・コードのグラフ、および選択したデバイスのエラーとリクエストの推移が含まれます。

HTTPサーバータブを使用して、リソース使用率を監視し、潜在的なパフォーマンスの問題を特定します。

ノート: このタブは、プロキシ・サーバーに対してHTTPアクセプタが構成されている場合のみ使用可能です。また、他のCoherence JVMプロセスの後プロキシ・サーバーが起動した場合は、Coherence JVMプロセスに再接続する必要がある可能性があります。

Coherence*Web

デプロイされているアプリケーションの数、格納されるHTTPセッションの数、セッション・リープに関するその他の情報を含む、クラスタ内のHTTPセッション・ストレージに関する情報が表示されます。

「Coherence*Web」タブを使用して、HTTPセッション・ストレージをモニターし、セッション・ストレージで発生する可能性のあるパフォーマンスの問題を識別します。

ノート: このタブは、HTTPセッション・ストレージでCoherenceクラスタが使用されている場合のみ使用可能です。

JCache

JCacheキャッシュの構成情報およびパフォーマンス統計情報を表示します。

JCacheタブを使用して、構成およびパフォーマンスの問題をトラブルシューティングします。

ノート: このタブはCoherenceクラスタがJCacheキャッシュの格納に使用されている場合にのみ使用できます。

RESTを使用するためのCoherence-JVisualVMプラグインの構成

Coherence-JVisualVMプラグインはデフォルトではJMXを使用して管理情報を収集します。RESTを使用するようにプラグインを構成することもできます。管理情報はJMXとRESTのどちらを使用するときもまったく同じです。通常、RESTは仮想コンテナ内でCoherenceを実行するときに使用します。プラグインを構成する前にHTTP管理サーバーを有効にします。「HTTP管理サーバーの有効化」を参照してください。

RESTを使用するためにCoherence-JVisualVMプラグインを構成するには:

  1. VisualVMアプリケーションを起動します。
  2. 「アプリケーション」タブで「Coherenceクラスタ」を選択します。
    Coherenceクラスタの追加ダイアログ・ボックスが表示されます。
  3. 「名前」フィールドに、管理するクラスタ名を入力します。
  4. 管理REST URLフィールドにhttp://host:port/management/coherence/clusterと入力します。hostportをHTTP管理サーバーのホストとポートで置き換えます。
    新しいクラスタ・エントリが作成されます。
  5. 管理情報を表示するには、クラスタ・エントリをクリックします。

ノート:

クラスタ・エントリはVisualVMを再起動しても維持されます。HTTP管理サーバーのポートが変更された場合、新しいクラスタ・エントリを作成して、新しい管理REST URLを入力する必要があります。

Coherence-JVisualVMプラグインを使用した管理対象のCoherenceサーバーのモニタリング

Coherence-JVisualVMプラグインを使用して、WebLogic Serverドメインで管理されるCoherenceクラスタをモニターできます。1つの管理対象Coherenceサーバーが管理プロキシとして自動的に選択されます。どの管理対象Coherenceサーバーを管理プロキシとして選択するかを構成できます。『Oracle WebLogic Serverクラスタの管理』Coherence管理プロキシの削除に関する項を参照してください。WebLogic Serverドメインの実行時MBeanサーバーは、JMX情報を管理プロキシから収集します。

ノート:

  • WebLogic Serverマルチテナント・ドメインに接続している場合、Coherence-JVisualVMプラグインはWebLogicドメイン管理者として接続された場合にのみ表示されます。マルチテナント・ドメインには、パーティション管理者として接続できません。WebLogic Serverドメイン管理の場合、すべてのドメイン・パーティションにアクセスできます。サービス、キャッシュおよび永続性操作を実行する際は、正しいパーティションを選択するようにしてください。
  • スタンドアロン・クラスタ・メンバー(WebLogicサーバー・ドメインの一部ではないメンバー)からWebLogicサーバー・ドメイン内のCoherence MBeanにアクセスする場合は、coherence.management.extendedmbeannameシステム・プロパティをtrueに設定する必要があります。このプロパティによって、管理対象オブジェクト名にグローバルMBean名の一部としてクラスタ・メンバー名が含まれることが保証されます。

VisualVMを使用してドメインの実行時MBeanサーバーに接続するには:

  1. wlserver\server\bin\setWLSEnvスクリプトを実行して、WebLogic Server環境のソースを指定します。
  2. VisualVMを起動し、クラスパスに次のWebLogic Serverライブラリを含めます。また、次のオプションを含め、MBeanチェックが無効であることを確認します。
    jvisualvm --cp WLS_HOME\server\lib\wljmxclient.jar;
      WLS_HOME\server\lib\weblogic.jar -J-Djmx.remote.protocol.provider.pkgs=
      weblogic.management.remote
      -J-Dcoherence.jvisualvm.disable.mbean.check=true
    
  3. VisualVMアプリケーション・ツリーで、「ローカル」を右クリックしてJMX接続の追加を選択します。「JMX接続の追加」ダイアログ・ボックスが表示されます。
  4. 次の接続URLを入力し、hostnameおよびportをWebLogic Serverのホスト名およびポートに置き換えます。
    service:jmx:iiop://hostname:port/jndi/weblogic.management.mbeanservers.
    domainruntime
    
  5. 「セキュリティ資格証明を使用」をクリックし、WebLogic Serverのユーザー名およびパスワードを入力します。
  6. 「OK」をクリックします。
  7. 新規接続をダブルクリックします。
  8. 選択したプロセス・タブから、「Oracle Coherence」をクリックし、Coherenceクラスタをモニターします。

Coherence-JVisualVMプラグインのリフレッシュ間隔の変更

Coherence-JVisualVMプラグインは、デフォルトの30秒ごとにCoherence MBeanサーバーのデータをリフレッシュするように設定されています。ほとんどのタブ(「サービス」タブ、「キャッシュ」タブ、「フェデレーション」タブなど)の詳細セクション上のデータは、別のタブが選択されると瞬時にクリアされ、次のリフレッシュ・サイクル時にリフレッシュされます。

リフレッシュ設定を変更するには、VisualVMを起動するときに次のシステム・プロパティを使用します。

visualvm -J-Dcoherence.jvisualvm.refreshtime=10

管理データをリフレッシュするとパフォーマンスに影響が出る場合(特に、大規模クラスタの場合)、プラグインのリフレッシュ間隔はデフォルトのままにし、デフォルトのCoherence管理リフレッシュ有効期限を1秒から高い値に変更することを検討してください。値は、オペレーション・オーバーライド・ファイルまたはシステム・プロパティを使用して指定できます。「管理情報のリフレッシュの構成」を参照してください。

また、Coherence-JVisualVMプラグインは、コンソール・ログに問合せ回数を含めるように構成できます。このログは、パフォーマンスの問題をトラブルシューティングするときに役立ちます。

ログで問合せ回数を有効にするには、VisualVMを起動するときに次のシステム・プロパティを使用します。

-J-Dcoherence.jvisualvm.log.query.times=true 

コンソールでVisualVMログを表示するには、「ヘルプ」→「情報」を選択してから、VisualVMについて画面で「ログ・ファイル」をクリックします。