第11章 ヘルスチェック API

11.1. ヘルスチェック API

ヘルスチェック API は、クラスターとその中に含まれるキャッシュの正常性を監視できるようにします。クラスターやキャッシュの状態を報告するクエリーのメソッドを説明するため、この情報は特にクラウド環境で作業を行う場合に重要になります。

この API は以下の情報を公開します。

  • クラスターの名前。
  • クラスターにあるマシンの数。
  • 以下の 3 つの値の 1 つで表される、クラスターまたはキャッシュの総合的な状態。

    • Healthy - エンティティーは正常です。
    • Unhealthy - エンティティーは正常ではありません。この値は、1 つ以上のキャッシュがデグレード状態であることを表しています。
    • Rebalancing - このエンティティーは運用可能ですが、再調整中です。この値が報告されたらクラスターノードを調整してはなりません。
  • 各キャッシュの状態。
  • サーバーログの末尾。

プログラムを使用しないでヘルスチェック API を使用する方法については、JBoss Data Grid の 管理および設定ガイド を参照してください。

11.2. プログラムを使用したヘルスチェック API へのアクセス

ライブラリーモードでは、プログラムを使用した場合のみヘルスチェック API にアクセス可能で、embeddedCacheManager.getHealth() メソッドを呼び出してアクセスすることができます。

このメソッドは、以下のメソッドにアクセスできる org.infinispan.health.Health オブジェクトを返します。

  • getClusterHealth() - ClusterHealth オブジェクトを返し、以下のメソッドにアクセスできます。

    • getNumberOfNodes() - クラスターの全ノード数を表す int 型を返します。
    • getNodeNames() - クラスターにあるすべてのノードの名前が含まれる List<String> を返します。
    • getClusterName() - クラスターの名前が含まれる String を返します。
    • getHealthStatus() - クラスターの正常性が含まれる HealthStatus が返され、正常性は HEALHTYUNHEALTHY、または REBALANCING で報告されます。
  • getHostInfo() - HostInfo オブジェクトを返し、以下のメソッドにアクセスできます。

    • getNumberOfCpus() - ホストにインストールされた CPU の数が含まれる int 型を返します。
    • getTotalMemoryKb() - KB 単位のメモリーの合計が含まれる long 型を返します。
    • getFreeMemoryInKb() - KB 単位の空きメモリーが含まれる long 型を返します。
  • getCacheHealth() - List<CacheHealth> を返します。各 CacheHealth オブジェクトは以下のメソッドにアクセスできます。

    • getCacheName() - キャッシュの名前が含まれる String を返します。
    • getStatus() - キャッシュの正常性が含まれる HealthStatus が返され、正常性は HEALHTYUNHEALTHY、または REBALANCING で報告されます。