Valkey 和 Redis OSS 的指標 - Amazon ElastiCache

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Valkey 和 Redis OSS 的指標

Amazon ElastiCache 命名空間包含下列 Valkey 和 Redis OSS 指標。使用 Valkey 引擎時,這些指標相同。

除了 ReplicationLagSuccessfulWriteRequestLatencyEngineCPUUtilization和 之外SuccessfulReadRequestLatency,這些指標都衍生自 info命令。每個指標都是在快取模式層級進行計算。

如需 info命令的完整文件,請參閱 https://http://valkey.io/commands/info

另請參閱

指標 描述 單位
ActiveDefragHits 作用中重組程序每分鐘執行的值重新配置次數。這是衍生自 INFO active_defrag_hits 的統計資料。 Number
AuthenticationFailures 使用 AUTH 命令向 Valkey 或 Redis OSS 驗證失敗的嘗試總數。如需個別身分驗證失敗的詳細資訊,請使用 ACL LOG 命令。建議對此設定警示,以偵測未經授權的存取嘗試。 計數
BytesUsedForCache 由 Valkey 或 Redis OSS 配置用於所有目的的位元組總數,包括資料集、緩衝區等。 位元組
Dimension: Tier=Memory 適用於使用 的 Valkey 或 Redis OSS 叢集ElastiCache 中的資料分層:用於記憶體快取的位元組總數。這是 INFO used_memory 的統計資料值。 位元組
Dimension: Tier=SSD 適用於使用 的 Valkey 或 Redis OSS 叢集ElastiCache 中的資料分層:用於 SSD 快取的位元組總數。 位元組
BytesReadFromDisk 每分鐘從磁碟讀取的位元組總數。僅支援使用 ElastiCache 中的資料分層 的叢集。 位元組
BytesWrittenToDisk 每分鐘寫入磁碟的位元組總數。僅支援使用 ElastiCache 中的資料分層 的叢集。 位元組
CacheHits 主字典中的成功唯讀索引鍵查詢次數。這是衍生自 INFO keyspace_hits 的統計資料。 計數
CacheMisses 主字典中的未成功唯讀索引鍵查詢次數。這是衍生自 INFO keyspace_misses 的統計資料。 計數
CommandAuthorizationFailures 使用者嘗試執行他們沒有呼叫許可的命令失敗總次數。如需個別身分驗證失敗的詳細資訊,請使用 ACL LOG 命令。建議對此設定警示,以偵測未經授權的存取嘗試。 計數
CacheHitRate 指出 Valkey 或 Redis OSS 執行個體的使用效率。如果快取率低於大約 0.8,表示有大量金鑰移出、過期或不存在。這是使用 cache_hitscache_misses 統計資料以下列方式計算的:cache_hits /(cache_hits + cache_misses) 百分比
ChannelAuthorizationFailures 使用者嘗試存取他們沒有存取許可的金鑰失敗總次數。如需個別身分驗證失敗的詳細資訊,請使用 ACL LOG 命令。建議對此設定警示,以偵測未經授權的存取嘗試。 計數
CurrConnections 用戶端連線數,不包含僅供讀取複本的連線。ElastiCache 會使用 4 到 6 個連線來監控叢集。這是衍生自 INFO connected_clients 的統計資料。 計數
CurrItems 快取中的項目數。這衍生自 keyspace統計資料,加總了整個金鑰空間中的所有金鑰。 計數
Dimension: Tier=Memory 適用於使用 ElastiCache 中的資料分層 的叢集。記憶體中的項目數。 計數
Dimension: Tier=SSD (固態硬碟) 適用於使用 ElastiCache 中的資料分層 的叢集。SSD 中的項目數。 計數
CurrVolatileItems 所有資料庫中已設定 ttl 的金鑰總數。這衍生自 expires統計資料,以整個金鑰空間中設定的 ttl 加總所有金鑰。 計數
DatabaseCapacityUsagePercentage

使用中叢集之總資料容量百分比。

在資料分層執行個體上,指標計算為 (used_memory - mem_not_counted_for_evict + SSD used) / (maxmemory + SSD total capacity),其中 maxmemory used_memory和 取自 INFO

在所有其他情況下,會使用 計算指標used_memory/maxmemory

百分比
DatabaseCapacityUsageCountedForEvictPercentage

叢集使用的總資料量百分比,不包含用於額外負荷和 COB 的記憶體。此指標的計算方式為:

used_memory - mem_not_counted_for_evict/maxmemory

在資料分層執行個體上,指標的計算方式為:

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

其中 maxmemory used_memory和 是從 INFO 取得

百分比
DatabaseMemoryUsagePercentage 叢集使用之記憶體百分比。這是used_memory/maxmemory使用 INFO 計算。 百分比
DatabaseMemoryUsageCountedForEvictPercentage 叢集使用的記憶體百分比,不包含用於額外負荷和 COB 的記憶體。這是used_memory-mem_not_counted_for_evict/maxmemory使用 INFO 計算。 百分比
DB0AverageTTL INFO keyspace 命令的統計資料公開 avg_ttl DBO。複本不會使金鑰過期,而會等待主節點讓金鑰過期。當主節點讓金鑰過期(或因為 LRU 而移出)時,其會合成一道 DEL 命令並傳輸到所有複本。因此,複本節點的 DB0AverageTTL 為 0,因提不會使金鑰過期,因此不會追蹤 TTL。 毫秒
EngineCPUUtilization

