Valkey と Redis OSS のメトリクス - Amazon ElastiCache

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Valkey と Redis OSS のメトリクス

Amazon ElastiCache 名前空間には、次の Valkey と Redis OSS のメトリクスが含まれます。これらのメトリクスは、Valkey エンジンを使用する場合も同じです。

ReplicationLagEngineCPUUtilization、、SuccessfulWriteRequestLatencyおよび を除きSuccessfulReadRequestLatency、これらのメトリクスは info コマンドから派生します。各メトリクスは、キャッシュノードレベルで算出されます。

info コマンドの詳細なドキュメントは、http://valkey.io/commands/info を参照してください。

以下の資料も参照してください

メトリクス 説明 [単位]
ActiveDefragHits アクティブなデフラグメンテーションプロセスで実行された 1 分あたりの値の再割り当て数。これは、INFO での active_defrag_hits 統計から算出されます。 数値
AuthenticationFailures AUTH コマンドを使用した Valkey または Redis OSS への認証に失敗した試行の合計数。個々の認証失敗の詳細については、ACL ログ コマンドを使用して検索できます。不正アクセスの試みを検出するために、このアラームを設定することをお勧めします。 カウント
BytesUsedForCache データセット、バッファなど、すべての目的で Valkey または Redis OSS によって割り当てられた合計バイト数。 バイト
ElastiCache のデータ階層化 を使用する Valkey または Redis OSS クラスターの Dimension: Tier=Memory: メモリによってキャッシュに使用される合計バイト数。これは、INFO での used_memory 統計の値です。 バイト
ElastiCache のデータ階層化 を使用する Valkey または Redis OSS クラスターの Dimension: Tier=SSD: SSD によってキャッシュに使用される合計バイト数。 バイト
BytesReadFromDisk ディスクから読み取られる 1 分あたりの合計バイト数です。ElastiCache のデータ階層化 を使用するクラスターのみがサポートされます。 バイト
BytesWrittenToDisk ディスクに書き込まれる 1 分あたりの合計バイト数です。ElastiCache のデータ階層化 を使用するクラスターのみがサポートされます。 バイト
CacheHits メインディクショナリで読み取り専用のキー検索に成功した数。これは、INFO での keyspace_hits 統計から算出されます。 カウント
CacheMisses メインディクショナリで読み取り専用のキー検索に失敗した数。これは、INFO での keyspace_misses 統計から算出されます。 カウント
CommandAuthorizationFailures ユーザーが呼び出すためのアクセス許可を持たないコマンドの実行に失敗した試行の合計数。個々の認証失敗の詳細については、ACL ログ コマンドを使用して検索できます。不正アクセスの試みを検出するために、このアラームを設定することをお勧めします。 カウント
CacheHitRate Valkey または Redis OSS インスタンスの使用効率を示します。キャッシュ比率が約 0.8 より小さい場合、かなりの量のキーが削除された、期限切れになった、または存在しないことを意味します。これは、cache_hitscache_misses 統計を使用して、次の方法で計算されます: cache_hits /(cache_hits + cache_misses) 割合 (%)
ChannelAuthorizationFailures ユーザーがアクセス許可を持たないチャネルへのアクセスに失敗した試行の合計数。個々の認証失敗の詳細については、ACL ログ コマンドを使用して検索できます。不正アクセスの試みを検出するために、このメトリクスにアラームを設定することをお勧めします。 カウント
CurrConnections リードレプリカからの接続を除く、クライアント接続の数。ElastiCache は、それぞれのケースで 4~6 個の接続を使用してクラスターをモニタリングします。これは、INFO での connected_clients 統計から算出されます。 カウント
CurrItems キャッシュの項目数。これは、keyspace 統計に基づき、キー空間全体のすべてのキーを合計することで算出されます。 カウント
ElastiCache のデータ階層化 を使用するクラスターの Dimension: Tier=Memory です。メモリ内の項目の数です。 カウント
ElastiCache のデータ階層化 を使用するクラスターの Dimension: Tier=SSD (ソリッドステートドライブ) です。SSD 内の項目の数です。 カウント
CurrVolatileItems TTL が設定されているすべてのデータベース内のキーの総数。これは、expires 統計に基づき、キー空間全体で TTL 設定を持つすべてのキーを合計することで算出されます。 カウント
DatabaseCapacityUsagePercentage

使用中のクラスターの総データ容量の割合。

