サポート対象のモニタリング指標

このページでは、Memorystore for Redis Cluster で使用可能な指標を一覧表示するとともに、各指標の測定値について説明します。

バックアップ指標

このセクションでは、バックアップインポートの指標について説明します。

クラスタレベルの指標

このセクションでは、クラスタレベルのバックアップとインポートの指標について説明します。

指標名 説明
redis.googleapis.com/cluster/backup/last_backup_start_time この指標は、前回のバックアップ オペレーションの開始時間を示します。
redis.googleapis.com/cluster/backup/last_backup_status この指標は、直近のバックアップ試行が正常に完了したか失敗したかを示します。ステータスは、Success の場合は 1Failed の場合は 0 です。
redis.googleapis.com/cluster/backup/last_backup_duration この指標は、前回のバックアップ オペレーションの期間(ミリ秒単位)を示します。
redis.googleapis.com/cluster/backup/last_backup_size この指標は、前回のバックアップのサイズ(バイト単位)を示します。この指標は、バックアップ効率とストレージ容量の計画をモニタリングするための重要な指標です。
redis.googleapis.com/cluster/import/last_import_start_time この指標は、前回のインポート オペレーションの開始時間を示します。
redis.googleapis.com/cluster/import/last_import_duration この指標は、前回のインポート オペレーションの期間(ミリ秒単位)を示します。

認証局(CA)の指標

このセクションでは、お客様が管理する認証局(CA)に関連付けられている指標を一覧表示します。

クラスタレベルの指標

これらの指標は、クラスタ内のマシンに関連付けられている証明書の概要を示します。

指標名 説明
redis.googleapis.com/cluster/security/rotate_tls_cert_count

この指標は、クラスタ内のマシンに関連付けられている証明書のローテーション ステータスを示します。

指標のステータスは次のいずれかになります。

  • SUCCESS: Memorystore for Redis Cluster が証明書をローテーションしました。
  • FAILED: 証明書が使用できない、Memorystore for Redis Cluster に証明書をローテーションする権限がない、または内部エラーが発生したため、Memorystore for Redis Cluster は証明書をローテーションしませんでした。
  • SKIPPED: 証明書をローテーションする必要がないため、Memorystore for Redis Cluster は証明書のローテーションをスキップしました。

Cloud Monitoring の指標

このセクションでは、Memorystore for Redis Cluster で使用可能な Cloud Monitoring 指標を一覧表示して説明します。

クラスタレベルの指標

これらの指標は、クラスタの全体的な健全性とパフォーマンスの概要を示します。これらの指標を使用すると、クラスタの全体的な容量と使用率を把握し、潜在的なボトルネックや改善領域を特定できます。

指標名 説明
redis.googleapis.com/cluster/clients/average_connected_clients この指標は、指定した期間にクラスタへのアクティブなクライアント接続の平均数を測定します。この指標を使用すると、接続のスケーリングをモニタリングし、アプリケーションのボトルネックを特定して、クラスタの安定性を確保できます。
redis.googleapis.com/cluster/clients/maximum_connected_clients この指標は、クラスタのすべてのノードにわたるアクティブなクライアント接続の最大数を示します。この指標を使用すると、クラスタの接続負荷が最も高い時点をモニタリングできます。接続数が多いとレスポンス時間が長くなる可能性があるため、クラスタのパフォーマンスを高く維持するには、この指標が重要になります。
redis.googleapis.com/cluster/clients/total_connected_clients この指標は、クラスタへのアクティブなクライアント接続の現在の数を追跡します。この指標を使用して、データベースの負荷をモニタリングし、接続制限を防ぐことができます。
redis.googleapis.com/cluster/stats/total_connections_received_count この指標は、過去 1 分間にクラスタで作成されたクライアント接続の累積数を示します。この指標を使用して、トラフィック負荷を分析し、接続上限を超えていないことを確認し、クラスタをスケーリングする必要があるかどうかを判断できます。
redis.googleapis.com/cluster/stats/total_rejected_connections_count この指標は、maxclients の上限に達したために拒否されたクラスタへの接続の合計数を追跡します。
redis.googleapis.com/cluster/commandstats/total_usec_count この指標は、各コマンドが消費する合計 CPU 時間を測定します。この指標は、使用された合計マイクロ秒数を示し、クラスタのパフォーマンスとレイテンシに関する分析情報を提供します。
redis.googleapis.com/cluster/commandstats/total_calls_count この指標は、クラスタノードの特定のコマンドに関連付けられている 1 分間の呼び出しの合計数を測定します。特定のコマンドのボトルネックやトラフィックの多い状態を特定するには、この指標を使用して、プライマリ ノードとレプリカノードのコマンド スループット(1 分あたりのコマンド数)をモニタリングします。
redis.googleapis.com/cluster/cpu/average_utilization この指標は、クラスタの平均 CPU 使用率(0.0 ~ 1.0)を示します。この指標を使用すると、リソースの過剰なプロビジョニングや使用率の低下を特定し、自動スケーリングのしきい値を管理して、パフォーマンスのボトルネックを検出できます。理想的な使用率は 40 ~ 70% です。
redis.googleapis.com/cluster/cpu/maximum_utilization

この指標は、クラスタ内のすべてのノードのピーク CPU 使用率(0.0 ~ 1.0)を示します。

この指標は、sys_main_thread 状態と user_main_thread 状態のみを要約します。/cluster/node/cpu/utilization 指標で使用可能な他の CPU 状態(sys_childrenuser_children など)は含まれません。

CPU 使用率がプライマリ ノードで 0.8 秒、読み取りレプリカとして指定された各レプリカで 0.5 秒を超えないようにします。詳細については、CPU 使用率のベスト プラクティスをご覧ください。

