第12章 ヘルスチェック API
12.1. ヘルスチェック API
ヘルスチェック API は、クラスターとその中に含まれるキャッシュの正常性を監視できるようにします。クラスターやキャッシュの状態を報告するクエリーのメソッドを説明するため、この情報は特にクラウド環境で作業を行う場合に重要になります。
この API は以下の情報を公開します。
- クラスターの名前。
- クラスターにあるマシンの数。
以下の 3 つの値の 1 つで表される、クラスターまたはキャッシュの総合的な状態。
- Healthy - エンティティーは正常です。
- Unhealthy - エンティティーは正常ではありません。この値は、1 つ以上のキャッシュがデグレード状態であることを表しています。
- Rebalancing - このエンティティーは運用可能ですが、再調整中です。この値が報告されたらクラスターノードを調整してはなりません。
- 各キャッシュの状態。
- サーバーログの末尾。
プログラミングを使用しないでヘルスチェック API を使用する方法については、JBoss Data Grid の 『Administration and Configuration Guide
』を参照してください。
12.2. プログラムを使用したヘルスチェック API へのアクセス
ライブラリーモードでは、プログラムを使用した場合のみヘルスチェック API にアクセス可能で、embeddedCacheManager.getHealth()
メソッドを呼び出してアクセスすることができます。
このメソッドは、以下のメソッドにアクセスできる org.infinispan.health.Health
オブジェクトを返します。
getClusterHealth()
-ClusterHealth
オブジェクトを返し、以下のメソッドにアクセスできます。-
getNumberOfNodes()
- クラスターの全ノード数を表す int 型を返します。 -
getNodeNames()
- クラスターにあるすべてのノードの名前が含まれるList<String>
を返します。 -
getClusterName()
- クラスターの名前が含まれるString
を返します。 -
getHealthStatus()
- クラスターの正常性が含まれるHealthStatus
が返され、正常性は HEALTHY、UNHEALTHY、または REBALANCING で報告されます。
-
getHostInfo()
-HostInfo
オブジェクトを返し、以下のメソッドにアクセスできます。-
getNumberOfCpus()
- ホストにインストールされた CPU の数が含まれる int 型を返します。 -
getTotalMemoryKb()
- KB 単位のメモリーの合計が含まれる long 型を返します。 -
getFreeMemoryInKb()
- KB 単位の空きメモリーが含まれる long 型を返します。
-
getCacheHealth()
-List<CacheHealth>
を返します。各CacheHealth
オブジェクトは以下のメソッドにアクセスできます。-
getCacheName()
- キャッシュの名前が含まれるString
を返します。 -
getStatus()
- キャッシュの正常性が含まれるHealthStatus
が返され、正常性は HEALTHY、UNHEALTHY、または REBALANCING で報告されます。
-