提供 Valkey 或 Redis OSS 引擎執行緒的 CPU 使用率。由於 Valkey 和 Redis OSS 是單執行緒,因此您可以使用此指標來分析程序本身的負載。EngineCPUUtilization 指標可提供更精確的程序可見性。您可以用來搭配 CPUUtilization 指標,CPUUtilization 會呈現整體伺服器執行個體的 CPU 使用率,包括其他作業系統與管理程序。對於具有 4 個或以上 vCPU 的大型節點類型,請使用 EngineCPUUtilization 指標來監控擴展並設定閾值。

注意

在 ElastiCache 主機上,背景處理程序會監控主機,以提供受管資料庫體驗。這些背景處理程序可能會佔用大部分的 CPU 工作負載。在具有 2 個以上 vCPU 的大型主機上,這並不重要。但它可能會影響具有 2vCPU 或更少的較小主機。如果您只監控EngineCPUUtilization指標,則不會知道主機因來自 Valkey 或 Redis OSS 的高 CPU 用量和來自背景監控程序的高 CPU 用量而過載的情況。因此,建議您針對具有 2 個 vCPU 或更少的主機監控 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 LOG 命令。建議對此設定警示,以偵測未經授權的存取嘗試。 計數
KeysTracked Valkey 或 Redis OSS 金鑰追蹤所追蹤的金鑰數量,以 的百分比表示tracking-table-max-keys。金鑰追蹤用來協助用戶端快取,並在金鑰修改時通知用戶端。 計數
MemoryFragmentationRatio 指出配置 Valkey 或 Redis OSS 引擎記憶體時的效率。某些閾值表示不同的行為。建議的值是具有 1.0 以上的片段。這是從 INFO mem_fragmentation_ratio statistic的 計算。 Number
NewConnections 在此期間內,伺服器已接受的連線總數。這衍生自 INFO total_connections_received 的統計資料。
注意

如果您使用的是 ElastiCache for Redis OSS 第 5 版或更低版本,則 ElastiCache 會使用此指標所回報的 2 到 4 個連線來監控叢集。不過,使用 ElastiCache for Redis OSS 第 6 版或更新版本時,ElastiCache 用來監控叢集的連線不會包含在此指標中。

計數
NumItemsReadFromDisk 每分鐘從磁碟檢索的項目總數。僅支援使用 ElastiCache 中的資料分層 的叢集。 計數
NumItemsWrittenToDisk 每分鐘寫入磁碟的項目總數。僅支援使用 ElastiCache 中的資料分層 的叢集。 計數
MasterLinkHealthStatus 此狀態有兩個值:0 或 1。值 0 表示 ElastiCache 主節點中的資料未與 EC2 上的 Valkey 或 Redis OSS 同步。值為 1 表示資料同步。若要完成遷移,請使用 CompleteMigration API 作業。 Boolean
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 的統計資料。 Boolean
TrafficManagementActive 指出 ElastiCache for Redis OSS 是否透過調整配置給傳入命令、監控或複寫的流量來主動管理流量。當傳送的命令超過 Valkey 或 Redis OSS 可以處理的數目時,流量會受到管理,並用來維持引擎的穩定性和最佳操作。任何資料點為 1 可能表示節點的規模不足以因應所提供的工作負載。
注意

如果此指標保持作用中狀態,請評估叢集,以決定是否需要縱向擴展或橫向擴展。相關指標包括 NetworkBandwidthOutAllowanceExceededEngineCPUUtilization

Boolean
SuccessfulWriteRequestLatency

寫入請求成功的延遲。

有效統計資料:平均、總和、最小值、最大值、範例計數、p0 和 p100 之間的任何百分位數。範例計數僅包含已成功執行的命令。

微秒
SuccessfulReadRequestLatency

成功讀取請求的延遲。

有效統計資料:平均、總和、最小值、最大值、範例計數、p0 和 p100 之間的任何百分位數。範例計數僅包含已成功執行的命令。

微秒
ErrorCount

在指定期間內失敗的命令總數。

有效統計資料:平均值、總和、最小值、最大值

計數
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 Asia Pacific (Mumbai)
ap-southeast-1 亞太區域 (新加坡)
ap-southeast-2 亞太區域 (悉尼)
ap-southeast-3 亞太區域 (雅加達)
ca-central-1 加拿大 (中部)
cn-north-1 中國 (北京)
cn-northwest-2 中國 (寧夏)
me-south-1 Middle East (Bahrain)
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 計算為一分鐘內的差異。延遲定義為 ElastiCache 處理命令所需要的 CPU 時間。請注意,對於使用資料分層的叢集,從 SSD 擷取項目所需要的時間並未包含在這些量測中。

如需可用命令的完整清單,請參閱 Valkey 文件中的命令