redis.googleapis.com/cluster/stats/average_expired_keys この指標は、クラスタのすべてのプライマリ ノードのキーの有効期限切れイベントの平均数を測定します。この指標を使用して、有効期限が切れるキーの数をモニタリングできます。
redis.googleapis.com/cluster/stats/maximum_expired_keys この指標は、クラスタのすべてのプライマリ ノードで発生しているキーの有効期限切れイベントの最大数を測定します。
redis.googleapis.com/cluster/stats/total_expired_keys_count この指標は、クラスタのすべてのプライマリ ノードで発生しているキーの有効期限切れイベントの合計数を追跡します。この指標を使用して、有効期限が切れるキーの数をモニタリングできます。
redis.googleapis.com/cluster/stats/average_evicted_keys この指標は、クラスタのプライマリ シャード全体でメモリ容量の制約が原因で強制排除されたキーの平均数を追跡します。
redis.googleapis.com/cluster/stats/maximum_evicted_keys この指標は、メモリ容量が原因でプライマリ クラスタのノードまたはシャードから強制排除されたキーの最大数を示します。
redis.googleapis.com/cluster/stats/total_evicted_keys_count この指標は、メモリ容量が原因でプライマリ クラスタのノードによって強制排除されたキーの合計数を示します。
redis.googleapis.com/cluster/keyspace/total_keys この指標は、クラスタに保存されているキーの数を示します。
redis.googleapis.com/cluster/stats/average_keyspace_hits この指標は、クラスタ内のすべてのノードでのキーの正常な検索の平均数を示します。
redis.googleapis.com/cluster/stats/maximum_keyspace_hits この指標は、クラスタノードでのキーの正常な検索の最大数を示します。この指標を使用すると、クラスタのパフォーマンスをモニタリングし、クラスタ全体の潜在的なホットスポットを特定できます。
redis.googleapis.com/cluster/stats/total_keyspace_hits_count この指標は、クラスタ内のすべてのノードでのキーの正常な検索の累積数を追跡します。
redis.googleapis.com/cluster/stats/average_keyspace_misses この指標は、クラスタ全体でのキーのルックアップに失敗した平均数を示します。この指標を使用すると、キーがリクエストされたもののキャッシュで見つからなかった頻度を追跡できます。
redis.googleapis.com/cluster/stats/maximum_keyspace_misses この指標は、クラスタノード全体でのキーのルックアップに失敗した最大数を示します。
redis.googleapis.com/cluster/stats/total_keyspace_misses_count この指標は、すべてのクラスタノードでキーのルックアップに失敗した合計数を示します。
redis.googleapis.com/cluster/memory/average_utilization この指標は、クラスタ全体の平均メモリ使用率(0.0 ~ 1.0)を示します。この指標を使用して、クラスタの容量をモニタリングし、アラートのしきい値を設定できます。たとえば、平均メモリが特定の割合(80% など)を超えたときにユーザーに通知するようにアラートのしきい値を設定できます。
redis.googleapis.com/cluster/memory/maximum_utilization この指標は、すべてのクラスタノードの最大メモリ使用率(0.0 ~ 1.0)を示します。この指標を使用して、クラスタをスケーリングするタイミングを特定できます。使用率が 100% を超えないように、使用率をモニタリングすることをおすすめします。書き込み負荷が高い場合、この指標が 65% ~ 85% に達すると、パフォーマンスが低下する可能性があります。
redis.googleapis.com/cluster/memory/total_used_memory この指標は、クラスタの合計メモリ使用量(バイト単位)を示します。この指標を使用して、クラスタの容量をモニタリングできます。
redis.googleapis.com/cluster/memory/size この指標は、クラスタ内のすべてのノードの合計 RAM、使用済み RAM、使用可能な RAM を測定します。この指標を使用して、クラスタの容量をモニタリングし、ノード障害を防ぐことができます。
redis.googleapis.com/cluster/replication/average_ack_lag この指標は、クラスタ全体のレプリカの平均確認応答ラグ(秒単位)を示します。

確認応答ラグは、クラスタ内のプライマリ ノードのボトルネックです。このボトルネックは、プライマリ ノードから送信された情報にレプリカが追いつけないことが原因で発生します。この場合、プライマリ ノードは、レプリカが情報を受信したことを確認する応答を待つ必要があります。これにより、トランザクションの commit が遅くなり、プライマリ ノードのパフォーマンスが低下する可能性があります。
redis.googleapis.com/cluster/replication/maximum_ack_lag この指標は、クラスタ全体におけるレプリカの最大確認応答ラグ(秒単位)を示します。
redis.googleapis.com/cluster/replication/average_offset_diff この指標は、クラスタ全体におけるレプリケーション確認応答オフセットの平均差分(バイト単位)を示します。

レプリケーション確認応答オフセットの差分とは、レプリカとそのプライマリ クラスタ間でレプリケートされていないバイト数を意味します。
redis.googleapis.com/cluster/replication/maximum_offset_diff この指標は、クラスタ全体におけるレプリケーション オフセット差分(バイト単位)の最大値を示します。

レプリケーション オフセットの差分とは、レプリカとそのプライマリ クラスタ間でレプリケートされていないバイト数を意味します。
redis.googleapis.com/cluster/stats/total_net_input_bytes_count この指標は、クラスタのエンドポイントが受信した受信ネットワーク バイト数を示します。
redis.googleapis.com/cluster/stats/total_net_output_bytes_count この指標は、クラスタのエンドポイントが送信する送信ネットワーク バイトの数を示します。

ノードレベルの指標

