1 Oracle Coherence管理の概要

Oracle Coherence管理は、Coherenceソリューションの開発およびデプロイの成功に不可欠です。Coherence管理の実装方法およびその機能の理解は、Coherenceソリューションの管理方法を学習する際の重要な最初のステップです。

Coherence管理は、Java Management Extensions (JMX)を使用して実装されます。JMXは、Javaアプリケーションとサービスを管理およびモニタリングするためのJava標準です。JMXを初めて使用する場合は、『Java Management Extensions (JMX)テクノロジ概要』「JMXテクノロジの紹介」を参照してください。

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

Oracle Coherence管理の概念の概要

Coherence管理にはJMXが使用され、多くのCoherenceコンポーネント用の管理対象オブジェクトがあります。JMX準拠のクライアントを使用して、管理対象オブジェクトとやりとりできます。Coherenceには、すべてのクラスタ・メンバーの管理対象オブジェクトを1つ以上のMBeanサーバーに集約するJMXフレームワークが含まれています。この管理フレームワークでは、どのクラスタ・メンバーからも管理情報にアクセスでき、JMXメンバーに障害が発生した場合はフォルト・トレラントになります。管理フレームワークはデフォルトでは無効にされており、最低でも1つのクラスタ・メンバーでMBeanサーバーをホスティングするように構成することで明示的に有効にする必要があります。「JMXを使用したOracle Coherenceの管理」を参照してください。

図1-1は、単一のクラスタ・メンバーに配置されているリモートMBeanサーバーで、クラスタ・メンバーとその管理対象オブジェクトが管理されている様子を示した概念図です。

図1-1 Oracle Coherence JMX管理

図1-1の説明が続きます
「図1-1 Oracle Coherence JMX管理」の説明

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

Oracle Coherence MBean

Oracle Coherenceの管理対象オブジェクトは、com.tangosol.net.management.Registryインタフェースを使用してMBeanサーバーに登録されます。このインタフェースはクラスタ化リソースの管理に特化したもので、基本的なJMX登録APIを抽象化しています。このインタフェースはJMXインフラストラクチャと密接に関係していますが、javax.management.*のクラスには依存していません。このインタフェースでは、JMXサービスと一緒に配置されていないクラスタ・メンバーのリモート管理がサポートされており、管理対象オブジェクトと一緒に配置されているかまたは離れているMBeanサーバーにOracle Coherence MBeanを登録できます。

Oracle Coherence MBeanのリファレンスには、すべてのMBeanのリストがあり、管理対象リソースに対して公開されている個々の属性と操作が説明されています。一部の管理対象リソースには、各クラスタ・メンバーのインスタンスが1つしかありません。しかし、いくつかの管理対象リソース(CacheMBean MBeanなど)には、クラスタ・メンバーごとに複数のMBeanインスタンスがあります。さらに、MBeanは、少なくとも1つの管理対象リソースが運用されている場合にのみ登録されます。CacheMBean MBeanでは、MBeanの登録前にキャッシュが起動されている必要があります。

カスタムMBean

カスタムMBeanを、管理フレームワーク内で管理およびモニターできます。カスタムMBeanは、アプリケーション固有の動的MBeanまたは標準MBeanです。MBeanは、XMLファイルで宣言的に登録されるか、Registrationインタフェースを使用してプログラム的に登録されます。カスタムMBeanを登録することで、アプリケーションのMBeanをクラスタ内のどのJVM、メンバー、エンドポイントからも管理またはモニターできるようになります。「カスタムMBeanの登録」を参照してください。

MBeanコンソール

MBean対応コンソールであれば、Oracle Coherence MBeanとやり取りできます。JDKとともに配布されているVisualVMコンソールとJava Monitoring & Management Console (JConsole)が一般的に選ばれています。JMXリファレンス実装の一部として用意されているJMX HTML Adapter Webアプリケーションもサポートされています。「Oracle Coherence MBeanへのアクセス」を参照してください。

Coherence VisualVMプラグイン

Coherence VisualVMプラグインは、Coherence MBeanデータを集約し、VisualVMコンソールにCoherenceクラスタの簡潔な運用ビューを表示します。一定期間の管理情報が表示されるため、リアルタイム分析およびトラブルシューティングが可能になります。「Coherence VisualVMプラグインの使用」を参照してください。

Oracle Coherenceの管理レポート

管理レポートにより管理情報が時系列で表示され、Coherence MBeanのモニタリングのみでは不可能な履歴的なコンテキストが提供されます。このレポートは、Oracle Coherence MBeanから取得されたデータで構築されたテキスト・ファイルで構成されています。レポートは構成された時間間隔で自動的に更新され、トラブルシューティングおよび計画に役立つ傾向を明らかにします。

図1-2は、すべてのクラスタ・メンバーの管理情報に基づいて単一クラスタ・メンバーで生成される、管理レポートの概念図です。

図1-2 Oracle Coherence管理のレポート

図1-2の説明が続きます。
「図1-2 Oracle Coherence管理のレポート」の説明