データ階層化インスタンスでは、メトリクスは (used_memory - mem_not_counted_for_evict + SSD used) / (maxmemory + SSD total capacity) として計算され、used_memorymaxmemoryINFO から取得されます。

それ以外の場合、メトリクスは used_memory/maxmemory を使用して計算されます。

割合 (%)
DatabaseCapacityUsageCountedForEvictPercentage

オーバーヘッドと COB に使用される総データ容量を除く、使用中のクラスターのメモリの割合です。このメトリクスは次のように計算されます。

used_memory - mem_not_counted_for_evict/maxmemory

データ階層化インスタンスでは、メトリクスは次のように計算されます。

(used_memory + SSD used) / (maxmemory + SSD total capacity)

used_memorymaxmemoryINFO から取得したものです。

割合 (%)
DatabaseMemoryUsagePercentage 使用中のクラスターのメモリの割合。これは、INFOused_memory/maxmemory を使用して計算されます。 割合 (%)
DatabaseMemoryUsageCountedForEvictPercentage オーバーヘッドと COB に使用されるメモリを除く、使用中のクラスターのメモリの割合です。これは、INFOused_memory-mem_not_counted_for_evict/maxmemory を使用して計算されます。 割合 (%)
DB0AverageTTL INFO コマンドの keyspace 統計から DBO の avg_ttl を公開します。レプリカはキーを失効させず、プライマリノードがキーを失効させるまで待機します。プライマリノードがキーを失効させる (または LRU のためにキーを削除する) と、プライマリノードは DEL コマンドを合成し、それはすべてのレプリカに送信されます。したがって、レプリカノードではキーの有効期限がないため、DB0AverageTTL は 0 になり、TTL を追跡しません。 ミリ秒
EngineCPUUtilization

Valkey または Redis OSS エンジンスレッドの CPU 使用率を提供します。Valkey または Redis OSS はシングルスレッドであるため、このメトリクスを使用して、プロセス自体のロードを分析できます。EngineCPUUtilization メトリクスは、プロセスのより正確な可視性を提供します。CPUUtilization メトリクスと組み合わせてそれを使用できます。CPUUtilization は、他のオペレーティングシステムや管理プロセスを含むサーバーインスタンス全体の CPU 使用率を公開します。4 個以上の vCPU を持つ大きなノードの場合は、EngineCPUUtilization メトリクスを使用して、スケーリングのしきい値をモニタリングおよび設定します。

注記

ElastiCache ホスト上で、マネージドデータベースのエクスペリエンスを提供するために、バックグラウンドプロセスがホストをモニタリングします。これらのバックグラウンドプロセスは、CPU ワークロードのかなりの部分を占有する可能性があります。これは、vCPU が 2 個を超える大規模なホストでは重要ではありません。ただし、vCPU が 2 個以下の小規模なホストには影響を与える可能性があります。EngineCPUUtilization メトリクスのみをモニタリングする場合、Valkey または Redis OSS からの CPU 使用率と、バックグラウンドモニタリングプロセスからの CPU 使用率の両方が高く、ホストが過負荷になっている状況には気付くことができません。したがって、vCPU が 2 個以下のホストについては、CPUUtilization メトリクスをモニタリングすることをお勧めします。

割合 (%)
Evictions maxmemory の制限のため排除されたキーの数。これは、INFO での evicted_keys 統計から算出されます。 カウント
GlobalDatastoreReplicationLag これは、セカンダリリージョンのプライマリノードとプライマリリージョンのプライマリノード間の遅延です。クラスターモードが有効な Valkey または Redis OSS の場合、遅延はシャード間の最大遅延を示します。 [秒]
IamAuthenticationExpirations 有効期限が切れた IAM で認証された Valkey または Redis OSS 接続の総数。IAM を使用した認証 の詳細については、ユーザーガイドで確認できます。 カウント
IamAuthenticationThrottling スロットリングされた IAM で認証された Valkey または Redis OSS の AUTH または HELLO リクエストの総数。IAM を使用した認証 の詳細については、ユーザーガイドで確認できます。 カウント
IsMaster ノードが現在のシャード/クラスタのプライマリノードかどうかを示します。メトリクスは 0 (プライマリではない) または 1 (プライマリ) にすることができます。 カウント
KeyAuthorizationFailures ユーザーがアクセス許可を持たないキーへのアクセスに失敗した試行の合計数。個々の認証失敗の詳細については、ACL ログ コマンドを使用して検索できます。不正アクセスの試みを検出するために、このアラームを設定することをお勧めします。 カウント
KeysTracked Valkey または Redis OSS のキートラッキングによって追跡されるキーの数 (tracking-table-max-keys の割合)。キーラッキングは、クライアント側のキャッシュを支援するために使用され、キーが変更されたときにクライアントに通知します。 カウント
MemoryFragmentationRatio Valkey または Redis OSS エンジンのメモリ割り当ての効率を示します。特定のしきい値は、異なる動作を意味します。推奨値は、1.0 を超える断片化です。これは、INFOmem_fragmentation_ratio statistic から計算されます。 数値
NewConnections この期間内にサーバーによって受け入れられた接続の総数。これは、INFO での total_connections_received 統計から算出されます。
注記

