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

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

これらの指標を表示する方法については、インスタンスをモニタリングするをご覧ください。

Cloud Monitoring の指標

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

指標名 説明
redis.googleapis.com/keyspace/avg_ttl この指標は、有効期限が設定されている Redis データベース内のすべてのキーの平均有効期間(TTL)をミリ秒単位で測定します。この指標を使用すると、キャッシュに保存されたデータのライフサイクルを把握し、インスタンス間でキーが予想よりも早く期限切れになるかどうかを特定できます。
redis.googleapis.com/clients/blocked

この指標は、インスタンスでブロッキング コマンドが実行されているため、データが使用可能になるのを待機しているクライアント接続の数を追跡します。これらのブロック コマンドには、BLPOPBRPOPBRPOPLPUSH があります。ブロックされたクライアントの数が多い場合は、アプリケーションが特定のイベントまたはキーの入力待ちになっている可能性があります。

この指標をモニタリングすると、アプリケーションの動作を把握できます。特に、レイテンシが予期せず増加し、クライアントがブロッキング オペレーションを待機している可能性がある場合は、この指標をモニタリングします。

redis.googleapis.com/replication/master/slaves/lag

この指標は、レプリカがプライマリ インスタンスよりも遅れている秒数を測定します。Memorystore for Redis は、現在の時刻からレプリカが受信バイトのメッセージの受信を確認した時刻を引いて、指標の値を計算します。

この指標を使用すると、レプリカがプライマリ インスタンスに遅れているかどうかを特定できます。

redis.googleapis.com/replication/offset_diff

この指標は、レプリカに複製されていないバイト数を追跡します。この指標は、プライマリ インスタンスのレプリケーション バイト オフセットとレプリカのレプリケーション バイト オフセットの差を表します。これらのオフセットに差がない場合、レプリカはプライマリ インスタンスと完全に同期しています。

フェイルオーバー プロセス中にプライマリ インスタンスがレプリカにデータを複製すると、保留中のバイト数が増加することがあります。

redis.googleapis.com/stats/cache_hit_ratio

この指標は、Redis データベース呼び出しの成功と失敗の割合を表します。呼び出し元がリクエストした値を Redis データベースが返すと、呼び出しが成功します。

キャッシュ ヒット率が高いほど、キャッシュが十分に活用されていることを意味します。これは、アプリケーションのパフォーマンスにメリットがあります。

redis.googleapis.com/commands/calls

この指標は、プライマリ インスタンスで 1 分間に実行される Redis コマンドの数を測定します。これには、SET GETHSET などのすべてのオープンソース Redis コマンドが含まれます。この指標では、createupdate などの Memorystore for Redis コマンドはカウントされません。

redis.googleapis.com/clients/connected この指標は、インスタンスに接続されているクライアントの数を表示します。この指標をモニタリングして、インスタンスの負荷を特定できます。接続されているクライアントの数が maxclients の上限に近づくと、サーバーが新しい接続試行を拒否することがあります。
redis.googleapis.com/stats/cpu_utilization

この指標は、Redis サーバーが使用する 1 分あたりの CPU 使用時間を測定します。この時間は、システム ユーザー空間と親子関係ごとに分類されます。

CPU 秒の値は、Redis サーバーのメインプロセスのすべてのスレッドの合計 CPU 秒数を示します。メインスレッドの CPU 使用率のみを確認する場合は、メインスレッド CPU 秒(cpu_utilization_main_thread)指標を確認します。

CPU 使用率が高いと、コマンド処理の遅延につながるため、Redis インスタンスのレイテンシが増加する一般的な原因となります。この指標をモニタリングすることで、多数のクライアントからの高負荷が CPU 使用率を押し上げているかどうかを特定できます。

redis.googleapis.com/stats/evicted_keys

この指標は、インスタンスが maxmemory 上限に達したため、Memorystore for Redis がインスタンスから強制排除したキーの数を示します。

この指標をモニタリングすることで、インスタンスのメモリサイズがワークロードに十分かどうかを判断できます。頻繁にアクセスされるデータがキャッシュから削除されると、キーの削除がアプリケーションのパフォーマンスに影響する可能性があります。