これらの指標は、クラスタ内の個々のノードの健全性とパフォーマンスに関する詳細な分析情報を提供します。指標を使用してノードの問題をトラブルシューティングし、パフォーマンスを最適化できます。

指標名 説明
redis.googleapis.com/cluster/node/clients/connected_clients この指標は、クラスタノードへのアクティブなクライアント接続の数(レプリカ接続を除く)を示します。この指標を使用して、接続数の上限をモニタリングし、シャードが不均衡なトラフィックを受信しているホットスポットを特定できます。
redis.googleapis.com/cluster/node/clients/blocked_clients この指標は、クラスタノードがブロックするクライアント接続の数を示します。ブロックされたクライアント接続の数が急増している場合は、多くのクライアントがオペレーションを待機している可能性があります。これにより、レイテンシが増加する可能性があります。
redis.googleapis.com/cluster/node/server/uptime この指標は、クラスタノードの稼働時間を測定します。この指標を使用すると、再起動や障害が発生せずにサーバーが連続して実行されている時間を追跡できます。
redis.googleapis.com/cluster/node/stats/connections_received_count この指標は、指定された期間内にクラスタノードで作成されたクライアント接続の合計数を追跡します。この指標を使用すると、クラスタ内の個々のノードへの接続トラフィックをモニタリングできます。これにより、負荷分散を分析し、接続アクティビティの急増を特定できます。
redis.googleapis.com/cluster/node/stats/rejected_connections_count この指標は、クラスタノードが maxclients 上限に達したために拒否された接続の数を示します。この指標を使用すると、ノードが接続の負荷が高い状態にあり、接続を処理できないために新しい接続を拒否しているかどうかを特定できます。
redis.googleapis.com/cluster/node/commandstats/usec_count この指標は、クラスタノードで各コマンドが消費する合計時間を示します。この指標を使用して、コマンドのパフォーマンスを分析し、遅いコマンドを特定して、ノードレベルでレイテンシの問題をトラブルシューティングできます。
redis.googleapis.com/cluster/node/commandstats/calls_count この指標は、クラスタノードでコマンドが 1 分間に呼び出された合計数を追跡します。この指標を使用すると、トラフィックの分布をモニタリングし、使用頻度の高いコマンドを特定して、個々のノードのボトルネックのトラブルシューティングを行うことができます。
redis.googleapis.com/cluster/node/cpu/utilization この指標は、クラスタノードの CPU 使用率(0.0 ~ 1.0)を示します。
redis.googleapis.com/cluster/node/stats/expired_keys_count この指標は、クラスタノード内の有効期限切れイベントの合計数を示します。この指標を使用すると、有効期間(TTL)がゼロになったためにクラスタからキーが削除されるレートをモニタリングできます。
redis.googleapis.com/cluster/node/stats/evicted_keys_count この指標は、クラスタが最大メモリ上限に達したためにクラスタノードが強制排除したキーの合計数をカウントします。この指標は、クラスタがメモリ不足に陥っているかどうかを特定できます。削除されたキーの数が多い場合や増加している場合は、クラスタの容量が不足していることを示します。その結果、クラスタは新しいデータの空き容量を確保するために鍵を削除します。
redis.googleapis.com/cluster/node/keyspace/total_keys この指標は、クラスタノードが保存するキーの合計数を測定します。この指標は、ノード間のデータ分布とシャーディングを可視化します。
redis.googleapis.com/cluster/node/stats/keyspace_hits_count この指標は、クラスタノードでのキー検索の成功数をトラッキングします。この指標を使用して、ノードがインメモリ データを取得する効率をモニタリングできます。
redis.googleapis.com/cluster/node/stats/keyspace_misses_count この指標は、クラスタノードでのキーの検索に失敗した回数を追跡します。
redis.googleapis.com/cluster/node/memory/utilization この指標は、クラスタノードのメモリ使用率(0.0 ~ 1.0)を追跡します。この指標を使用すると、ノード障害を回避し、クラスタの安定性を確保できます。
redis.googleapis.com/cluster/node/memory/usage この指標は、クラスタノードの合計メモリ使用量を測定します。
redis.googleapis.com/cluster/node/stats/net_input_bytes_count この指標は、クラスタノードが受信した受信ネットワーク バイトの合計数を測定します。この指標を使用すると、ネットワーク スループットをモニタリングし、潜在的なボトルネックを特定して、ノードのトラフィック スパイクを分析できます。
redis.googleapis.com/cluster/node/stats/net_output_bytes_count この指標は、クラスタノードが送信する送信ネットワーク バイトの合計数を測定します。この指標を使用して、パフォーマンス チューニングと容量計画のためにノードのネットワーク下り(外向き)トラフィック量をモニタリングできます。
redis.googleapis.com/cluster/node/replication/offset この指標は、クラスタノードのレプリケーション オフセット バイト数を測定します。クラスタのレプリカをプライマリ クラスタにプロモートする前に、この指標を使用して、レプリカがすべてのデータを処理したかどうかを確認できます。これにより、データ損失を防ぐことができます。
redis.googleapis.com/cluster/node/server/healthy この指標は、クラスタノードが使用可能で、正しく機能しているかどうかを判断します。
redis.googleapis.com/cluster/node/stats/evicted_clients_count この指標は、すべてのクライアント バッファで使用される合計メモリが事前定義されたメモリしきい値を超えたため、Memorystore for Redis Cluster が切断したクライアントの合計数を追跡します。この指標は、クライアントによるメモリ使用量の急増によってサーバーのメモリが枯渇し、クラッシュが発生するのを防ぐための保護メカニズムとして使用できます。
redis.googleapis.com/cluster/node/clients/tracking_clients この指標は、サーバーサイドのトラッキングと無効化メッセージを受信するために登録されているアクティブな Redis クライアントの数を追跡します。この指標を使用して、クライアントサイドのキャッシュ保存の実装をモニタリングしてデバッグし、サーバー トラッキングが想定どおりに動作していることを確認できます。
redis.googleapis.com/cluster/node/clients/maxclients この指標は、Memorystore for Redis Cluster がクラスタノードで許可する同時クライアント接続の最大数を示します。
redis.googleapis.com/cluster/node/clients/recent_max_input_buffer この指標は、すべてのアクティブな接続の中で、単一の受信クライアント コマンドの処理に使用される最大のメモリバッファ(バイト単位)をレポートします。この指標を使用して、接続の安定性を追跡し、メモリの肥大化を防ぐことができます。特定のクライアントの入力バッファサイズが上限に達し続けると、クラスタ全体でネットワークの停止や接続の切断が発生する可能性があります。
redis.googleapis.com/cluster/node/clients/recent_max_output_buffer この指標は、サーバーに最近接続されたクライアント接続の中で最も長い出力リスト(バイト単位)を測定します。この指標は、サーバーがクライアントにデータを送信するよりも速い速度で大量のデータをリクエストするクライアントを特定するため、サーバーの健全性を示す重要な指標となります。
redis.googleapis.com/cluster/node/commandstats/rejected_calls_count この指標は、サーバーが実行前に拒否した Redis コマンド(呼び出し)の数を示します。これらの呼び出しは、コマンドの構文エラーや、インスタンスのメモリ不足(OOM)時にメモリ制約のあるコマンドを実行するなど、前提条件によってトリガーされます。
redis.googleapis.com/cluster/node/commandstats/failed_calls_count この指標は、クラスタノードで失敗したオペレーションの数を追跡します。この指標を使用して、クライアント アプリケーションが不適切なパラメータを渡しているかどうか、またはデータセット スキーマと同期していないかどうかを評価できます。また、障害の増加がコマンドのパフォーマンス低下と相関しているかどうかを診断することもできます。
redis.googleapis.com/cluster/node/keyspace/keys_with_expiration この指標は、有効期間(TTL)または有効期限のタイムスタンプが設定されているクラスタ内のアクティブなキーの数を追跡します。この指標を使用して、キャッシュ保存の上限、メモリ使用量、セッション管理をモニタリングできます。
redis.googleapis.com/cluster/node/memory/dataset_usage この指標は、クラスタノード内のデータセットまたはプライマリ データ オブジェクトが消費するメモリ量を測定します。
redis.googleapis.com/cluster/node/memory/mem_not_counted_for_evict