ElastiCache for Redis OSS バージョン 5 以前を使用している場合、このメトリクスによって報告された接続の 2 つから 4 つが ElastiCache によってクラスターのモニタリングに使用されます。ただし、ElastiCache for Redis OSS バージョン 6 以降を使用する場合、ElastiCache がクラスターのモニタリングに使用する接続はこのメトリクスに含まれません。

カウント
NumItemsReadFromDisk ディスクから取得される 1 分あたりの項目の総数です。ElastiCache のデータ階層化 を使用するクラスターのみがサポートされます。 カウント
NumItemsWrittenToDisk ディスクに書き込まれる 1 分あたりの項目の総数です。ElastiCache のデータ階層化 を使用するクラスターのみがサポートされます。 カウント
MasterLinkHealthStatus このステータスの値は、0 または 1 のいずれかになります。値 0 は、ElastiCache プライマリノードのデータが、EC2 の Valkey または Redis OSS と同期されていないことを示します。値 1 は、データが同期されていることを示します。移行を完了するには、CompleteMigration API オペレーションを使用します。 ブール値
Reclaimed キーの有効期限切れイベントの総数。これは、INFO での expired_keys 統計から算出されます。 カウント
ReplicationBytes レプリケートされたノードについては、ReplicationBytes は、プライマリがすべてのレプリカに対して送信するバイト数を報告します。このメトリクスは、レプリケーショングループに対する書き込み負荷を表します。これは、INFO での master_repl_offset 統計から算出されます。 バイト
ReplicationLag このメトリクスは、リードレプリカとして実行中のノードにのみ適用できます。レプリカのプライマリノードからの変更適用の進行状況を秒で表します。Valkey 7.2 以降および Redis OSS 5.0.6 以降では、遅延はミリ秒単位で測定できます。 [秒]
SaveInProgress このバイナリメトリクスは、バックグラウンド保存 (分岐または分岐なし) が進行中の場合は常に 1 を返し、それ以外の場合は 0 を返します。バックグラウンド保存プロセスは一般に、スナップショットおよび同期の際に使用されます。これらのオペレーションによりパフォーマンスが低下する可能性があります。SaveInProgress メトリクスを使用して、パフォーマンスが低下した原因がバックグラウンド保存プロセスであるかどうかを診断できます。これは、INFO での rdb_bgsave_in_progress 統計から算出されます。 ブール値
TrafficManagementActive ElastiCache for Redis OSS が、受信コマンド、モニタリング、またはレプリケーションに割り当てられたトラフィックを調整することで、トラフィックを積極的に管理しているかどうかを示します。トラフィックは、Valkey または Redis OSS が処理できる数よりも多くのコマンドがノードに送信された場合に管理され、エンジンの安定性と最適な動作を維持するために使用されます。データポイントが 1 の場合は、提供されているワークロードに対してノードが過小評価されていることを示している可能性があります。
注記

この指標が引き続き有効な場合は、クラスターを評価してスケールアップとスケールアウトのどちらが必要かを判断します。関連するメトリクスには、NetworkBandwidthOutAllowanceExceeded および EngineCPUUtilization が含まれます。

ブール値
SuccessfulWriteRequestLatency

成功した書き込みリクエストのレイテンシー。

有効な統計: Average、Sum、Min、Max、Sample Count、p0 と p100 の間の任意のパーセンタイル。サンプル数には、正常に実行されたコマンドのみが含まれます。

マイクロ秒
SuccessfulReadRequestLatency

読み取りリクエストが成功するまでのレイテンシー。