redis.googleapis.com/keyspace/keys_with_expiration この指標は、有効期限が構成されているインスタンス内のキーの数を追跡します。キーに有効期限がない場合、指標のグラフに「データがありません」と表示されます。
redis.googleapis.com/keyspace/keys この指標は、データベースに保存されているキーの合計数を示します。キーが保存されていない場合、指標のグラフには「データがありません」と表示されます。
redis.googleapis.com/stats/cpu_utilization_main_thread この指標は、Redis サーバーのメインスレッドが使用する CPU 秒数を測定します。この測定値は、システム ユーザー空間と親子の関係ごとに分類されます。この指標をモニタリングすると、メインスレッドで発生する CPU 使用率の急上昇を特定できます。
redis.googleapis.com/stats/memory/maxmemory この指標は、キーがインスタンスで使用できる最大メモリ量(maxmemory)を表します。この上限に達すると、Memorystore for Redis はインスタンスからキーを強制排除します。この強制排除プロセスは、インスタンスに構成されている強制排除ポリシーに従って行われます。
redis.googleapis.com/stats/memory/usage_ratio この指標は、インスタンスの現在のメモリ使用量を最大メモリ上限に対する割合で示します。この指標をモニタリングして、インスタンスが容量にどの程度近づいているかを確認できます。インスタンスの構成に基づいて、この上限に達すると、キーの削除プロセスがトリガーされます。
redis.googleapis.com/stats/keyspace_misses

この指標は、メイン辞書内のキーの検索失敗数を追跡します。クライアントがデータベースに存在しないキーにアクセスしようとするたびに、指標が増加します。

この指標は、キャッシュ ヒット率の計算に使用されます。キャッシュ ヒット率は、アプリケーションがキャッシュをどの程度効果的に使用しているかを測定します。キースペース ミスが多い場合は、アプリケーションがキャッシュに存在しないデータをリクエストしていることがよくあります。アプリケーションがそのデータを低速のバックエンド データストアから取得する必要がある場合、レイテンシが増加する可能性があります。

redis.googleapis.com/replication/role

この指標は、レプリケーション グループ内のノードのロールを識別する値を返します。値 1 はノードがプライマリであることを示し、値 0 はノードがレプリカであることを示します。

この指標を使用すると、ノードのステータスをモニタリングできます。特に、ロールが切り替わる可能性のあるフェイルオーバー イベント中に役立ちます。また、レプリケーションによる高可用性をサポートするスタンダード ティア インスタンスの健全性とトポロジを追跡することもできます。

redis.googleapis.com/persistence/rdb/bgsave_in_progress

この指標は、Redis データベース(RDB)のバックグラウンド保存(BGSAVE)オペレーションがアクティブかどうかを示す値を返します。値 1 はバックグラウンド RDB 保存がアクティブであることを示し、値 0 はバックグラウンド保存が実行されていないことを示します。

この指標を使用して、自動化された RDB スナップショットまたは手動エクスポートを追跡できます。また、この指標をモニタリングすることで、メモリ使用量やレイテンシの一時的な急増と進行中の永続タスクを関連付けることができます。

redis.googleapis.com/stats/pubsub/channels この指標は、インスタンスでアクティブなクライアント サブスクリプションを持つ Pub/Sub チャネルのグローバル数をトラッキングします。この指標は、 SUBSCRIBE コマンドまたは PSUBSCRIBE コマンドを使用して、クライアントが登録しているユニーク チャネルの合計数を測定します。
redis.googleapis.com/stats/pubsub/patterns この指標は、インスタンスでアクティブなクライアント サブスクリプションを持つ Pub/Sub パターンのグローバル数をトラッキングします。この指標は、クライアントが登録している一意のパターンの合計数を測定します。通常、クライアントは PSUBSCRIBE コマンドを使用してこれらのサブスクリプションを作成します。
redis.googleapis.com/stats/reject_connections_count

この指標は、次の理由でインスタンスが拒否した接続試行の数を追跡します。

  • maxclients の上限: サーバーが許可されているクライアント同時接続数の上限に達しています。
  • メモリ不足: メモリ使用率が高いため、インスタンスが新しい接続を拒否します。
  • 無効な TLS 接続: 転送中の暗号化が有効になっているインスタンスで TLS 関連の問題が発生しています。