この指標は、サーバーがキーの削除に必要なメモリを評価するときに除外するメモリの量を示します。

Memorystore for Redis Cluster は、キーを削除する必要があるかどうかを計算するときに、割り当てられたメモリの合計(used_memory)と構成された maxmemory の上限を比較します。ただし、この方程式から mem_not_counted_for_evict の値が減算されます。

redis.googleapis.com/cluster/node/memory/number_of_cached_scripts この指標は、サーバーがクラスタノードにキャッシュに保存する EVAL スクリプトの合計数を追跡します。この指標を使用して、クラスタ内の Lua スクリプトに関連するオーバーヘッドをモニタリングできます。
redis.googleapis.com/cluster/node/memory/number_of_functions この指標は、クラスタノードで定義されている関数の合計数をトラッキングします。
redis.googleapis.com/cluster/node/memory/lua_usage この指標は、クラスタノードの EVAL スクリプトで Lua が使用するバイト数をトラッキングします。
redis.googleapis.com/cluster/node/memory/replica_clients_usage

この指標は、レプリカ クライアントがクラスタノードで使用するメモリ量(バイト単位)を追跡します。この指標は、レプリカ クライアントが使用するメモリを測定します。

レプリカ バッファはレプリケーション バックログとメモリを共有するため、レプリカがバックログに割り当てられたメモリ使用量を超えて増加させない場合、指標は 0 の値を報告できます。

redis.googleapis.com/cluster/node/memory/normal_clients_usage この指標は、レプリカ以外のクライアントがクラスタノードで使用するメモリ量(バイト単位)を追跡します。この指標は、レプリカ以外のクライアント接続からのメモリ消費量を測定します。
redis.googleapis.com/cluster/node/memory/peak_usage この指標は、クラスタノードで Memorystore for Redis Cluster が消費するピーク時のメモリを追跡します。この指標は、Memorystore for Redis Cluster が最後に起動してから使用した最大メモリ量(バイト単位)を測定します。
redis.googleapis.com/cluster/node/memory/rss_usage

この指標は、クラスタノードでの Memorystore for Redis Cluster の常駐セットサイズ(RSS)の使用状況を追跡します。この指標は、Memorystore for Redis Cluster が割り当てるバイト数を表します。

RSS 使用量をモニタリングすることは、実際の物理 RAM 使用量を反映し、メモリの断片化を検出できるため、非常に重要です。たとえば、RSS がクラスタのコンテナの上限に近づくと、OOM の問題が発生する可能性があります。