有効な統計: Average、Sum、Min、Max、Sample Count、p0 と p100 の間の任意のパーセンタイル。サンプル数には、正常に実行されたコマンドのみが含まれます。

マイクロ秒
ErrorCount

指定した期間中に失敗したコマンドの合計数。

有効な統計: Average、Sum、Min、Max

カウント
EngineCPUUtilization の利用可能性

AWS 以下に示すリージョンは、サポートされているすべてのノードタイプで使用できます。

リージョン リージョン名
us-east-2 米国東部(オハイオ)
us-east-1 米国東部 (バージニア北部)
us-west-1 米国西部 (北カリフォルニア)
us-west-2 米国西部 (オレゴン)
ap-northeast-1 アジアパシフィック (東京)
ap-northeast-2 アジアパシフィック (ソウル)
ap-northeast-3 アジアパシフィック (大阪)
ap-east-1 アジアパシフィック (香港)
ap-south-1 アジアパシフィック (ムンバイ)
ap-southeast-1 アジアパシフィック (シンガポール)
ap-southeast-2 アジアパシフィック (シドニー)
ap-southeast-3 アジアパシフィック (ジャカルタ)
ca-central-1 カナダ (中部)
cn-north-1 中国 (北京)
cn-northwest-2 中国 (寧夏)
me-south-1 中東 (バーレーン)
eu-central-1 欧州 (フランクフルト)
eu-west-1 欧州 (アイルランド)
eu-west-2 欧州 (ロンドン)
eu-west-3 欧州(パリ)
eu-south-1 欧州 (ミラノ)
af-south-1 アフリカ (ケープタウン)
eu-north-1 欧州 (ストックホルム)
sa-east-1 南米 (サンパウロ)
us-gov-west-1 AWS GovCloud (米国西部)
us-gov-east-1 AWS GovCloud (米国東部)

以下は特定の種類のコマンドの集計で、info commandstats から算出されています。commandstats セクションには、コール数、これらのコマンドによって消費された合計 CPU 時間、およびコマンド実行あたりの平均 CPU 消費など、コマンドタイプに基づいた統計情報が表示されます。コマンドタイプごとに、次の行が追加されます: cmdstat_XXX: calls=XXX,usec=XXX,usec_per_call=XXX

以下に示すレイテンシーメトリクスは、INFO からの commandstats 統計を使用して計算されます。それらは次のように計算されます: delta(usec)/delta(calls)delta は、1 分以内の差分として計算されます。レイテンシーは、ElastiCache がコマンドを処理するのにかかった CPU 時間として定義されます。データ階層化を使用するクラスターの場合、SSD から項目を取得するのにかかる時間はこれらの測定に含まれないことにご注意ください。

利用可能なコマンドの完全なリストについては、Valkey ドキュメントの「commands」を参照してください。