指標をモニタリングすることで、容量の問題を特定できます。拒否された接続の数が増加した場合は、より多くの接続を処理するためにインスタンスをスケーリングするか、インスタンスのメモリ容量を増やす必要があります。また、暗号化が適用されている場合は、この指標を使用してクライアントサイドの接続に関する問題のデバッグを行うことができます。

redis.googleapis.com/replication/master_repl_offset この指標は、プライマリ インスタンスが生成してレプリカに送信するバイトの合計数を表します。このオフセットからレプリカのレプリケーション バイト オフセットを差し引くと、レプリケーションの遅延の大きさを計算できます。これらのオフセット値に差がない場合、レプリカはプライマリ インスタンスと完全に同期されています。
redis.googleapis.com/replication/master/slaves/offset この指標は、レプリカがプライマリ インスタンスから受信した合計バイト数を示します。このオフセットをプライマリ インスタンスのレプリケーション バイト オフセットから差し引くと、レプリケーションの遅延の大きさを計算できます。これらのオフセット値に差がない場合、レプリカはプライマリ インスタンスと完全に同期されています。
redis.googleapis.com/stats/memory/system_memory_usage_ratio この指標は、使用中のメモリ量を、システムで使用可能なメモリの合計に対する比率として表します。使用可能なシステムメモリの合計は、インスタンスにプロビジョニングしたメモリに、Memorystore for Redis がオーバーヘッド プロセスの管理用に提供する追加のメモリを足した値です。
redis.googleapis.com/stats/memory/system_memory_overload_duration

この指標は、インスタンスがシステム メモリの過負荷モードにある合計時間(マイクロ秒単位)を測定します。

この指標を使用すると、インスタンスのメモリ使用量がシステムの安全な動作しきい値を超えている期間を追跡できます。指標の永続的な値は、オーバーヘッド プロセスのメモリが不足しているため、インスタンスのパフォーマンスが低下したり、不安定になったりするリスクがあることを示している可能性があります。

redis.googleapis.com/commands/usec_per_call

この指標は、1 分を超える Redis コマンド呼び出しごとに費やされた平均時間を表します。この時間はマイクロ秒単位で測定されます。

指標は個々のコマンドごとに分類されます。これにより、GETSETHSET などの特定のオペレーションのパフォーマンスをモニタリングできます。

この指標を使用して、インスタンスのレイテンシを測定することもできます。さまざまなポイントでの呼び出しあたりの時間を比較することで、パフォーマンスの変化を特定し、レイテンシの不一致の原因を調査できます。

redis.googleapis.com/stats/connections/total この指標は、サーバーが受け入れた接続の合計数を表します。
redis.googleapis.com/commands/total_time この指標は、最後の 1 秒間に各オープンソースの Redis コマンド(SET GET HSET など)に費やされた時間の合計(マイクロ秒単位)を測定します。たとえば、SET コマンドが 800,000 マイクロ秒を使用した場合、そのコマンドのすべてのインスタンスを処理するために、1 つの CPU コアの 80% を費やしたことになります。
redis.googleapis.com/stats/network_traffic この指標は、Redis との間で送受信された合計バイト数を表します。このカウントには、コマンドのバイト数、ペイロード データ、区切り文字が含まれます。
redis.googleapis.com/server/uptime この指標は、実行中の Redis サーバー プロセスの稼働時間を示します。
redis.googleapis.com/stats/memory/usage この指標は、Redis サーバー プロセスが割り当てる合計バイト数を表します。

インスタンスの詳細の指標

このセクションでは、 Google Cloud コンソールの [インスタンスの詳細] ページでインスタンスに使用できる指標の一覧と説明を示します。

指標名 説明
レプリケーション保留中のバイト数

この指標は、プライマリ ノードに書き込まれたが、レプリカ ノードにコピーされていないデータの量を示します。これは、プライマリ インスタンスのレプリケーション バイト オフセットとレプリカのオフセットの差を表します。