redis.googleapis.com/cluster/node/memory/scripts_usage この指標は、クラスタノードのスクリプトに関連付けられたメモリ オーバーヘッドを追跡します。この指標は、EVAL 関数が使用するメモリ オーバーヘッドのバイト数を測定します。このメモリは、クラスタの全体的な used_memory の一部とみなされます。
redis.googleapis.com/cluster/node/memory/maxmemory_policy この指標は、クラスタノードの削除ポリシー構成を追跡します。この指標は、ノードの現在の maxmemory-policy 設定をレポートします。この設定により、Memorystore for Redis Cluster が maxmemory 制限に達したときに削除するキーを選択する方法が決まります。
redis.googleapis.com/cluster/node/persistence/aof_enabled この指標は、クラスタノードで Append-Only File(AOF)永続性が有効になっているかどうかを示します。
redis.googleapis.com/cluster/node/persistence/async_loading この指標は、Memorystore for Redis Cluster が既存のデータを処理しながら、レプリケーション データセットを非同期で読み込むかどうかを示します。この指標は、Memorystore for Redis Cluster がデータセットを読み込む状態を追跡します。これは、repl-diskless-load 構成が有効になっていて、swapdb に設定されている場合に発生します。
redis.googleapis.com/cluster/node/persistence/loading この指標は、Memorystore for Redis Cluster がクラスタノードにダンプファイルを読み込むかどうかを示します。この指標を使用すると、Memorystore for Redis Cluster が Redis Database(RDB)スナップショットや AOF ファイルなどの永続ストアからデータを読み込んでいるかどうかを評価できます。
redis.googleapis.com/cluster/node/persistence/current_cow_peak

この指標は、クラスタノードの子フォーク プロセス中のコピーオンライト(COW)オペレーションに関連するピーク時のメモリ使用量を追跡します。この指標は、子フォークの実行中に COW メモリの最大サイズ(バイト単位)を測定します。これは、RDB スナップショットの作成や AOF 書き換えの実行など、プロセスのフォークを含むオペレーション中に発生します。

ピーク時の COW サイズをモニタリングすることは、キャパシティ プランニングと OOM 問題の防止に重要です。これは、フォークがアクティブな間に変更されたデータの量だけ、フォーク プロセス中にノードの合計メモリ使用量が増加するためです。

redis.googleapis.com/cluster/node/persistence/current_cow_size

この指標は、クラスタノードで子フォーク プロセスがアクティブな間の COW メモリの現在のサイズを追跡します。この指標は、RDB スナップショットの作成や AOF 書き換えの実行など、フォーク プロセス中にコピーされるメモリのサイズ(バイト単位)を測定します。

この指標を使用すると、進行中のフォークのリアルタイムのメモリ オーバーヘッドをモニタリングできます。

redis.googleapis.com/cluster/node/persistence/rdb_last_bgsave_time_sec

この指標は、クラスタノードの RDB の最新のバックグラウンド保存(BGSAVE)オペレーションの期間を追跡します。この指標は、前回の RDB 保存オペレーションの完了にかかった時間(秒単位)を測定します。

この指標を使用すると、永続化オペレーションのパフォーマンスへの影響をモニタリングできます。特に、メンテナンス イベントやスケールアウト イベントの発生時にモニタリングできます。

redis.googleapis.com/cluster/node/persistence/rdb_last_cow_size

この指標は、クラスタノードで最新の RDB 保存オペレーション中に COW メモリのサイズを追跡します。この指標は、最後の RDB スナップショットがバックグラウンドで作成されている間にコピーされたメモリ量(バイト単位)を測定します。

この指標は、永続プロセスでのメモリ オーバーヘッドに関する分析情報を提供するため、メンテナンスや構成の更新中に発生する完全同期に関する潜在的な問題のデバッグに使用できます。

redis.googleapis.com/cluster/node/persistence/current_fork_percentage この指標は、クラスタノードの現在のフォーク プロセスの進行状況を追跡します。この指標は、RDB スナップショットや AOF 書き換えに使用されるものなど、アクティブなフォーク オペレーションの完了率を示します。
redis.googleapis.com/cluster/node/persistence/aof_rewrite_in_progress この指標は、Memorystore for Redis Cluster がクラスタノードで AOF 書き換えを実行するかどうかをリアルタイムで示します(実行する場合は 1、実行しない場合は 0)。この指標を使用すると、バックグラウンド AOF オペレーションがレイテンシやメモリ使用量の顕著な増加に寄与しているかどうかを判断できます。書き換えオペレーションは、一時的な負荷の急増を引き起こす可能性があります。
redis.googleapis.com/cluster/node/persistence/aof_last_cow_size

この指標は、クラスタノードで最新の AOF 書き換えオペレーション中に使用された COW メモリのサイズを追跡します。この指標は、Memorystore for Redis Cluster が最後のバックグラウンド AOF 書き換えを実行中にコピーするメモリ量(バイト単位)を測定します。

この指標を使用して、永続化オペレーション中の COW メモリサイズをモニタリングできます。これは容量計画にとって重要です。フォークがアクティブな間に変更されたデータ量だけ、フォーク プロセス中にノードのメモリ使用量が合計で増加するためです。COW メモリを管理しないと、クラスタで OOM の問題が発生する可能性があります。