メトリクス 説明 [単位]
ClusterBasedCmds クラスターベースのコマンドの総数。これは、クラスターに対して実行されるすべてのコマンド (cluster slotcluster info など) を合計することによって commandstats 統計から算出されます。 カウント
ClusterBasedCmdsLatency クラスターベースのコマンドのレイテンシー。 マイクロ秒
EvalBasedCmds eval ベースのコマンドの合計数。これは、evalevalsha を合計することによって commandstats 統計から算出されます。 カウント
EvalBasedCmdsLatency Eval ベースのコマンドのレイテンシー。 マイクロ秒
GeoSpatialBasedCmds 地理空間ベースのコマンドの総数。これは commandstats 統計から算出されます。これは、すべての geo の種類のコマンド (geoaddgeodistgeohashgeoposgeoradius、および georadiusbymember) を合計することによって算出されます。 カウント
GeoSpatialBasedCmdsLatency 地理空間ベースのコマンドのレイテンシー。 マイクロ秒
GetTypeCmds read-only 型のコマンドの合計数。これは、すべての read-only の種類のコマンド (gethgetscardlrange など) を合計することによって commandstats 統計から算出されます。 カウント
GetTypeCmdsLatency 読み取りコマンドのレイテンシー。 マイクロ秒
HashBasedCmds ハッシュベースのコマンドの総数。これは、1 つ以上のハッシュに対して実行されるすべてのコマンド (hgethkeyshvalshdel など) を合計することによって commandstats 統計から算出されます。 カウント
HashBasedCmdsLatency ハッシュベースのコマンドのレイテンシー。 マイクロ秒
HyperLogLogBasedCmds HyperLogLog ベースのコマンドの合計数。これは、すべての pf の種類のコマンド (pfaddpfcountpfmerge など) を合計することによって commandstats 統計から算出されます。 カウント
HyperLogLogBasedCmdsLatency HyperLogLogBased コマンドのレイテンシー。 マイクロ秒
JsonBasedCmds 読み取りコマンドと書き込みコマンドの両方を含む JSON コマンドの合計数。これは、JSON キーに対して実行されるすべての JSON コマンドを合計することによって commandstats 統計から算出されます。 カウント
JsonBasedCmdsLatency 読み取りコマンドと書き込みコマンドの両方を含む、すべての JSON コマンドのレイテンシー。 マイクロ秒
JsonBasedGetCmds JSON 読み取り専用コマンドの合計数。これは、JSON キーに対して実行されるすべての JSON 読み取りコマンドを合計することによって commandstats 統計から算出されます。 カウント
JsonBasedGetCmdsLatency JSON 読み取り専用コマンドのレイテンシー。 マイクロ秒
JsonBasedSetCmds JSON 書き込みコマンドの合計数。これは、JSON キーに対して実行されるすべての JSON 書き込みコマンドを合計することによって commandstats 統計から算出されます。 カウント
JsonBasedSetCmdsLatency JSON 書き込みコマンドのレイテンシー。 マイクロ秒
KeyBasedCmds キーベースのコマンドの総数。これは、複数のデータ構造で 1 つ以上のキーに対して実行されるすべてのコマンド (delexpirerename など) を合計することによって、commandstats 統計から算出されます。 カウント
KeyBasedCmdsLatency キーベースのコマンドのレイテンシー。 マイクロ秒
ListBasedCmds リストベースのコマンドの総数。これは、1 つ以上のリストに対して実行されるすべてのコマンド (lindexlrangelpushltrim など) を合計することによって commandstats 統計から算出されます。 カウント
ListBasedCmdsLatency リストベースのコマンドのレイテンシー。 マイクロ秒
NonKeyTypeCmds キーベースではないコマンドの合計数。これは、キーに対して実行されないすべてのコマンド (acldbsizeinfo など) を合計することによって commandstats 統計から算出されます。 カウント
NonKeyTypeCmdsLatency キーベースではないのコマンドのレイテンシー。 マイクロ秒
PubSubBasedCmds pub/sub 機能のコマンドの総数。これは、pub/sub 機能で使用されるすべてのコマンド (psubscribepublishpubsubpunsubscribessubscribesunsubscribespublishsubscribeunsubscribe) を合計することによって commandstats 統計から算出されます。 カウント
PubSubBasedCmdsLatency PubSubBased コマンドのレイテンシー。 マイクロ秒
SetBasedCmds セットベースのコマンドの総数。これは、1 つ以上のセットに対して実行されるすべてのコマンド (scardsdiffsaddsunion など) を合計することによって commandstats 統計から算出されます。 カウント
SetBasedCmdsLatency セットベースのコマンドのレイテンシー。 マイクロ秒
SetTypeCmds write 型のコマンドの合計数。これは、データ上で動作する mutative の種類のすべてのコマンド (sethsetsaddlpop など) を合計することによって commandstats 統計から算出されます。 カウント
SetTypeCmdsLatency 書き込みコマンドのレイテンシー。 マイクロ秒
SortedSetBasedCmds ソートされたセットベースのコマンドの総数。これは、1 つ以上のソートされたセットに対して実行されるすべてのコマンド (zcountzrangezrankzadd など) を合計することによって commandstats 統計から算出されます。 カウント
SortedSetBasedCmdsLatency ソートベースのコマンドのレイテンシー。 マイクロ秒
StringBasedCmds 文字列ベースのコマンドの総数。これは、1 つ以上の文字列に対して実行されるすべてのコマンド (strlensetexsetrange など) を合計することによって commandstats 統計から算出されます。 カウント
StringBasedCmdsLatency 文字列ベースのコマンドのレイテンシー。 マイクロ秒
StreamBasedCmds ストリームベースのコマンドの総数。これは、1 つ以上のストリームデータの種類に対して実行されるすべてのコマンド (xrangexlenxaddxdel など) を合計することによって commandstats 統計から算出されます。 カウント
StreamBasedCmdsLatency ストリームベースのコマンドのレイテンシー。 マイクロ秒