指標の値がゼロの場合、レプリカがプライマリ インスタンスと完全に同期していることを示します。通常、書き込みアクティビティが多い期間や、データの同期中にフェイルオーバー プロセスが発生すると、値が高くなります。

キャッシュ ヒット率

この指標は、成功した Redis データベース呼び出し(ヒット)の割合を、呼び出しの合計数(ヒットとミス)に対して示します。この指標は、アプリケーションがキャッシュをどれだけ効果的に使用しているかを表します。

キャッシュ ヒット率が高いほど、キャッシュから直接処理されるリクエストの数が多いことを示します。これにより、レイテンシが短縮されるため、アプリケーションのパフォーマンスが向上します。

比率が低い場合や低下している場合は、アプリケーションがキャッシュに存在しないデータをリクエストしていることがよくあります。この場合、インスタンスのサイズを増やすか、データ入力ロジックを調整する必要があります。

通話

この指標は、プライマリ インスタンスで 1 分間に実行される Redis コマンドの数を示します。この指標は、SETGETHSET など、すべてのオープンソースの Redis コマンドをカウントします。ただし、この指標には、createupdate など、Memorystore for Redis 固有のコマンドは含まれません。

この指標を使用して、インスタンスのレイテンシを測定して分析できます。呼び出しの量と呼び出しに費やされた時間を比較することで、パフォーマンスの変化を特定し、レイテンシの急増の原因を調査できます。

接続されたクライアント / ブロックされたクライアント

この指標には、次の情報が表示されます。

  • 接続されたクライアント: インスタンスに接続されているクライアントの合計数。この情報を使用して、インスタンスの全体的な負荷を特定できます。接続されているクライアントの数が maxclients の上限に近づくと、サーバーが新しい接続の試行を拒否し始める可能性があります。

    接続されているクライアントの数をトラッキングすると、スケーリングまたは接続プーリングが必要な接続上限に近づいているかどうかを判断できます。

  • ブロックされたクライアント: BLPOPBRPOPBRPOPLPUSH などのブロッキング コマンドを実行しているため、データを待機しているクライアント接続の数。

    ブロックされたクライアントの数が多い場合は、アプリケーションが特定のイベントを待機しているか、キーが入力されるのを待機している可能性があります。これは、アプリケーションのレイテンシの増加として現れることがあります。

CPU 秒

この指標は、インスタンスが特定の期間に使用する CPU 使用時間の合計(秒単位)を示します。

この指標をモニタリングすることで、インスタンスの CPU 使用率が高いかどうかを判断できます。CPU 使用率が高いとコマンドの処理が遅延する可能性があるため、レイテンシが増加する原因としてよくあります。この指標を使用して、多数のクライアントからの高負荷が CPU 使用率を押し上げているかどうかを判断することもできます。

強制排除されたキー / 期限切れのキー

この指標には、次の情報が表示されます。

  • 強制排除されたキー: インスタンスが最大メモリ(maxmemory)の上限に達したため、Memorystore for Redis がインスタンスから削除(強制排除)したキーの数
  • 期限切れキー: 有効期限に達して削除されたキーの数
インスタンス稼働時間

この指標は、Redis サーバー プロセスが継続的に実行されている合計時間を示します。フェイルオーバー、メンテナンス、予期しないクラッシュが原因でインスタンスが再起動すると、指標の値はゼロに減少し、新しい開始時刻から再び増加します。

この指標を使用すると、予期しないサービスの中断、フェイルオーバー イベント、メンテナンス ウィンドウを他のパフォーマンスの変化と関連付けて特定できます。

データベース中のキー

この指標は、インスタンス内の各 Redis データベースに保存されているキーの合計数を示します。この指標は、鍵に有効期限が設定されているかどうかに関係なく、データベースに存在するすべての鍵を追跡します。データベースに鍵が保存されていない場合、指標のグラフにはゼロ値ではなく「データがありません」と表示されます。

この指標をモニタリングして、インスタンスがトラフィックを受信し、データを保存していることを確認できます。指標が急激に低下した場合は、データ損失、大量の削除、インスタンスの再起動が原因である可能性があります。

