2.4. キャッシュマネージャーの操作
Data Grid キャッシュマネージャーと対話して、クラスターと使用状況の統計を取得します。
2.4.1. 基本的なコンテナー情報の取得
GET
リクエストを使用して、キャッシュマネージャーに関する情報を取得します。
GET /rest/v2/container
Data Grid は、次の例のように、JSON 形式の情報で応答します。
セキュリティー承認のあるキャッシュに関する情報は、特定のロールとパーミッションが割り当てられているユーザーのみが利用できます。
{ "version":"xx.x.x-FINAL", "name":"default", "coordinator":true, "cache_configuration_names":[ "___protobuf_metadata", "cache2", "CacheManagerResourceTest", "cache1" ], "cluster_name":"ISPN", "physical_addresses":"[127.0.0.1:35770]", "coordinator_address":"CacheManagerResourceTest-NodeA-49696", "cache_manager_status":"RUNNING", "created_cache_count":"3", "running_cache_count":"3", "node_address":"CacheManagerResourceTest-NodeA-49696", "cluster_members":[ "CacheManagerResourceTest-NodeA-49696", "CacheManagerResourceTest-NodeB-28120" ], "cluster_members_physical_addresses":[ "127.0.0.1:35770", "127.0.0.1:60031" ], "cluster_size":2, "defined_caches":[ { "name":"CacheManagerResourceTest", "started":true }, { "name":"cache1", "started":true }, { "name":"___protobuf_metadata", "started":true }, { "name":"cache2", "started":true } ], "local_site": "LON", "relay_node": true, "relay_nodes_address": [ "CacheManagerResourceTest-NodeA-49696" ], "sites_view": [ "LON", "NYC" ], "rebalancing_enabled": true }
-
version
は、Data Grid バージョンが含まれています -
name
には、コンフィギュレーションで定義された Cache Manager の名前が含まれます。 -
coordinator
は、Cache Manager がクラスターのコーディネーターである場合には真となります。 -
cache_configuration_names
には、現在のユーザーがアクセスできる、Cache Manager で定義されたすべてのキャッシュ設定の配列が含まれます。 -
cluster_name
には、設定で定義されたクラスターの名前が含まれます。 -
physical_addresses
は、Cache Manager に関連する物理ネットワークアドレスを含みます。 -
coordinator_address
には、クラスターのコーディネーターの物理ネットワークアドレスが含まれます -
cache_manager_status
Cache Manager のライフサイクルの状態です。可能な値は、org.infinispan.lifecycle.ComponentStatus
ドキュメントを確認してください。 -
created_cache_count
作成されたキャッシュの数、すべての内部およびプライベートキャッシュを除く -
running_cache_count
実行中の作成されたキャッシュの数 -
node_address
には、Cache Manager の論理アドレスが含まれます。 -
cluster_members
およびcluster_members_physical_addresses
は、クラスターのメンバーの論理アドレスと物理アドレスの配列です。 -
cluster_size
クラスター内のメンバーの数 -
defined_caches
Cache Manager で定義されているすべてのキャッシュのリスト。プライベートキャッシュは除きますが、アクセス可能な内部キャッシュは含まれます。 -
local_site
ローカルサイトの名前。
クロスサイトレプリケーションが設定されていない場合、Data Grid は "local "を返します。 -
relay_node
は、クラスター間の RELAY メッセージを処理するノードであれば true。 -
relay_nodes_address
は、リレーノードの論理アドレスの配列です。 -
sites_view
クロスサイトレプリケーションに参加しているサイトのリスト。
クロスサイトレプリケーションが設定されていない場合、Data Grid は空のリストを返します。 -
rebalancing_enabled
は、リバランシングが有効な場合は true。このプロパティーの取得は、サーバーで失敗する可能性があります。その場合、プロパティーはペイロードに存在しません。
2.4.2. クラスターヘルスの取得
GET
リクエストを使用して Data Grid クラスターのヘルス情報を取得します。
GET /rest/v2/container/health
Data Grid は、次の例のように、JSON 形式のクラスターヘルス情報で応答します。
{ "cluster_health":{ "cluster_name":"ISPN", "health_status":"HEALTHY", "number_of_nodes":2, "node_names":[ "NodeA-36229", "NodeB-28703" ] }, "cache_health":[ { "status":"HEALTHY", "cache_name":"___protobuf_metadata" }, { "status":"HEALTHY", "cache_name":"cache2" }, { "status":"HEALTHY", "cache_name":"mycache" }, { "status":"HEALTHY", "cache_name":"cache1" } ] }
cluster_health
には、クラスターのヘルスが含まれます-
cluster_name
は、設定で定義されているクラスターの名前を指定します。 health_status
は、次のいずれかを提供します。-
DEGRADED
は、キャッシュの少なくとも 1 つが劣化モードにあることを示します。 -
HEALTHY_REBALANCING
は、少なくとも 1 つのキャッシュがリバランス状態にあることを示します。 -
HEALTHY
は、クラスター内のすべてのキャッシュインスタンスが期待どおりに動作していることを示します。 -
FAILED
は、指定された設定でキャッシュを開始できなかったことを示します。
-
-
number_of_nodes
は、クラスターメンバーの総数を表示します。非クラスター化 (スタンドアロン) サーバーの場合は値0
を返します。 -
node_names
は、すべてのクラスターメンバーの配列です。スタンドアロンサーバーの場合は空です。
-
cache_health
には、キャッシュごとのヘルス情報が含まれています-
status
は HEALTHY、DEGRADED、HEALTHY_REBALANCING または FAILED です。 -
cache_name
設定で定義されているキャッシュの名前。
-
2.4.3. コンテナーの健全性ステータスの取得
認証を必要としない GET
リクエストを使用して、Data Grid コンテナーの健全性ステータスを取得します。
GET /rest/v2/container/health/status
Data Grid は以下のいずれかを text/plain
形式で応答します。
-
HEALTHY
-
HEALTHY_REBALANCING
-
DEGRADED
-
FAILED
2.4.4. REST エンドポイントの可用性の確認
HEAD
リクエストを使用して Data Grid サーバーの REST エンドポイントの可用性を確認します。
HEAD /rest/v2/container/health
正常な応答コードを受信した場合、Data Grid REST サーバーが実行され、要求を処理しています。
2.4.5. グローバル設定の取得
、GET
リクエストを使用して、データコンテナーのグローバル設定を取得します。
GET /rest/v2/container/config
ヘッダー | 必須またはオプション | パラメーター |
---|---|---|
オプション | コンテンツを返すために必要なフォーマットです。対応フォーマットは、application/jsonとapplication/xmlです。ヘッダーが指定されていない場合、JSON が想定されます。 |
パラメーター | 必須またはオプション | 説明 |
---|---|---|
| オプション |
|
2.4.6. すべてのキャッシュの設定を取得する
GET
リクエストを使用してすべてのキャッシュの設定を取得します。
GET /rest/v2/container/cache-configs
Data Grid は、以下の例のように、各キャッシュとキャッシュ設定を含む JSON
配列で応答します。
[ { "name":"cache1", "configuration":{ "distributed-cache":{ "mode":"SYNC", "partition-handling":{ "when-split":"DENY_READ_WRITES" }, "statistics":true } } }, { "name":"cache2", "configuration":{ "distributed-cache":{ "mode":"SYNC", "transaction":{ "mode":"NONE" } } } } ]
パラメーター | 必須またはオプション | 説明 |
---|---|---|
| オプション |
|
2.4.7. 利用可能なキャッシュテンプレートのリスト表示
GET
リクエストで、利用可能なすべての Data Grid キャッシュテンプレートを取得します。
GET /rest/v2/cache-configs/templates
テンプレートを使用したキャッシュの作成 を参照してください。
パラメーター | 必須またはオプション | 説明 |
---|---|---|
| オプション |
|
2.4.8. コンテナー統計情報の取得
GET
リクエストを使用して、コンテナーの統計情報を取得します。
GET /rest/v2/container/stats
Data Grid は、次の例のように、JSON 形式のキャッシュマネージャー統計で応答します。
{ "statistics_enabled":true, "read_write_ratio":0.0, "time_since_start":1, "time_since_reset":1, "number_of_entries":0, "off_heap_memory_used":0, "data_memory_used":0, "misses":0, "remove_hits":0, "remove_misses":0, "evictions":0, "average_read_time":0, "average_read_time_nanos":0, "average_write_time":0, "average_write_time_nanos":0, "average_remove_time":0, "average_remove_time_nanos":0, "required_minimum_number_of_nodes":1, "hits":0, "stores":0, "current_number_of_entries_in_memory":0, "hit_ratio":0.0, "retrievals":0 }
-
statistics_enabled
は、Cache Manager で統計情報の収集が有効になっている場合にtrue
になります。 -
read_write_ratio
は、すべてのキャッシュにわたる読み取り/書き込み比率を表示します。 -
time_since_start
は、キャッシュマネージャーが開始されてからの時間を秒単位で示します。 -
time_since_reset
は、キャッシュマネージャーの統計が最後にリセットされてからの秒数を示します。 -
number_of_entries
は、キャッシュマネージャーから現在すべてのキャッシュにあるエントリーの総数を示します。この統計は、ローカルキャッシュインスタンスのエントリーのみを返します。 -
off_heap_memory_used
は、このキャッシュコンテナーが使用しているオフヒープメモリーの量をbytes[]
単位で示します。 -
data_memory_used
は、現在の退避アルゴリズムが全キャッシュのデータに使用されていると推定している量をbytes[]
単位で示します。エヴィクションが有効になっていない場合は0
を返します。 -
misses
は、すべてのキャッシュにおけるget()
のミスの数を示しています。 -
remove_hits
は、すべてのキャッシュにわたる削除ヒットの数を示します。 -
remove_misses
は、すべてのキャッシュにわたる削除ミスの数を示します。 -
evictions
は、すべてのキャッシュにおけるエヴィクションの数を示しています。 -
average_read_time
は、すべてのキャッシュでget()
操作にかかったミリ秒数の平均値を示します。 -
average_read_time_nanos
はaverage_read_time
と同じですが、単位はナノ秒です。 -
average_remove_time
は、すべてのキャッシュにおけるremove()
操作の平均ミリ秒数を示します。 -
average_remove_time_nanos
はaverage_remove_time
と同じですが、単位はナノ秒です。 -
required_minimum_number_of_nodes
は、データの一貫性を保証するために必要な最小のノード数を示します。 -
hits
は、すべてのキャッシュにおけるget()
のヒット数を示します。 -
stores
は、すべてのキャッシュにおけるput()
操作の回数を提供します。 -
current_number_of_entries_in_memory
は、パッシベーションされたエントリーを除く、現在すべてのキャッシュにあるエントリーの総数を示します。 -
hit_ratio
は、すべてのキャッシュの合計 hit/(hit+miss) 比率を提供します。 -
retrievals
は、get()
操作の総数を示しています。
2.4.9. コンテナー統計情報のリセット
POST
リクエストで統計情報をリセットします。
POST /rest/v2/container/stats?action=reset
2.4.10. すべてのコンテナーキャッシュをシャットダウンする
POST
リクエストを使用して、サーバー上の Data Grid コンテナーをシャットダウンします。
POST /rest/v2/container?action=shutdown
Data Grid は 204 (No Content)
と応答し、コンテナー内のすべてのキャッシュをシャットダウンします。サーバーはアクティブなエンドポイントとクラスタリングで実行されたままですが、コンテナーリソースへの REST 呼び出しは、503 Service Unavailable 応答になります。
このメソッドは、主に Data Grid オペレーターによる使用を目的としています。このエンドポイントが呼び出された直後に、サーバープロセスが手動で終了することが期待されます。このメソッドが呼び出されると、コンテナーの状態を再開することはできません。
2.4.11. すべてのキャッシュのリバランスを有効にする
すべてのキャッシュの自動リバランスをオンにします。
POST /rest/v2/container?action=enable-rebalancing
2.4.12. すべてのキャッシュのリバランスを無効にする
すべてのキャッシュの自動リバランスをオフにします。
POST /rest/v2/container?action=disable-rebalancing
2.4.13. Data Grid のバックアップ
現在 Data Grid に保存されているリソース (キャッシュ、キャッシュテンプレート、カウンター、Protobuf スキーマ、サーバータスクなど) を含むバックアップアーカイブ application/zip
を作成します。
POST /rest/v2/container/backups/{backupName}
同じ名前のバックアップがすでに存在する場合、サービスは 409 (Conflict)
応答します。directory
パラメーターが無効な場合、サービスは 400 (Bad Request)
返します。202
応答は、バックアップ要求が処理のために受け入れられたことを示します。
オプションで、次のように、バックアップ操作のパラメーターを含む JSON ペイロードをリクエストに含めます。
キー | 必須またはオプション | 値 |
---|---|---|
| オプション | バックアップアーカイブを作成および保存するサーバー上の場所を指定します。 |
| オプション | バックアップするリソースを JSON 形式で指定します。デフォルトでは、すべてのリソースがバックアップされます。1 つまたは複数のリソースを指定した場合、Data Grid はそれらのリソースのみをバックアップします。詳細は、リソースパラメーターの表を参照してください。 |
キー | 必須またはオプション | 値 |
---|---|---|
| オプション |
バックアップするキャッシュ名の配列を指定するか、すべてのキャッシュを対象とする |
| オプション |
バックアップするキャッシュテンプレートの配列、またはすべてのテンプレートの |
| オプション |
バックアップするカウンター名の配列、またはすべてのカウンターの |
| オプション |
バックアップする Protobuf スキーマ名の配列、またはすべてのスキーマの |
| オプション |
バックアップするサーバータスクの配列、またはすべてのタスクの |
次の例では、指定されたディレクトリーに [cache1,cache2]
という名前のすべてのカウンターとキャッシュを含むバックアップアーカイブを作成します。
{ "directory": "/path/accessible/to/the/server", "resources": { "caches": ["cache1", "cache2"], "counters": ["*"] } }
2.4.14. バックアップのリスト表示
進行中、完了、または失敗したすべてのバックアップ操作の名前を取得します。
GET /rest/v2/container/backups
Data Grid は、以下の例のように、すべてのバックアップ名の配列で応答します。
["backup1", "backup2"]
2.4.15. バックアップの可用性の確認
バックアップ操作が完了していることを確認します。
HEAD /rest/v2/container/backups/{backupName}
200
のレスポンスは、バックアップアーカイブが利用可能であることを示します。202
の応答は、バックアップ操作が進行中であることを示します。
2.4.16. バックアップアーカイブのダウンロード
サーバーからバックアップアーカイブをダウンロードします。
GET /rest/v2/container/backups/{backupName}
200
のレスポンスは、バックアップアーカイブが利用可能であることを示します。202
の応答は、バックアップ操作が進行中であることを示します。
2.4.17. バックアップアーカイブの削除
サーバーからバックアップアーカイブを削除します。
DELETE /rest/v2/container/backups/{backupName}
204
応答は、バックアップアーカイブが削除されたことを示します。202
応答は、バックアップ操作が進行中であるが、操作が完了すると削除されることを示します。
2.4.18. バックアップアーカイブからの Data Grid リソースの復元
バックアップアーカイブから Data Grid リソースを復元します。提供されている {restoreName}
は、復元の進行状況を追跡するためのものであり、復元されるバックアップファイルの名前とは無関係です。
POST /rest/v2/container/restores/{restoreName}
202
応答は、復元要求が処理のために受け入れられたことを示します。
2.4.18.1. Data Grid サーバー上のバックアップアーカイブからの復元
サーバー上のアーカイブからバックアップする場合は、POST リクエストに application/json
コンテンツタイプを使用します。
キー | 必須またはオプション | 値 |
---|---|---|
| 必須 | 復元するバックアップアーカイブのパスを指定します。 |
| オプション | 復元するリソースを JSON 形式で指定します。デフォルトでは、すべてのリソースを復元します。1 つまたは複数のリソースを指定した場合、Data Grid はそれらのリソースのみをリストアします。詳細は、リソースパラメーターの表を参照してください。 |
キー | 必須またはオプション | 値 |
---|---|---|
| オプション |
バックアップするキャッシュ名の配列を指定するか、すべてのキャッシュを対象とする |
| オプション |
バックアップするキャッシュテンプレートの配列、またはすべてのテンプレートの |
| オプション |
バックアップするカウンター名の配列、またはすべてのカウンターの |
| オプション |
バックアップする Protobuf スキーマ名の配列、またはすべてのスキーマの |
| オプション |
バックアップするサーバータスクの配列、またはすべてのタスクの |
次の例では、サーバー上のバックアップアーカイブからすべてのカウンターを復元します。
{ "location": "/path/accessible/to/the/server/backup-to-restore.zip", "resources": { "counters": ["*"] } }
2.4.18.2. ローカルバックアップアーカイブからの復元
ローカルのバックアップアーカイブをサーバーにアップロードするには、POST リクエストに multipart/form-data
コンテンツタイプを使用します。
パラメーター | Content-Type | 必須またはオプション | 値 |
---|---|---|---|
|
| 必須 | 復元するバックアップアーカイブのバイトを指定します。 |
|
| オプション | リクエストパラメーターの JSON オブジェクトを定義します。 |
要求の例
Content-Type: multipart/form-data; boundary=5ec9bc07-f069-4662-a535-46069afeda32 Content-Length: 7721 --5ec9bc07-f069-4662-a535-46069afeda32 Content-Disposition: form-data; name="resources" Content-Length: 23 {"scripts":["test.js"]} --5ec9bc07-f069-4662-a535-46069afeda32 Content-Disposition: form-data; name="backup"; filename="testManagerRestoreParameters.zip" Content-Type: application/zip Content-Length: 7353 <zip-bytes> --5ec9bc07-f069-4662-a535-46069afeda32--
2.4.19. リストの復元
進行中、完了、または失敗したすべての復元要求の名前を取得します。
GET /rest/v2/container/restores
Data Grid は、次の例のように、すべての復元名の配列で応答します。
["restore1", "restore2"]
2.4.20. 復元の進行状況を確認する
復元操作が完了したことを確認します。
HEAD /rest/v2/container/restores/{restoreName}
201 (Created)
応答は、リストア操作が完了したことを示します。202 (Accepted)
応答は、バックアップ操作が進行中であることを示します。
2.4.21. 復元メタデータの削除
サーバーから復元要求のメタデータを削除します。このアクションにより、復元要求に関連付けられているすべてのメタデータが削除されますが、復元されたコンテンツは削除されません。リクエストのメタデータを削除すると、リクエスト名を使用して後続の復元操作を実行できます。
DELETE /rest/v2/container/restores/{restoreName}
204 (No Content)
応答は、復元メタデータが削除されたことを示します。202 (Accepted)
応答は、復元操作が進行中であり、操作が完了すると削除されることを示します。
2.4.22. コンテナー設定イベントのリスニング
Server-Sent Events を使用して、設定変更に関するイベントを受信します。event
値は、create-cache
、remove-cache
、update-cache
、create-template
、remove-template
、または update-
template のいずれかになります。data
値には、作成されたエンティティーの宣言型設定が含まれます。削除イベントには、削除されたエンティティーの名前のみが含まれます。
GET /rest/v2/container/config?action=listen
ヘッダー | 必須またはオプション | パラメーター |
---|---|---|
| オプション |
コンテンツを返すために必要な形式を設定します。サポートされている形式は、 |
パラメーター | 必須またはオプション | 説明 |
---|---|---|
| オプション |
|
| オプション |
|
2.4.23. コンテナーイベントのリッスン
Server-Sent Events を使用してコンテナーからイベントを受け取ります。発行されたイベントはログに記録された情報に基づいているため、各イベントにはメッセージに関連付けられた識別子が含まれています。event
値は lifecycle-event
になります。data
には、message
、category
、level
、timestamp
、owner
、context
、および scope
を含む、ログに記録された情報があり、その一部は空である可能性があります。現在、LIFECYCLE
イベントのみを公開しています。
GET /rest/v2/container?action=listen
ヘッダー | 必須またはオプション | パラメーター |
---|---|---|
| オプション |
コンテンツを返すために必要な形式を設定します。サポートされている形式は、 |
パラメーター | 必須またはオプション | 説明 |
---|---|---|
| オプション |
|
| オプション |
|
2.4.24. キャッシュ・マネージャーによるクロスサイト操作
Cache Managers でクロスサイト操作を行うと、すべてのキャッシュに操作が適用されます。
2.4.24.1. バックアップの場所のステータスの取得
GET
リクエストですべてのバックアップロケーションのステータスを取得します。
GET /rest/v2/container/x-site/backups/
Data Grid は、以下の例のように JSON 形式でステータスを応答します。
{ "SFO-3":{ "status":"online" }, "NYC-2":{ "status":"mixed", "online":[ "CACHE_1" ], "offline":[ "CACHE_2" ], "mixed": [ "CACHE_3" ] } }
値 | 説明 |
---|---|
| ローカルクラスター内のすべてのノードには、バックアップの場所を含むクロスサイトビューがあります。 |
| ローカルクラスター内のノードには、バックアップの場所とのクロスサイトビューがありません。 |
| ローカルクラスター内の一部のノードにはバックアップの場所を含むクロスサイトビューがあり、ローカルクラスター内の他のノードにはクロスサイトビューがありません。応答は、各ノードのステータスを示します。 |
GET /rest/v2/container/x-site/backups/{site}
1 つのバックアップの場所のステータスを返します。
2.4.24.2. バックアップの場所をオフラインにする
?action=take-offline
パラメーターで、バックアップロケーションをオフラインにします。
POST /rest/v2/container/x-site/backups/{siteName}?action=take-offline
2.4.24.3. バックアップの場所をオンラインにする
?action=bring-online
パラメーターを使用してバックアップ場所をオンラインにします。
POST /rest/v2/container/x-site/backups/{siteName}?action=bring-online
2.4.24.4. 状態遷移モードの取得
GET
リクエストで状態遷移モードを確認してください。
GET /rest/v2/caches/{cacheName}/x-site/backups/{site}/state-transfer-mode
2.4.24.5. 状態遷移モードの設定
?action=set
パラメーターを使用して状態遷移モードを設定します。
POST /rest/v2/caches/{cacheName}/x-site/backups/{site}/state-transfer-mode?action=set&mode={mode}
2.4.24.6. 状態遷移の開始
?action=start-push-state
パラメーターを使用して、すべてのキャッシュの状態をリモートサイトにプッシュします。
POST /rest/v2/container/x-site/backups/{siteName}?action=start-push-state
2.4.24.7. 状態遷移のキャンセル
?action=cancel-push-state
パラメーターを使用して、進行中の状態遷移操作をキャンセルします。
POST /rest/v2/container/x-site/backups/{siteName}?action=cancel-push-state