redis.googleapis.com/cluster/node/persistence/aof_last_rewrite_time_sec この指標は、クラスタノードで最新のバックグラウンド AOF 書き換えオペレーションが完了するまでの時間(秒単位)を測定します。この指標を使用して、バックグラウンド AOF 永続性のパフォーマンスへの影響を評価し、書き換えオペレーションによって発生する一時的な負荷スパイクの期間を把握できます。
redis.googleapis.com/cluster/node/errorstats/errors_count この指標は、Memorystore for Redis Cluster の内部統計情報の ERRORSTATS セクションから派生したエラーの詳細なビューを提供します。この指標は、一定期間のエラー数の変化を測定します。
redis.googleapis.com/cluster/node/stats/acl_access_denied_auths_count この指標は、一定期間に発生したアクセス制御リスト(ACL)のアクセス拒否認証エラーの合計数をレポートします。
redis.googleapis.com/cluster/node/stats/expire_cycle_cpu_millisecond_count この指標は、期間中にアクティブな有効期限サイクルに費やされた CPU 時間の累積量を測定します。
redis.googleapis.com/cluster/node/stats/expired_keys_percentage この指標は、特定の時点での期限切れキーの推定割合を示します。この指標は、有効期限切れのプロセスに関する分析情報を提供します。この割合が常に高い場合は、Memorystore for Redis Cluster がキーの有効期限切れのレートに対応するために十分なバックグラウンド CPU サイクルを割り当てていない可能性があります。
redis.googleapis.com/cluster/node/stats/expired_time_cap_reached_count この指標は、一定期間にタイムアウトになったサイクルの累積数を測定します。この指標の値が高い場合や増加している場合は、期限切れのキーによるメモリ使用量が多いことが原因である可能性があります。データセットの健全性を維持するために、より多くのバックグラウンド CPU サイクルが必要になることがあります。
redis.googleapis.com/cluster/node/stats/pubsub_channels この指標は、クライアント サブスクリプションを持つ Pub/Sub チャネルのグローバル数を示します。
redis.googleapis.com/cluster/node/stats/pubsub_patterns この指標は、クライアント サブスクリプションを持つ Pub/Sub パターンのグローバル数を示します。
redis.googleapis.com/cluster/node/stats/pubsubshard_channels この指標は、クライアント サブスクリプションを持つ Pub/Sub シャード チャネルのグローバル数を示します。
redis.googleapis.com/cluster/node/stats/total_fork_count

この指標は、一定期間におけるフォークの総数の変化を測定します。この指標は、Memorystore for Redis Cluster のバックグラウンド アクティビティの重要な指標です。

各フォーク プロセスには COW メモリが含まれるため、この指標を使用して、キャパシティ プランニングのフォーク頻度をモニタリングできます。COW メモリは、クラスタノードの全体的なメモリ使用量を増やします。

redis.googleapis.com/cluster/node/stats/tracking_total_keys この指標は、Memorystore for Redis Cluster が追跡するキーの数を示します。この指標は、サーバーサイドの追跡機能のコンポーネントです。この機能を使用すると、クライアントは Memorystore for Redis Cluster でキーが変更されたときに無効になるローカル キャッシュを維持できます。
redis.googleapis.com/cluster/node/stats/tracking_total_items この指標は、Memorystore for Redis Cluster が追跡するアイテムの合計数を示します。この指標は、各キーを視聴しているすべてのクライアントの合計を表します。
redis.googleapis.com/cluster/node/stats/tracking_total_prefixes この指標は、Memorystore for Redis Cluster の prefix テーブルで追跡されるプレフィックスの数を示します。
redis.googleapis.com/cluster/node/stats/latest_fork_usec この指標は、最新のフォーク オペレーションの期間(マイクロ秒単位)を示します。
redis.googleapis.com/cluster/node/replication/primary_sync_in_progress

この指標は、プライマリ クラスタがレプリカと同期しているかどうかを示します。値 1 は同期が進行中であることを示し、値 0 はクラスタがレプリカと同期していないことを示します。

この指標を使用すると、データ整合性の問題のトラブルシューティングを行い、スケールアウトまたはメンテナンス イベントの進行状況を把握できます。

redis.googleapis.com/cluster/node/replication/sync_partial_ok_count この指標は、部分的な再同期の試行が成功した回数を測定します。
redis.googleapis.com/cluster/node/replication/sync_partial_err_count

この指標は、部分的な再同期の失敗回数を測定します。

この指標は、レプリケーションの健全性の指標として使用できます。部分的な再同期が失敗すると、レプリカは完全な再同期を実行する必要があります。これには、プライマリ クラスタで RDB スナップショットを作成し、データセット全体をネットワーク経由で転送することが含まれます。

redis.googleapis.com/cluster/node/replication/sync_full_count

この指標は、プライマリ クラスタとレプリカ間の完全な再同期の数の変化を測定します。部分的な再同期が失敗すると、完全な再同期が行われます。これは、プライマリ クラスタのレプリケーション バックログが、切断中にレプリカが欠落したデータを保持するのに十分な大きさでない場合に発生します。

この指標を使用して、クラスタのレプリケーションの健全性と容量の問題を診断できます。

redis.googleapis.com/cluster/node/memory/maxmemory

この指標は、クラスタノードの maxmemory 構成設定を反映しています。これは、Memorystore for Redis Cluster が使用できる最大メモリ量です。この設定により、maxmemory-policy の構成設定に基づいて、Memorystore for Redis Cluster がキーの削除を開始するタイミングが決まります。

この指標は、データ ストレージとサーバーのオーバーヘッドのメモリ使用量の上限を定義するため、キャパシティ プランニングと OOM 問題のトラブルシューティングに使用できます。

maxmemorymaxmemory-policy の設定の詳細については、変更可能な構成パラメータをご覧ください。

クロスリージョン レプリケーションの指標

このセクションでは、クロスリージョン レプリケーションの指標について説明します。

指標名 説明
redis.googleapis.com/cluster/cross_cluster_replication/secondary_replication_links この指標は、プライマリ クラスタとセカンダリ クラスタ間のシャードリンクの数を示します。クロスリージョン レプリケーション グループ内で、プライマリ クラスタは、グループ内のセカンダリ クラスタとの CRR レプリケーション リンクの数を報告します。セカンダリ クラスタごとに、この数はシャード数と同じになることが想定されます。予期せずシャード数がシャード数を下回った場合、これはレプリケータとフォロワー間のレプリケーションが停止したシャードの数を示します。理想的な状態では、この指標はプライマリ クラスタ シャード数と同じ値になります。
redis.googleapis.com/cluster/cross_cluster_replication/secondary_maximum_replication_offset_diff この指標は、異なるリージョンにまたがるクラスタのプライマリ シャードとセカンダリ シャード(レプリカ)間のレプリケーション オフセットの最大差(バイト単位)を測定します。
redis.googleapis.com/cluster/cross_cluster_replication/secondary_average_replication_offset_diff この指標は、異なるリージョンにまたがるクラスタのプライマリ シャードとレプリカ シャード間のレプリケーション オフセットの平均差(バイト単位)を測定します。指標の値が高い場合は、レプリケーション ラグを示します。このラグは、レプリケーションを一時停止してから再開することで解決できます。