メモリ使用量 / 最大メモリ この指標は、インスタンスのメモリ使用量を最大メモリ(maxmemory)の上限と比較して示します。この上限は、キーがインスタンスで使用できる最大メモリ量を表します。上限に達すると、Memorystore for Redis はインスタンスに構成されたエビクション ポリシーに従ってキーの強制排除を開始します。
ネットワークの入出力バイト

この指標は、特定の期間にインスタンスが送受信するバイト数を示します。このネットワーク トラフィックには、コマンド、ペイロード データ、区切り文字のデータが含まれます。

この指標を使用すると、アプリケーションのネットワーク負荷を把握し、帯域幅のボトルネックを特定して、ネットワーク スパイクとレイテンシの変化またはアプリケーションのパフォーマンスを関連付けることができます。

受信された接続数 / 拒否された接続数 この指標は、特定の期間におけるネットワーク接続の成功(受信)試行回数と拒否された接続試行回数を示します。この指標を使用すると、受信接続率を把握し、接続ストームを検出し、クライアントの接続や容量に関する問題を診断できます。

RDB スナップショットの指標

このセクションでは、Memorystore for Redis の RDB スナップショットの管理に役立つ指標の一覧と説明を示します。

スナップショット モニタリング指標

このセクションでは、Memorystore for Redis のスナップショット モニタリング指標の一覧と説明を示します。

指標名 説明
redis.googleapis.com/rdb/enabled この指標は、インスタンスで RDB スナップショット モードが有効になっているかどうかを示します。
redis.googleapis.com/rdb/snapshot/time_until_next_run この指標は、次に予定されているスナップショットの実行が開始されるまでの秒数を示します。

スナップショット ステータスの指標

このセクションでは、Memorystore for Redis のスナップショット ステータス指標を一覧表示して説明します。

指標名 説明
redis.googleapis.com/rdb/snapshot/in_progress この指標は、RDB スナップショットが進行中かどうかを示します。指標の値が true の場合、スナップショットが実行されています。
redis.googleapis.com/rdb/snapshot/elapsed_time この指標は、現在のスナップショットの作成中に経過した時間を測定します。
redis.googleapis.com/rdb/snapshot/attempt_count この指標は、1 分あたりのスナップショット試行回数を示します。
redis.googleapis.com/rdb/snapshot/last_status この指標は、最新のスナップショット試行のステータスを示します。
redis.googleapis.com/rdb/snapshot/last_success_duration この指標は、最後に成功したスナップショットの書き込みに必要な合計時間を示します。この時間には、失敗した試行は含まれません。
redis.googleapis.com/rdb/snapshot/last_success_age この指標は、前回の成功したスナップショットの開始からの経過時間を示します。

スナップショット復元の指標

このセクションでは、Memorystore for Redis のスナップショット復元指標の一覧と説明を示します。

指標名 説明
redis.googleapis.com/rdb/recovery/in_progress この指標は、RDB スナップショットからの復元が行われるかどうかを示します。この指標の値が true の場合、復元が進行中です。
redis.googleapis.com/rdb/recovery/elapsed_time この指標は、RDB スナップショットから進行中の復元に経過した時間を示します。
redis.googleapis.com/rdb/recovery/estimated_recovery_time この指標は、最後に成功した RDB スナップショットを使用した場合の復元にかかる予想時間を示します。
redis.googleapis.com/rdb/recovery/estimated_remaining_time この指標は、RDB スナップショットからの復元を完了するまでの残り時間を示します。
redis.googleapis.com/rdb/recovery/attempts_since_last_success この指標は、RDB スナップショットからの前回の復元再試行以降の復元の試行回数を示します。
redis.googleapis.com/rdb/recovery/last_status この指標は、RDB スナップショットからの最新の復元のステータスを示します。
redis.googleapis.com/rdb/recovery/last_duration この指標は、前回の RDB スナップショットの復元にかかった時間を示します。
redis.googleapis.com/rdb/recovery/total_bytes_count この指標は、RDB スナップショットのサイズを示します。
redis.googleapis.com/rdb/recovery/loaded_bytes_count この指標は、RDB スナップショットからの復元中に読み込まれるバイト数を示します。復元がアクティブでない場合、バイト数は 0 です。