多数の事前定義されたレポートが用意されています。レポート内容の分析を参照してください。事前定義済レポートをカスタマイズするか、必要に応じて新しいレポートを作成できます。レポート機能はデフォルトでは無効になっているため、明示的に有効にする必要があります。また、最初はレポートのサブセットのみが構成されて生成されます。「Oracle Coherenceのレポート機能の使用」を参照してください。

管理構成の概要

Coherence管理およびレポートでは、複数の構成ファイルを使用する必要があります。必要に応じて、構成ファイルによって管理機能を有効化、制御およびカスタマイズします。『Oracle Coherenceでのアプリケーションの開発』「構成の理解」を参照してください。

管理の構成には、次のファイルが使用されます。

  • オペレーション・オーバーライド・ファイル – tangosol-coherence-override.xmlファイルは、Coherence JARファイルにあるオペレーション・デプロイメント・ディスクリプタ(tangosol-coherence.xml)に含まれているデフォルトのオペレーション設定をオーバーライドするために使用します。このディスクリプタはクラスタのオペレーションおよびランタイム設定を指定し、管理サービスを含みます。管理設定は、<management-config>ノード内で定義します。『Oracle Coherenceでのアプリケーションの開発』management-configに関する項を参照してください。

  • MBean構成オーバーライド・ファイル – custom-mbeans.xmlファイルはデフォルトのMBean構成オーバーライド・ファイルです。カスタムMBeanを宣言式に定義します。カスタムMBeanはオペレーション・オーバーライド・ファイル内にも定義できます。ただし、一般的にはカスタムMBeanではなくMBean構成オーバーライド・ファイルが使用されます。

  • レポート構成ファイル – レポート構成ファイルでは、レポートを定義し、特定メトリックのセットに基づいて管理情報を表示するレポート・ファイルが作成されます。レポート構成ファイルは、実行時に使用されるレポート・グループ構成ファイルで参照される必要があります。デフォルトのレポート構成ファイルはcoherence.jarライブラリ・ファイルの/reportsディレクトリにあり、デフォルトのレポート・グループ構成ファイルによって参照されます。カスタムのレポート構成ファイルも必要に応じて作成できます。レポート・ファイル構成要素の詳細は、「レポート・ファイル構成要素」を参照してください。

  • レポート・グループ構成ファイル – レポート・グループ構成ファイルは、レポート定義ファイルの名前と場所、およびレポートが書き込まれる出力ディレクトリのリストを示します。このファイルの名前と場所は、オペレーション・デプロイメント・ディスクリプタに定義されます。デフォルトでは、report-group.xmlファイルが使用され、このファイルはcoherence.jarライブラリ・ファイルの/reportsディレクトリに存在します。追加のレポート・グループ構成ファイルが用意されています。さらに、カスタム・レポート・グループ・ファイルを必要に応じて作成できます。レポート・グループ構成要素の詳細は、「レポート・グループ構成要素」を参照してください。

  • 管理呼出しサービス・ファイル – management-config.xmlファイルは、Oracle Coherence JMX管理フレームワークで使用される管理呼出しサービス・インスタンスを構成します。このファイルはcoherence.jarライブラリ・ファイルのルートに存在し、クラスパスでcoherence.jarライブラリ・ファイルより前に別のmanagement-config.xmlファイルを置くことでオーバーライドできます。この構成ファイルはXSDで定義されません。ファイルには<config>ルート要素が存在する必要があります。また、<invocation-scheme>要素で利用できる同じサブ要素をサポートします。『Oracle Coherenceでのアプリケーションの開発』invocation-schemeに関する項を参照してください。

Coherence構成についてさらに学習するには、『Oracle Coherenceでのアプリケーションの開発』「構成の理解」を参照してください。

Oracle WebLogic ServerによるOracle Coherenceの管理

Oracle WebLogic Serverには、Oracle WebLogic Serverドメイン内でのOracle Coherenceの管理方法を標準化するOracle Coherence統合が用意されています。この統合により、Oracle CoherenceがOracle WebLogic Serverのサブシステムになり、Oracle WebLogic Serverツールを使用したOracle Coherence環境の管理が可能になります。

主なメリットとして、次のようなことが可能になります。

  • Oracle Coherenceクラスタの設定および構成

  • Oracle Coherenceクラスタ・メンバーの追加と削除

  • Oracle Coherenceクラスタ・メンバーのプロパティの構成

  • Oracle Coherenceクラスタ・メンバーの開始と停止

  • Oracle CoherenceアプリケーションのGrid ARchive (GAR)モジュールとしてのデプロイ

  • Oracle Coherenceアプリケーションの起動と停止

  • Oracle Coherenceリソースの保護

WebLogic ServerによるOracle Coherenceの使用の詳細は、『Oracle Coherenceの管理』CoherenceアプリケーションのWebLogic Serverへのデプロイに関する項を参照してください。

RESTを介したCoherence管理用のWebアプリケーションの作成