JSON 指標

このセクションでは、JSON ドキュメントのノードレベルの指標を示します。

ノードレベルの指標

これらの指標は、JSON ドキュメントの総数と、これらのドキュメントが消費するメモリ量に関する詳細な分析情報を提供します。

指標名 説明
redis.googleapis.com/cluster/node/json/documents_count この指標は、クラスタノードにある JSON ドキュメントの総数を測定します。この指標を使用すると、ノードレベルでインデックス登録、削除、または統合されたドキュメントの数がわかるため、データの分布と容量を追跡できます。
redis.googleapis.com/cluster/node/json/used_memory この指標は、JSON ドキュメントが消費するメモリ量(バイト単位または使用可能なメモリの割合)を測定します。この指標を使用して、容量のモニタリング、メモリバウンド ノードの特定、スケーリング アクションのトリガーを行うことができます。

永続性の指標

このセクションでは、永続性指標の一覧と説明を示します。

RDB 永続性指標

このセクションでは、RDB 永続化指標の一覧と説明を示します。

クラスタレベルの指標

このセクションでは、クラスタレベルの RDB 永続性指標の一覧と説明を示します。

指標名 説明
redis.googleapis.com/cluster/persistence/rdb_saves_count

この指標は、クラスタノードで RDB 永続性スナップショット(RDB 保存とも呼ばれます)が取得された累積回数を追跡します。この指標を使用して、ノードごとに RDB スナップショットの頻度と成功をモニタリングできます。

指標には status_code フィールドがあります。RDB スナップショットが失敗したかどうかを確認するには、3 - INTERNAL_ERROR ステータスの status_code フィールドをフィルタします。

redis.googleapis.com/cluster/persistence/rdb_save_ages この指標は、クラスタ内のすべてのノードの分布スナップショットの経過時間を示します。復旧インシデントの場合は、この指標を使用してデータ ステイルネスの時間枠を表示できます。理想的には、分布にはスナップショットの頻度よりも遅延時間が短い(または同じ遅延時間)の値が含まれます。

ノードレベルの指標

指標名 説明
redis.googleapis.com/cluster/node/persistence/rdb_bgsave_in_progress この指標は、クラスタノードで RDB バックグラウンド保存(BGSAVE)がアクティブかどうかを示します。ステータスが TRUE の場合、BGSAVE がアクティブであることを意味します。
redis.googleapis.com/cluster/node/persistence/rdb_last_bgsave_status この指標は、クラスタノードの BGSAVE オペレーションが完了したか、エラーが発生したかを示します。ステータスが TRUE の場合、オペレーションは完了しています。
redis.googleapis.com/cluster/node/persistence/rdb_saves_count この指標は、クラスタノードで作成された RDB スナップショットの累積数を追跡します。この指標を使用して、ノードのスナップショットの頻度と成功をモニタリングできます。
redis.googleapis.com/cluster/node/persistence/rdb_last_save_age この指標は、前回成功した RDB スナップショットからの経過時間を秒単位で測定します。この指標を使用して、クラスタノードの RDB 永続データの鮮度をモニタリングできます。
redis.googleapis.com/cluster/node/persistence/rdb_next_save_time_until この指標は、クラスタノードで次の RDB スナップショットがスケジュールされるまでの残り時間を秒単位で測定します。この指標を使用すると、RDB 永続化のスケジュールをモニタリングし、次の自動スナップショットがいつ取得されるかを追跡できます。
redis.googleapis.com/cluster/node/persistence/current_save_keys_total この指標は、クラスタノードの現在の RDB 保存オペレーションで処理されるキーの合計数を追跡します。

AOF 永続性指標

このセクションでは、AOF 永続性指標の一覧と説明を示します。

クラスタレベルの指標

このセクションでは、クラスタレベルの AOF 永続性指標の一覧と説明を示します。

指標名 説明
redis.googleapis.com/cluster/persistence/aof_fsync_lags

この指標は、AOF へのデータの書き込みから、そのデータが永続ストレージに正常に同期されるまでの、クラスタ内のすべてのノードの時間差(遅延)を測定します。

appendfsync パラメータが everysec に設定されている場合、この指標を使用してクラスタの永続性の健全性を評価できます。理想的には、ラグの分布に、AOF の同期頻度よりもラグ時間が短い(または同じ)値が含まれていることが望ましいです。

redis.googleapis.com/cluster/persistence/aof_rewrite_count

この指標は、クラスタノードが AOF 書き換えオペレーションをトリガーした累積回数を追跡します。この指標を使用すると、パフォーマンスの問題を診断できます。AOF 書き換えの頻度が高いと、クラスタでレイテンシの急増やメモリ負荷が発生する可能性があります。

指標には status_code フィールドがあります。AOF 書き換えが失敗したかどうかを確認するには、このフィールドを 3 - INTERNAL_ERROR ステータスでフィルタします。

ノードレベルの指標

このセクションでは、ノードレベルの AOF 永続性指標について説明します。