指標 描述 單位
ClusterBasedCmds 叢集類型命令總數。這透過加總對叢集 (cluster slotcluster info等) 採取行動的所有命令,衍生自commandstats統計資料。 計數
ClusterBasedCmdsLatency 以叢集為基礎之命令的延遲。 微秒
EvalBasedCmds 以 eval 為基礎之命令的命令總數。這是透過加總 commandstats eval、 衍生自統計資料evalsha 計數
EvalBasedCmdsLatency 以 eval 為基礎之命令的延遲。 微秒
GeoSpatialBasedCmds 以 geospatial- 為基礎的之命令的命令總數。這是衍生自commandstats統計資料。加總了下列 geo 類型的所有命令而得出:geoaddgeodistgeohashgeoposgeoradiusgeoradiusbymember 計數
GeoSpatialBasedCmdsLatency 以 geospatial 為基礎之命令的延遲。 微秒
GetTypeCmds read-only 類型命令的總數。這是透過加總所有read-only類型命令 commandstats (getlrange、、 等) hget scard衍生自統計資料。 計數
GetTypeCmdsLatency 讀取命令的延遲。 微秒
HashBasedCmds 雜湊類型命令總數。這透過加總處理一或多個雜湊 (hgethkeyshdel、 等) hvals的所有命令,衍生自 commandstats統計資料。 計數
HashBasedCmdsLatency 以 hash 為基礎之命令的延遲。 微秒
HyperLogLogBasedCmds HyperLogLog 為基礎的命令總數。這透過加總所有pf類型的命令 commandstats (pfaddpfmergepfcount等) 來衍生自統計資料。 計數
HyperLogLogBasedCmdsLatency 以 HyperLogLog 為基礎之命令的延遲。 微秒
JsonBasedCmds JSON 命令的總數,包括讀取和寫入命令。這透過加總對 JSON commandstats 金鑰採取行動的所有 JSON 命令,衍生自統計資料。 計數
JsonBasedCmdsLatency 所有 JSON 命令的延遲,包括讀取和寫入命令。 微秒
JsonBasedGetCmds JSON 唯讀命令的總數。這透過加總對 JSON commandstats 金鑰作用的所有 JSON 讀取命令,衍生自統計資料。 計數
JsonBasedGetCmdsLatency JSON 唯讀命令的延遲。 微秒
JsonBasedSetCmds JSON 寫入命令的總數。這透過加總對 JSON commandstats 金鑰作用的所有 JSON 寫入命令,衍生自統計資料。 計數
JsonBasedSetCmdsLatency JSON 寫入命令的延遲。 微秒
KeyBasedCmds 金鑰類型命令總數。這透過加總在多個資料結構 (delrename、 等) expire中對一或多個索引鍵執行動作的所有命令,衍生自commandstats統計資訊。 計數
KeyBasedCmdsLatency 以 key 為基礎之命令的延遲。 微秒
ListBasedCmds 清單類型命令總數。這透過加總對一或多個清單 (lindexlrangeltrim、 等) lpush執行動作的所有命令,衍生自commandstats統計資料。 計數
ListBasedCmdsLatency 以 list 為基礎之命令的延遲。 微秒
NonKeyTypeCmds 非金鑰型命令的總數。這透過加總所有不對金鑰採取行動的命令,例如 acldbsize或 ,衍生自 commandstats統計資料info 計數
NonKeyTypeCmdsLatency 非金鑰型命令的延遲。 微秒
PubSubBasedCmds pub/sub 功能的命令總數。這透過加總用於 pub/sub 功能的所有命令來衍生自commandstats統計資料:psubscribe、、publishpubsubpunsubscribessubscribesunsubscribe、、 spublishsubscribeunsubscribe 計數
PubSubBasedCmdsLatency 以 pub/sub 為基礎之命令的延遲。 微秒
SetBasedCmds 集合類型命令總數。這透過加總對一或多個集 (scardsdiffsunion、 等) sadd執行動作的所有命令,衍生自 commandstats統計資料。 計數
SetBasedCmdsLatency 以 set 為基礎之命令的延遲。 微秒
SetTypeCmds write 類型命令的總數。這透過加總在資料 (sethsetlpop、 等) sadd上操作的所有命令mutative類型,衍生自 commandstats統計資料。 計數
SetTypeCmdsLatency 寫入命令的延遲。 微秒
SortedSetBasedCmds 有序集合類型命令總數。這透過加總對一或多個排序集 (zcountzrangezadd、 等) zrank執行動作的所有命令,衍生自commandstats統計資訊。 計數
SortedSetBasedCmdsLatency 以 sorted 為基礎之命令的延遲。 微秒
StringBasedCmds 字串類型命令總數。這透過加總對一或多個字串 (strlensetrange、 等) setex採取行動的所有命令,衍生自commandstats統計資料。 計數
StringBasedCmdsLatency 以 string 為基礎之命令延遲。 微秒
StreamBasedCmds 串流類型命令總數。這透過加總處理一或多個串流資料類型 (xrangexlenxdel、 等) xadd的所有命令,衍生自commandstats統計資訊。 計數
StreamBasedCmdsLatency 以 stream 為基礎之命令的延遲。 微秒