このページでは、Memorystore for Redis で使用可能な指標を一覧表示するとともに、各指標の測定値について説明します。
これらの指標を表示する方法については、インスタンスをモニタリングするをご覧ください。
Cloud Monitoring の指標
このセクションでは、Memorystore for Redis で使用可能な Cloud Monitoring 指標を一覧表示して説明します。
| 指標名 | 説明 |
|---|---|
redis.googleapis.com/keyspace/avg_ttl |
この指標は、有効期限が設定されている Redis データベース内のすべてのキーの平均有効期間(TTL)をミリ秒単位で測定します。この指標を使用すると、キャッシュに保存されたデータのライフサイクルを把握し、インスタンス間でキーが予想よりも早く期限切れになるかどうかを特定できます。 |
redis.googleapis.com/clients/blocked |
この指標は、インスタンスでブロッキング コマンドが実行されているため、データが使用可能になるのを待機しているクライアント接続の数を追跡します。これらのブロック コマンドには、 この指標をモニタリングすると、アプリケーションの動作を把握できます。特に、レイテンシが予期せず増加し、クライアントがブロッキング オペレーションを待機している可能性がある場合は、この指標をモニタリングします。 |
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 コマンドの数を測定します。これには、 |
redis.googleapis.com/clients/connected |
この指標は、インスタンスに接続されているクライアントの数を表示します。この指標をモニタリングして、インスタンスの負荷を特定できます。接続されているクライアントの数が maxclients の上限に近づくと、サーバーが新しい接続試行を拒否することがあります。 |
redis.googleapis.com/stats/cpu_utilization |
この指標は、Redis サーバーが使用する 1 分あたりの CPU 使用時間を測定します。この時間は、システム ユーザー空間と親子関係ごとに分類されます。 CPU 秒の値は、Redis サーバーのメインプロセスのすべてのスレッドの合計 CPU 秒数を示します。メインスレッドの CPU 使用率のみを確認する場合は、メインスレッド CPU 秒( CPU 使用率が高いと、コマンド処理の遅延につながるため、Redis インスタンスのレイテンシが増加する一般的な原因となります。この指標をモニタリングすることで、多数のクライアントからの高負荷が CPU 使用率を押し上げているかどうかを特定できます。 |
redis.googleapis.com/stats/evicted_keys |
この指標は、インスタンスが この指標をモニタリングすることで、インスタンスのメモリサイズがワークロードに十分かどうかを判断できます。頻繁にアクセスされるデータがキャッシュから削除されると、キーの削除がアプリケーションのパフォーマンスに影響する可能性があります。 |
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 |
この指標は、レプリケーション グループ内のノードのロールを識別する値を返します。値 この指標を使用すると、ノードのステータスをモニタリングできます。特に、ロールが切り替わる可能性のあるフェイルオーバー イベント中に役立ちます。また、レプリケーションによる高可用性をサポートするスタンダード ティア インスタンスの健全性とトポロジを追跡することもできます。 |
redis.googleapis.com/persistence/rdb/bgsave_in_progress |
この指標は、Redis データベース(RDB)のバックグラウンド保存( この指標を使用して、自動化された 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 |
この指標は、次の理由でインスタンスが拒否した接続試行の数を追跡します。
指標をモニタリングすることで、容量の問題を特定できます。拒否された接続の数が増加した場合は、より多くの接続を処理するためにインスタンスをスケーリングするか、インスタンスのメモリ容量を増やす必要があります。また、暗号化が適用されている場合は、この指標を使用してクライアントサイドの接続に関する問題のデバッグを行うことができます。 |
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 コマンド呼び出しごとに費やされた平均時間を表します。この時間はマイクロ秒単位で測定されます。 指標は個々のコマンドごとに分類されます。これにより、 この指標を使用して、インスタンスのレイテンシを測定することもできます。さまざまなポイントでの呼び出しあたりの時間を比較することで、パフォーマンスの変化を特定し、レイテンシの不一致の原因を調査できます。 |
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 コマンドの数を示します。この指標は、 この指標を使用して、インスタンスのレイテンシを測定して分析できます。呼び出しの量と呼び出しに費やされた時間を比較することで、パフォーマンスの変化を特定し、レイテンシの急増の原因を調査できます。 |
| CPU 秒 | この指標は、インスタンスが特定の期間に使用する CPU の合計使用時間(秒単位)を示します。 この指標をモニタリングすることで、インスタンスの CPU 使用率が高いかどうかを判断できます。CPU 使用率が高いとコマンドの処理が遅延する可能性があるため、レイテンシが増加する原因としてよくあります。この指標を使用して、多数のクライアントからの高負荷が CPU 使用率を押し上げているかどうかを判断することもできます。 |
| インスタンス稼働時間 | この指標は、Redis サーバー プロセスが継続的に実行されている合計時間を示します。フェイルオーバー、メンテナンス、予期しないクラッシュが原因でインスタンスが再起動すると、指標の値はゼロに減少し、新しい開始時刻から再び増加します。 この指標を使用すると、予期しないサービスの中断、フェイルオーバー イベント、メンテナンス ウィンドウを他のパフォーマンスの変化と関連付けて特定できます。 |
| データベース中のキー | この指標は、インスタンス内の各 Redis データベースに保存されているキーの合計数を示します。この指標は、鍵に有効期限が設定されているかどうかに関係なく、データベースに存在するすべての鍵を追跡します。データベースに鍵が保存されていない場合、指標のグラフにはゼロ値ではなく「データがありません」と表示されます。 この指標をモニタリングして、インスタンスがトラフィックを受信し、データを保存していることを確認できます。指標が急激に低下した場合は、データ損失、大量の削除、インスタンスの再起動が原因である可能性があります。 |
| メモリ使用量 / 最大メモリ | インスタンスの最大メモリ上限と比較したメモリ使用量を示すグラフ。 |
| 強制排除されたキー / 期限切れのキー | 強制排除されたキーと期限切れキーの数を示すグラフ。 |
| 接続されたクライアント / ブロックされたクライアント | 接続済みクライアントとブロックされたクライアントの数を示すグラフ。 |
| ネットワークの入出力バイト | 特定の期間にインスタンスで送受信されたバイト数を表示するグラフ。 |
RDB スナップショットの指標
次の指標は、Memorystore for Redis の RDB スナップショットを管理する際に活用できます。
スナップショット モニタリング指標
| 指標名 | 完全なエンドポイント URL | 説明 |
|---|---|---|
| スナップショット モード | redis.googleapis.com/rdb/enabled | RDB スナップショット モードが有効かどうかを示します |
| 次のスナップショット時間 | redis.googleapis.com/rdb/snapshot/time_until_next_run | 次に予定されたスナップショットまでの秒数。 |
スナップショット ステータスの指標
| 指標名 | 完全なエンドポイント URL | 説明 |
|---|---|---|
| RDB スナップショットの進行中 | redis.googleapis.com/rdb/snapshot/in_progress | RDB スナップショットが進行中かどうかを示します。指標値が true の場合、RDB スナップショットが進行中です。 |
| RDB スナップショットの経過時間 | redis.googleapis.com/rdb/snapshot/elapsed_time | 現在のスナップショットの作成中に経過した時間を示します。 |
| RDB スナップショットの試行回数 | redis.googleapis.com/rdb/snapshot/attempt_count | 1 分あたりのスナップショット試行回数を示します。 |
| RDB スナップショットの前回のステータス | redis.googleapis.com/rdb/snapshot/last_status | 最新のスナップショット試行のステータスを示します。 |
| RDB スナップショットの所要時間 | redis.googleapis.com/rdb/snapshot/last_success_duration | 最後に成功したスナップショットの書き込みに必要な合計時間を示します。失敗した試行は含まれません。 |
| RDB スナップショットの経過時間 | redis.googleapis.com/rdb/snapshot/last_success_age | 前回の成功したスナップショットの開始からの経過時間を示します。 |
スナップショット復元の指標
| 指標名 | 完全なエンドポイント URL | 説明 |
|---|---|---|
| RDB の復元中 | redis.googleapis.com/rdb/recovery/in_progress | RDB スナップショットからの復元が進行中かどうかを示します。指標値が true の場合は、復元が進行中です。 |
| RDB 復元の経過時間 | redis.googleapis.com/rdb/recovery/elapsed_time | RDB スナップショットから進行中の復元に経過した時間を示します。 |
| RDB 復元の推定所要時間 | redis.googleapis.com/rdb/recovery/estimated_recovery_time | 最後に成功したスナップショットを復元に使用する場合の予想される復元までの時間を示します。 |
| RDB 復元の残り時間 | redis.googleapis.com/rdb/recovery/estimated_remaining_time | RDB スナップショットからの復元を完了するまでの残り時間を示します。 |
| 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 | 復元中に、読み込まれたバイト数を示します。復元がアクティブでない場合は 0 です。 |