指標名 説明
redis.googleapis.com/cluster/node/persistence/aof_last_write_status この指標は、クラスタノードの AOF ファイルに対する前回の書き込みオペレーションのステータスを示します。ステータスが TRUE の場合、書き込みオペレーションは成功しています。この指標を使用すると、Memorystore for Redis Cluster がデータを正常に永続化していることを確認できます。
redis.googleapis.com/cluster/node/persistence/aof_last_bgrewrite_status この指標は、クラスタノードで前回実行された AOF bgrewrite オペレーションのステータスを示します。ステータスが TRUE の場合、オペレーションは成功しています。
redis.googleapis.com/cluster/node/persistence/aof_fsync_lag

この指標は、AOF へのデータの書き込みから、そのデータが永続ストレージに正常に同期されるまでのクラスタノードの時間差(遅延)を測定します。

appendfsync パラメータが everysec に設定されている場合、この指標を使用してノードの永続性の健全性を評価できます。データの同期処理に 1 秒以上かかる場合、永続化が受信データに遅れるため、クラッシュ シナリオでパフォーマンスの低下やデータ損失が発生する可能性があります。

redis.googleapis.com/cluster/node/persistence/aof_rewrites_count

この指標は、クラスタノードが AOF 書き換えオペレーションをトリガーした累積回数を追跡します。この指標を使用して、パフォーマンスの問題を診断できます。AOF 書き換えの頻度が高いと、クラスタのレイテンシやメモリ負荷が増加する可能性があります。

指標には status_code フィールドがあります。AOF 書き換えが失敗したかどうかを確認するには、このフィールドを 3 - INTERNAL_ERROR ステータスでフィルタします。

redis.googleapis.com/cluster/node/persistence/aof_fsync_errors_count この指標は、クラスタノードで AOF fsync() システムコールが失敗した累積回数をトラッキングします。この指標は、appendfsync パラメータが everysec または always に設定されている AOF 対応クラスタにのみ適用されます。

一般的な永続性指標

このセクションでは、AOF と RDB の両方の永続性に適用される指標の一覧と説明を示します。

ノードレベルの指標

このセクションでは、ノードレベルの AOF と RDB の永続性指標について説明します。

指標名 説明
redis.googleapis.com/cluster/node/persistence/auto_restore_count

この指標は、クラスタノードが永続性ダンプファイル(AOF または RDB)から自動的に復元された累積回数をトラッキングします。

指標には status_code フィールドがあります。復元が失敗したかどうかを確認するには、このフィールドを 3 - INTERNAL_ERROR ステータスでフィルタします。

永続性指標のユースケースの例

このセクションでは、AOF と RDB の永続性指標のユースケースの例について説明します。

AOF 書き込みオペレーションがレイテンシとメモリ負荷の原因になっているかどうかを確認する

クラスタまたはクラスタ内のノードでレイテンシまたはメモリ使用量の増加が検出されたとします。この場合は、追加の使用量が AOF 永続性に関連しているかどうかを確認します。

AOF 書き換えオペレーションは、一時的な負荷の急増を引き起こす可能性があります。aof_rewrites_count 指標は、クラスタまたはクラスタノードの存続期間にわたる AOF 書き換えの累積数を取得するため、この指標を調べることをおすすめします。

この指標で、書き換え数の増加がレイテンシの増加に対応していることが示されているとします。書き換えの頻度を減らすには、書き込みレートを減らすか、シャード数を増やします。

RDB 保存オペレーションがレイテンシとメモリの負荷を引き起こしているかどうかを確認する

クラスタまたはクラスタ内のノードでレイテンシまたはメモリ使用量の増加が検出されたとします。この場合は、追加の使用量が RDB 永続性に関連しているかどうかを確認します。

RDB 保存オペレーションは、一時的な負荷の急増を引き起こす可能性があります。rdb_saves_count 指標を調べることをおすすめします。この指標は、クラスタまたはクラスタノードの存続期間にわたる RDB 保存の累積数を示します。

この指標で、RDB 保存数の増加がレイテンシの増加に対応していることが示されているとします。RDB 保存の頻度を下げるには、RDB スナップショット間隔を増やします。また、ベースラインの負荷レベルを下げるには、クラスタをスケールアウトします。

Memorystore for Redis Cluster の指標を解釈する

多くの指標は、平均、最大、合計のカテゴリに分類されます。

同じ指標の平均最大のバリエーションが提供されるため、両方の指標を使用してその指標ファミリーのホットスポットを特定できます。

指標の合計値は、指標の平均値と最大値とは独立しています。この値は、ホットスポットのバリエーションの目的とは関係のない個別の分析情報を提供します。

平均値と最大値の指標について

クラスタの average_keyspace_hits 指標と maximum_keyspace_hits 指標の値を比較するとします。2 つの指標の差が大きくなるほど、クラスタで発生するホットスポットが増加します。指標の値が近いほど、クラスタ内のノード間でヒットが均等に分散されます。

この原則は、同じ指標の平均および最大の変動を持つすべての指標に適用されます。

ホットスポットの例

クラスタ内のすべてのシャードの average_keyspace_hits 指標と maximum_keyspace_hits 指標の値を比較すると、ホットスポットが発生しているシャードを特定できます。たとえば、6 シャード クラスタのシャードに次のヒット数があるとします。

  • シャード 1 ~ 2 ヒット
  • シャード 2 ~ 2 ヒット
  • シャード 3 - 2 ヒット
  • シャード 4 - 2 ヒット
  • シャード 5 - 2 ヒット
  • シャード 6 ~ 8 ヒット

この例では、average_keyspace_hits 指標は値 3 を返しますが、maximum_keyspace_hits 指標は値 8 を返します。ヒットはクラスタ内のシャードに均等に分散されていません。シャード 6 は、不釣り合いに大量のトラフィックを処理しているため、ホットスポットになっています。