多数のメンバーが含まれる大規模なCoherenceクラスタでは、管理サーバーのRESTエンドポイントからCoherence MBeanを問い合せる際にパフォーマンスの問題が発生する場合があります。このような問題を回避するには、MBeanプロキシ・サーバーが実行されているCoherence管理対象サーバーにWebアプリケーションをデプロイすることで、REST APIを介してCoherence管理を直接問い合せます。

RESTを介したCoherence管理用のWebアプリケーションを構築する方法の例を次に示します:

  1. Webアプリケーションのディレクトリを作成します:
    mkdir CohManagement
  2. Webアプリケーション・ディレクトリに移動し、META-INFおよびWEB-INFディレクトリを作成します。
  3. 次のweb.xmlおよびweblogic.xmlWEB-INFに追加します。必要に応じて、<context-root>の名前を変更できます。この例では、cohmgmtが<context-root>です。
    web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
      
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
    
      <display-name>Coherence Management REST Resources</display-name>
      <description>Coherence Management REST Resources</description>
    
      <servlet>
        <servlet-name>coherence.management.rest.Application</servlet-name>
        
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
        <param-name>javax.ws.rs.Application</param-name>
          
    <param-value>com.tangosol.coherence.management.internal.ManagementResourceConfig</param-value>
        </init-param>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>coherence.management.rest.Application</servlet-name>
        <url-pattern>/*</url-pattern>
      </servlet-mapping>
    </web-app>
    weblogic.xml
    <?xml version="1.0" encoding="UTF-8"?>
      
    <weblogic-web-app
      xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app">
    
      <context-root>cohmgmt</context-root>
    
    </weblogic-web-app>
  4. Webアプリケーション.warファイルを構築します。Webアプリケーションの親ディレクトリに移動し、次のコマンドを使用して.warファイルを作成します:
    jar cvf CohManagement.war -C CohManagement .
  5. MBeanプロキシ・サーバーが実行されている管理対象Coherenceサーバーに.warファイルをデプロイします。

Webアプリケーションを介してCoherence MBeanを問い合せるには、管理対象Coherenceサーバー(WebLogicサーバー)のリスニング・ポートを使用します。

たとえば、WebLogicサーバーがポート7010でリスニングしている場合、すべてのキャッシュの統計を問い合せるURLは次のようになります:
http://<Host>:7010/cohmgmt/management/coherence/cluster/caches

Fusion Middleware ControlによるOracle Coherenceの管理

Fusion Middleware ControlはWebブラウザ・ベースのグラフィカル・ユーザー・インタフェースで、Fusion Middlewareのドメインおよびコンポーネントを管理およびモニターします。ネイティブの管理機能に加え、Fusion Middleware Controlでは、多くのWebLogic Server管理コンソール機能もサポートされています。『Oracle Fusion Middlewareの管理』Oracle Enterprise Manager Fusion Middleware Controlの使用のスタート・ガイドを参照してください。Fusion Middleware Controlでは、管理対象CoherenceサーバーとスタンドアロンCoherenceサーバーの両方の管理がサポートされており、単一のコンソールから他のFusion MiddlewareコンポーネントとともにCoherenceを管理する場合に最適です。

Oracle Enterprise ManagerによるOracle Coherenceの管理

Oracle Enterprise Manager Cloud Controlには、Oracle Coherenceクラスタの管理とモニターに使用するOracle Coherence用のManagement Packがあります。管理者は、このManagement Packを使用してクラスタのパフォーマンスを積極的にモニターすることで、アプリケーション環境内のパフォーマンス問題を識別および診断するために要する時間を削減できます。

主なメリットとして、次のようなことが可能になります。

  • クラスタ全体を単一ターゲットとしてモデル化することによる複雑性の管理

  • キャッシュとノードのリアルタイム・パフォーマンスモニタリングおよび履歴パフォーマンスモニタリングによる診断時間と解決時間の短縮化の指定

  • アプリケーション・コンテキストでのキャッシュのモニターによる依存性の分析

  • しきい値とアラートを使用したプロアクティブなモニタリングの指定

  • 自動化されたプロビジョニングとライフサイクル管理を使用することによるリスクの軽減

  • 迅速なランタイム構成変更によるキャッシュ・パフォーマンスのチューニング

Management Pack for Oracle Coherenceは、Oracle Enterprise Manager Cloud Controlに含まれており、『Oracle Enterprise Managerダウンロード』でダウンロードできます。『Oracle Enterprise Manager Cloud Control Oracle Fusion Middleware管理ガイド』Management Pack for Oracle Coherenceのスタート・ガイドを参照してください。

Oracleコマンドライン・インタフェースによるOracle Coherenceの管理

Oracle Coherenceコマンドライン・インタフェース(CLI) cohctlは、Coherenceクラスタの管理およびモニターにスクリプト化または対話形式で使用できる軽量ツールです。

CLIは、RESTインタフェースを介したHTTP管理を使用してクラスタにアクセスするため、モニターまたは管理するクラスタでこれを有効にする必要があります。

詳細は、GitHubリポジトリに関するページおよびドキュメント - Coherence CLIの概要に関する公式ドキュメントを参照してください。