4.4. クロスサイトレプリケーションのステータスの監視
バックアップの場所のサイトステータスを監視して、サイト間の通信の中断を検出します。リモートサイトのステータスが offline
に変わると、Data Grid はバックアップの場所へのデータのレプリケーションを停止します。データが同期しなくなるため、クラスターをオンラインに戻す前に不整合を修正する必要があります。
問題を早期に検出するには、クロスサイトのイベントの監視が必要です。以下の監視ストラテジーのいずれかを使用します。
REST API を使用したクロスサイトレプリケーションの監視
REST エンドポイントを使用して、すべてのキャッシュのクロスサイトレプリケーションのステータスを監視します。カスタムスクリプトを実装して REST エンドポイントをポーリングするか、以下の例を使用できます。
前提条件
- クロスサイトレプリケーションを有効にする。
手順
REST エンドポイントをポーリングするスクリプトを実装します。
以下の例は、Python スクリプトを使用して、5 秒ごとにサイトのステータスをポーリングする方法を示しています。
サイトのステータスが online
から offline
に変わったり、その逆の場合、関数 on_event
が呼び出されます。
このスクリプトを使用する場合は、以下の変数を指定する必要があります。
-
USERNAME
およびPASSWORD
: REST エンドポイントにアクセスする権限を持つ Data Grid ユーザーのユーザー名およびパスワード。 -
POLL_INTERVAL_SEC
: ポーリング間の秒数。 -
SERVERS
: このサイトの Data Grid Server の一覧。このスクリプトには必要なのは、有効な応答が 1 つだけですが、フェイルオーバーを許可するためにリストが提供されています。 -
REMOTE_SITES
: これらのサーバー上で監視するリモートサイトのリスト。 -
CACHES
: 監視するキャッシュ名のリスト。
Prometheus メトリクスを使用したクロスサイトレプリケーションの監視
Prometheus およびその他の監視システムを使用すると、サイトのステータスが offline
に変化したことを検出するアラートを設定できます。
クロスサイトレイテンシーメトリックを監視すると、発生する可能性のある問題を検出しやすくなります。
前提条件
- クロスサイトレプリケーションを有効にする。
手順
- Data Grid メトリクスを設定します。
Prometheus メトリクス形式を使用してアラートルールを設定します。
-
サイトの状態については、
online
の場合は1
を、offline
の場合は0
を使用します。 expr
フィールドには、vendor_cache_manager_default_cache_<cache name>_x_site_admin_<site name>_status
の形式を使用します。以下の例では、Prometheus は、NYC サイトが
work
またはsessions
という名前のキャッシュに対してオフライン
になると警告を表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の図は、NYC サイトがキャッシュ
work
を行うためにoffline
であるという警告を示しています。図4.1 Prometheus 警告
-
サイトの状態については、