このページでは、Memorystore for Valkey で使用可能な Cloud Monitoring 指標を一覧表示するとともに、各指標の測定値について説明します。
Cloud Monitoring の指標
インスタンス レベルの指標
これらの指標は、インスタンスの全体的な健全性とパフォーマンスの概要を示します。これらは、インスタンスの全体的な容量と使用率を把握し、潜在的なボトルネックや改善すべき領域を特定するのに役立ちます。
| 指標名 | 説明 |
|---|---|
memorystore.googleapis.com/instance/clients/average_connected_clients |
インスタンス内のすべてのノードの現在の平均クライアント接続数。 |
memorystore.googleapis.com/instance/clients/maximum_connected_clients |
インスタンス内の単一ノードの現在の最大クライアント接続数。 |
memorystore.googleapis.com/instance/clients/maximum_connection_duration |
インスタンス内の単一ノードのクライアント接続の最大期間。 |
memorystore.googleapis.com/instance/clients/total_connected_clients |
インスタンスへの現在のクライアント接続数。 |
memorystore.googleapis.com/instance/stats/total_connections_received_count |
過去 1 分間に作成されたインスタンス レベルのクライアント接続の合計数。 |
memorystore.googleapis.com/instance/stats/total_rejected_connections_count |
最大クライアント上限が原因で拒否された接続の数。 |
memorystore.googleapis.com/instance/commandstats/total_usec_count |
コマンドごとに消費された合計時間。 |
memorystore.googleapis.com/instance/commandstats/total_calls_count |
1 分あたりのこのコマンドの呼び出しの合計数。 |
memorystore.googleapis.com/instance/cpu/average_utilization |
インスタンス内のすべてのノードの平均 CPU 使用率(0.0 ~ 1.0)。 |
memorystore.googleapis.com/instance/cpu/maximum_utilization |
インスタンス内の単一ノードの最大 CPU 使用率(0.0 ~ 1.0)。 |
memorystore.googleapis.com/instance/stats/average_expired_keys |
インスタンス内のすべてのノードのプライマリのキーの有効期限切れイベントの平均数。 |
memorystore.googleapis.com/instance/stats/maximum_expired_keys |
プライマリのインスタンス内の単一ノードのキーの有効期限切れイベントの最大数。 |
memorystore.googleapis.com/instance/stats/total_expired_keys_count |
インスタンス内のすべてのノードのプライマリでのキーの有効期限切れイベントの合計数。 |
memorystore.googleapis.com/instance/stats/average_evicted_keys |
インスタンス内のすべてのノードのプライマリで、メモリ容量が原因で強制排除されたキーの平均数。 |
memorystore.googleapis.com/instance/stats/maximum_evicted_keys |
プライマリのメモリ容量が原因で、インスタンス内の単一ノードで強制排除されたキーの最大数。 |
memorystore.googleapis.com/instance/stats/total_evicted_keys_count |
インスタンス内のすべてのノードのプライマリで、メモリ容量が原因で強制排除されたキーの数。 |
memorystore.googleapis.com/instance/keyspace/total_keys |
インスタンスに保存されているキーの数。 |
memorystore.googleapis.com/instance/stats/average_keyspace_hits |
インスタンス内のすべてのノードでのキーの正常な検索の平均数。 |
memorystore.googleapis.com/instance/stats/maximum_keyspace_hits |
インスタンス内の単一ノードでのキーの正常な検索の最大数。 |
memorystore.googleapis.com/instance/stats/total_keyspace_hits_count |
インスタンスのキーの正常な検索の数。 |
memorystore.googleapis.com/instance/stats/average_keyspace_misses |
インスタンス内のすべてのノードでのキーの検索に失敗した平均数。 |
memorystore.googleapis.com/instance/stats/maximum_keyspace_misses |
インスタンス内の単一ノードでのキーの検索に失敗した最大数。 |
memorystore.googleapis.com/instance/stats/total_keyspace_misses_count |
インスタンスのキーの検索に失敗した合計数。 |
memorystore.googleapis.com/instance/memory/average_utilization |
インスタンス内のすべてのノードでの平均メモリ使用率。値は 0.0 ~ 1.0 です。 |
memorystore.googleapis.com/instance/memory/maximum_utilization |
インスタンス内の単一ノードの最大メモリ使用率(0.0 ~ 1.0)。 |
memorystore.googleapis.com/instance/memory/total_used_memory |
インスタンスの合計メモリ使用量。 |
memorystore.googleapis.com/instance/memory/size |
インスタンスのメモリサイズ。 |
memorystore.googleapis.com/instance/replication/average_ack_lag |
インスタンス内のすべてのノードにおけるレプリカの平均確認応答ラグ(秒単位)。 確認応答ラグは、インスタンス内のプライマリ ノードのボトルネックです。このボトルネックは、プライマリ ノードから送信される情報にレプリカが対応できないことが原因で発生します。この場合、プライマリ ノードはレプリカが情報を受信したことを確認するまで待機する必要があります。これにより、トランザクションの commit が遅くなり、プライマリ ノードのパフォーマンスが低下する可能性があります。 |
memorystore.googleapis.com/instance/replication/maximum_ack_lag |
インスタンス内の単一レプリカの最大確認応答ラグ(秒単位)。 |
memorystore.googleapis.com/instance/replication/average_offset_diff |
インスタンス内のすべてのノードにおけるレプリケーション確認応答オフセットの平均差分(バイト単位)。 レプリケーション確認応答オフセットの差分とは、レプリカとそのプライマリ間でレプリケートされていないバイト数を意味します。 |
memorystore.googleapis.com/instance/replication/maximum_offset_diff |
インスタンス内の単一ノードの最大レプリケーション オフセット差分(バイト単位)。 レプリケーション オフセットの差分とは、レプリカとそのプライマリ間でレプリケートされていないバイト数を意味します。 |
memorystore.googleapis.com/instance/stats/total_net_input_bytes_count |
インスタンス エンドポイントが受信した受信ネットワーク バイト数。 |
memorystore.googleapis.com/instance/stats/total_net_output_bytes_count |
インスタンス エンドポイントから送信された送信ネットワーク バイト数。 |
ノードレベルの指標
これらの指標は、インスタンス内の個々のノードの健全性とパフォーマンスに関する詳細な分析情報を提供します。これらは、ノードに関する問題のトラブルシューティングや、ノードのパフォーマンスの最適化に役立ちます。
| 指標名 | 説明 |
|---|---|
memorystore.googleapis.com/instance/node/clients/connected_clients |
インスタンス ノードに接続されているクライアントの数。 |
memorystore.googleapis.com/instance/node/clients/blocked_clients |
インスタンス ノードがブロックするクライアント接続の数。 |
memorystore.googleapis.com/instance/node/server/uptime |
インスタンス ノードの稼働時間。 |
memorystore.googleapis.com/instance/node/stats/connections_received_count |
Memorystore for Valkey がインスタンス ノードで過去 1 分間に作成したクライアント接続の数。 |
memorystore.googleapis.com/instance/node/stats/rejected_connections_count |
インスタンス ノードが `maxclients` 上限に達したため、Memorystore for Valkey が拒否した接続の数。 |
memorystore.googleapis.com/instance/node/commandstats/usec_count |
インスタンス ノード内のコマンドごとに消費された時間。 |
memorystore.googleapis.com/instance/node/commandstats/calls_count |
インスタンス ノードでこのコマンドが 1 分間に呼び出された回数。 |
memorystore.googleapis.com/instance/node/cpu/utilization |
インスタンス ノードの CPU 使用率(0.0 ~ 1.0)。 |
memorystore.googleapis.com/instance/node/stats/expired_keys_count |
インスタンス ノード内の有効期限切れイベントの数。 |
memorystore.googleapis.com/instance/node/stats/evicted_keys_count |
インスタンス ノードによって強制排除されたキーの数。 |
memorystore.googleapis.com/instance/node/keyspace/total_keys |
Memorystore for Valkey がインスタンス ノードに保存するキーの数。 |
memorystore.googleapis.com/instance/node/stats/keyspace_hits_count |
インスタンス ノードでのキーの検索成功数。 |
memorystore.googleapis.com/instance/node/stats/keyspace_misses_count |
インスタンス ノードでのキーの検索に失敗した数。 |
memorystore.googleapis.com/instance/node/memory/utilization |
インスタンス ノードのメモリ使用率(0.0 ~ 1.0)。 |
memorystore.googleapis.com/instance/node/memory/usage |
インスタンス ノードのメモリ使用量。 |
memorystore.googleapis.com/instance/node/stats/net_input_bytes_count |
インスタンス ノードが受信する受信ネットワーク バイト数。 |
memorystore.googleapis.com/instance/node/stats/net_output_bytes_count |
インスタンス ノードが送信する送信ネットワーク バイト数。 |
memorystore.googleapis.com/instance/node/replication/offset |
インスタンス ノードのレプリケーション オフセット バイト数。 |
memorystore.googleapis.com/instance/node/server/healthy |
インスタンス ノードが使用可能で、正しく機能しているかどうかを判断します。この指標はプレビュー版です。 |
クロスリージョン レプリケーションの指標
このセクションでは、クロスリージョン レプリケーションに使用される指標を一覧表示します。
| 指標名 | 説明 |
|---|---|
memorystore.googleapis.com/instance/cross_instance_replication/secondary_replication_links |
この指標は、プライマリ インスタンスとセカンダリ インスタンス間のシャードリンクの数を示します。クロスリージョン レプリケーション グループ内で、プライマリ インスタンスは、グループ内のセカンダリ インスタンスとのクロスリージョン レプリケーション リンクの数を報告します。各セカンダリ インスタンスでは、この数値はシャード数と同じになることが想定されています。シャード数よりも少ない場合は、レプリケータとフォロワー間のレプリケーションが停止したときのシャード数を示します。理想的な状態では、この指標の値はプライマリ インスタンスのシャード数と同じになります。 |
memorystore.googleapis.com/instance/cross_instance_replication/secondary_maximum_replication_offset_diff |
この指標は、プライマリ シャードとセカンダリ シャード間のレプリケーション オフセットの最大差を示します。 |
memorystore.googleapis.com/instance/cross_instance_replication/secondary_average_replication_offset_diff |
この指標は、プライマリ シャードとセカンダリ シャード間のレプリケーション オフセットの平均差を示します。 |
バックアップ指標
このセクションでは、バックアップとインポートの指標について説明します。
インスタンス レベルの指標
| 指標名 | 説明 |
|---|---|
memorystore.googleapis.com/instance/backup/last_backup_start_time |
前回のバックアップ オペレーションの開始時間。 |
memorystore.googleapis.com/instance/backup/last_backup_status |
前回のバックアップ オペレーションのステータス。ステータスは 1(成功)と 0(失敗)です。 |
memorystore.googleapis.com/instance/backup/last_backup_duration |
前回のバックアップ オペレーションの期間(ミリ秒単位)。 |
memorystore.googleapis.com/instance/backup/last_backup_size |
前回のバックアップのサイズ(バイト単位)。 |
memorystore.googleapis.com/instance/import/last_import_start_time |
前回のインポート オペレーションの開始時間。 |
memorystore.googleapis.com/instance/import/last_import_duration |
前回のインポート オペレーションの期間(ミリ秒単位)。 |
永続性指標
このセクションでは、永続性指標のリストと、永続性指標のユースケースの例を示します。
RDB 永続性指標
インスタンス レベルの指標
| 指標名 | 説明 |
|---|---|
memorystore.googleapis.com/instance/persistence/rdb_saves_count |
インスタンスが RDB スナップショットを取得した累積回数(保存とも呼ばれます)。この指標には status_code フィールドがあります。スナップショットが失敗したかどうかを確認するには、status_code フィールドを 3 - INTERNAL ERROR エラーでフィルタします。 |
memorystore.googleapis.com/instance/persistence/rdb_last_success_ages |
インスタンス内のすべてのノードの分布スナップショットの経過時間。分布に、スナップショットの頻度よりも遅延時間が短い(または同じ)値が含まれていることを確認します。 |
ノードレベルの指標
| 指標名 | 説明 |
|---|---|
memorystore.googleapis.com/instance/node/persistence/rdb_bgsave_in_progress |
インスタンス ノードで RDB BGSAVE が進行中です。TRUE は、保存が進行中であることを意味します。 |
memorystore.googleapis.com/instance/node/persistence/rdb_last_bgsave_status |
インスタンス ノードでの前回の BGSAVE の成功。TRUE は、BGSAVE が成功したことを意味します。bgrewrite が発生しない場合、値はデフォルトで TRUE になることがあります。 |
memorystore.googleapis.com/instance/node/persistence/rdb_saves_count |
この指標は、インスタンス ノードで実行された RDB 保存の累積数を示します。 |
memorystore.googleapis.com/instance/node/persistence/rdb_last_save_age |
前回成功したスナップショットからの経過時間(秒単位)。 |
memorystore.googleapis.com/instance/node/persistence/rdb_next_save_time_until |
次のスナップショットまでの残り時間(秒単位)。 |
memorystore.googleapis.com/instance/node/persistence/current_save_keys_total |
インスタンス ノードで実行される RDB 保存のキーの数。 |
AOF 永続性指標
インスタンス レベルの指標
| 指標名 | 説明 |
|---|---|
memorystore.googleapis.com/instance/persistence/aof_fsync_lags |
この指標は、インスタンス内のすべてのノードの遅延(データの書き込みから永続ストレージの同期まで)の分布を示します。appendfsync=everysec のインスタンスでのみ出力されます。理想的には、AOF 同期頻度よりも遅延時間が短い(または同じ)値が分布に含まれていることが望ましいです。 |
memorystore.googleapis.com/instance/persistence/aof_rewrite_count |
この指標は、インスタンスでノードが AOF 書き換えをトリガーした累積回数を示します。この指標には status_code フィールドがあります。AOF 書き換えが失敗しているかどうかを確認するには、status_code フィールドをフィルタして、次のエラー(3 - INTERNAL_ERROR)を探します。 |
ノードレベルの指標
| 指標名 | 説明 |
|---|---|
memorystore.googleapis.com/instance/node/persistence/aof_last_write_status |
この指標は、インスタンス ノードで実行された最新の AOF 書き込みの成功を示します。TRUE は成功を意味します。書き込みが行われていない場合、値はデフォルトで TRUE になることがあります。 |
memorystore.googleapis.com/instance/node/persistence/aof_last_bgrewrite_status |
この指標は、インスタンス ノードで前回実行された AOF bgrewrite オペレーションの成功を示します。TRUE は成功を意味します。bgrewrite が発生していない場合、値はデフォルトで TRUE になることがあります。 |
memorystore.googleapis.com/instance/node/persistence/aof_fsync_lag |
この指標は、インスタンス ノードのメモリと永続ストア間の AOF ラグを示します。appendfsync=EVERYSEC の AOF が有効になっているインスタンスにのみ適用されます。 |
memorystore.googleapis.com/instance/node/persistence/aof_rewrites_count |
この指標は、インスタンス ノードの AOF 書き換え数を示します。AOF 書き換えが失敗しているかどうかを確認するには、status_code フィールドをフィルタして、次のエラー(3 - INTERNAL_ERROR)を探します。 |
memorystore.googleapis.com/instance/node/persistence/aof_fsync_errors_count |
この指標は、AOF fsync() 呼び出しエラーの数を示します。これは、appendfsync=EVERYSEC|ALWAYS の AOF が有効になっているインスタンスにのみ適用されます。 |
一般的な永続性指標
AOF と RDB の両方の永続メカニズムに適用される指標。
ノードレベルの指標
| 指標名 | 説明 |
|---|---|
memorystore.googleapis.com/instance/node/persistence/auto_restore_count |
この指標は、ダンプファイル(AOF または RDB)からの復元数を示します。復元が失敗しているかどうかを確認するには、status_code フィールドをフィルタして、次のエラー(2 - INTERNAL_ERROR)を探します。 |
永続性指標のユースケースの例
AOF 書き込みオペレーションがレイテンシとメモリの負荷を引き起こしているかどうかを確認する
インスタンスまたはインスタンス内のノードでレイテンシやメモリ使用量の増加が検出されたとします。この場合、追加の使用量が AOF 永続性に関連しているかどうかを確認することをおすすめします。
AOF 書き換えオペレーションによって一時的な負荷の急増が引き起こされる可能性があることがわかっているため、aof_rewrites_count 指標を調べて、インスタンスまたはインスタンス内のノードの存続期間にわたる AOF 書き換えの累積数を取得できます。この指標で、書き換え数の増加がレイテンシの増加に対応していることがわかったとします。このような状況では、書き込みレートを下げるか、シャード数を増やして書き換えの頻度を下げることで、問題を解決できます。
RDB 保存オペレーションがレイテンシとメモリ負荷の原因になっているかどうかを確認する
インスタンスまたはインスタンス内のノードでレイテンシやメモリ使用量の増加が検出されたとします。この場合は、追加の使用量が RDB 永続性に関連しているかどうかを確認することをおすすめします。
RDB 保存オペレーションによって一時的な負荷の急増が引き起こされる可能性があることがわかっているため、rdb_saves_count 指標を調べて、インスタンスまたはインスタンス内のノードのライフサイクル全体にわたる RDB 保存の累積数を取得できます。この指標で、RDB 保存数の増加がレイテンシの増加に対応していることがわかったとします。このような状況では、RDB スナップショットの間隔を短くして、書き換えの頻度を減らすことができます。インスタンスをスケールアウトして、ベースラインの負荷レベルを下げることもできます。
Memorystore for Valkey の指標の解釈
上記のリストに示されているように、指標の多くは、平均、最大、合計の 3 つのカテゴリに分かれます。
Memorystore for Redis Cluster の場合、同じ指標の平均と最大のバリエーションが提供されるため、両方を使用してその指標ファミリーのホットスポットを特定できます。
指標の合計値は独立しており、平均と最大でホットスポットを特定する目的とは関係なく、個別の分析情報を提供します。
平均値と最大値の指標について
インスタンスの average_keyspace_hits と maximum_keyspace_hits の値を比較するとします。2 つの指標の差が大きくなるほど、インスタンスで発生するホットスポットが増加します。理想は、average_keyspace_hits と maximum_keyspace_hits の値が近いことです。これは、ホットスポットの発生がインスタンス間で均等に分散されていることを意味するためです。
この原則は、同じ指標の平均および最大の変動を持つすべての指標に適用されます。
ホットスポットの例
インスタンス内のすべてのシャードの 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 がホットであることを示しています。
インスタンス内のホットスポットの特定に役立つノードレベルの指標が提供されます。