Valkey 和 Redis 的指標 OSS - Amazon ElastiCache

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

Valkey 和 Redis 的指標 OSS

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

除了 ReplicationLag和 之外EngineCPUUtilization,這些指標是從 info命令衍生而來。每個指標都是在快取模式層級進行計算。

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

另請參閱

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

used_memorymaxmemory 的來源 INFO

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

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

注意

在 ElastiCache 主機上,背景程序會監控主機以提供受管資料庫體驗。這些背景程序可能會佔用CPU工作負載的很大一部分。這對於超過兩個 的大型主機來說並不重要vCPUs。但可能會影響 2 個vCPUs 或更少的小型主機。如果您只監控EngineCPUUtilization指標,則不會知道主機因來自 Valkey 或 Redis 的高CPU用量OSS和來自背景監控程序的高CPU用量而過載的情況。因此,我們建議監控兩個vCPUs或更少主機的CPUUtilization指標。

百分比
Evictions maxmemory 限制而移出的金鑰數目。這是衍生自 的evicted_keys統計資料INFO 計數
GlobalDatastoreReplicationLag 這是次要區域的主節點和主要區域的主節點之間的延遲。對於啟用叢集模式的 Valkey 或 Redis OSS,延遲表示碎片之間的最大延遲。 秒鐘
IamAuthenticationExpirations 過期IAM且經過驗證的 Valkey 或 Redis OSS連線總數。您可以在使用者指南中找到有關 使用 驗證 IAM 的詳細資訊。 計數
IamAuthenticationThrottling 限流 IAM- 驗證的 Valkey 或 Redis OSSAUTH或HELLO請求總數。您可以在使用者指南中找到有關 使用 驗證 IAM 的詳細資訊。 計數
IsMaster 指出節點是否為目前碎片/叢集的主節點。指標可能是 0 (非主要) 或 1 (主要)。 計數
KeyAuthorizationFailures 使用者嘗試存取他們沒有存取許可的金鑰失敗總次數。您可以使用 ACLLOG命令來尋找個別身分驗證失敗的詳細資訊。建議對此設定警示,以偵測未經授權的存取嘗試。 計數
KeysTracked Valkey 或 Redis 金鑰追蹤所追蹤的OSS金鑰數目,以 的百分比表示tracking-table-max-keys。金鑰追蹤用來協助用戶端快取,並在金鑰修改時通知用戶端。 計數
MemoryFragmentationRatio 指示配置 Valkey 或 Redis OSS引擎記憶體的效率。某些閾值表示不同的行為。建議的值是具有 1.0 以上的片段。這是從 mem_fragmentation_ratio statistic的 計算INFO Number
NewConnections 在此期間內,伺服器已接受的連線總數。這是衍生自 的total_connections_received統計資料INFO
注意

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

計數
NumItemsReadFromDisk 每分鐘從磁碟檢索的項目總數。僅支援使用 中的資料分層 ElastiCache 的叢集。 計數
NumItemsWrittenToDisk 每分鐘寫入磁碟的項目總數。僅支援使用 中的資料分層 ElastiCache 的叢集。 計數
MasterLinkHealthStatus 此狀態有兩個值:0 或 1。值 0 表示主節點中的 ElastiCache資料未與 OSS上的 Valkey 或 Redis 同步EC2。值為 1 表示資料同步。若要完成遷移,請使用 CompleteMigrationAPI操作。 Boolean
Reclaimed 金鑰過期事件總數。這是衍生自 的expired_keys統計資料INFO 計數
ReplicationBytes 針對複寫組態中的節點,ReplicationBytes 會報告主節點傳送給其所有複本的位元組數。此指標代表複寫群組上的寫入負載。這是衍生自 的master_repl_offset統計資料INFO 位元組
ReplicationLag 此指標僅適用於以讀取複本形式執行的節點。它代表複本要多久的時間 (秒) 才會套用主要節點變更。對於 Valkey 7.2 及更新版本,以及 Redis OSS引擎 5.0.6 版更新版本,延遲可以毫秒為單位進行測量。 秒鐘
SaveInProgress 只要進行背景儲存 (延伸或無延伸),此二進位指標就會傳回 1,否則為 0。背景儲存程序一般是在快照與同步期間使用。這些操作可能會導致效能降低。使用 SaveInProgress 指標,您可以診斷效能降低是否為背景儲存程序所造成。這是衍生自 的rdb_bgsave_in_progress統計資料INFO Boolean
TrafficManagementActive 指示 ElastiCache (Redis OSS) 是否透過調整配置給傳入命令、監控或複寫的流量來主動管理流量。當傳送的命令超過 Valkey 或 Redis 可以處理的數目時,會管理流量,OSS並用於維持引擎的穩定性和最佳操作。任何資料點為 1 可能表示節點的規模不足以因應所提供的工作負載。
注意

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

Boolean
E ngineCPUUtilization 可用性

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 的特定命令類型彙整。命令統計資料區段會根據命令類型提供統計資料,包括呼叫次數、這些命令耗用的總CPU時間,以及每個命令執行的平均CPU耗用量。對於每個命令類型,都會新增下列行:cmdstat_XXX: calls=XXX,usec=XXX,usec_per_call=XXX

下列延遲指標是使用來自 的 commandstats 統計資料計算INFO。它們的計算方式如下: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類型命令 commandstatsgetlrange、、 等) hget scard來衍生自統計數字。 計數
GetTypeCmdsLatency 讀取命令的延遲。 微秒
HashBasedCmds 雜湊類型命令總數。這透過加總對一或多個雜湊 (hgethkeyshdel、 等) hvals採取行動的所有命令,衍生自commandstats統計資料。 計數
HashBasedCmdsLatency 以 hash 為基礎之命令的延遲。 微秒
HyperLogLogBasedCmds HyperLogLog 為基礎的命令總數。這是透過加總所有pf類型的命令 commandstatspfaddpfmergepfcount等) 來衍生自統計資料。 計數
HyperLogLogBasedCmdsLatency HyperLogLog以 為基礎的命令延遲。 微秒
JsonBasedCmds JSON 命令的總數,包括讀取和寫入命令。這透過加總對JSON索引鍵執行動作的所有JSON命令,從commandstats統計資料衍生而來。 計數
JsonBasedCmdsLatency 所有JSON命令的延遲,包括讀取和寫入命令。 微秒
JsonBasedGetCmds JSON 唯讀命令的總數。這透過加總對JSON金鑰採取行動的所有JSON讀取命令,從commandstats統計衍生而來。 計數
JsonBasedGetCmdsLatency JSON 唯讀命令的延遲。 微秒
JsonBasedSetCmds JSON 寫入命令的總數。這是透過加總對JSON金鑰採取行動的所有JSON寫入命令,從commandstats統計資料衍生而來。 計數
JsonBasedSetCmdsLatency JSON 寫入命令的延遲。 微秒
KeyBasedCmds 金鑰類型命令總數。這透過加總對多個資料結構 (delrename、 等) expire中的一或多個索引鍵執行動作的所有命令,從commandstats統計資訊衍生而來。 計數
KeyBasedCmdsLatency 以 key 為基礎之命令的延遲。 微秒
ListBasedCmds 清單類型命令總數。這透過加總對一或多個清單 (lindexlrangeltrim、 等) lpush執行動作的所有命令,衍生自commandstats統計資料。 計數
ListBasedCmdsLatency 以 list 為基礎之命令的延遲。 微秒
NonKeyTypeCmds 非金鑰型命令的總數。這透過加總所有不對金鑰採取行動的命令,例如 acldbsize或 ,從commandstats統計資料衍生而來info 計數
NonKeyTypeCmdsLatency 命令的 non-key-based延遲。 微秒
PubSubBasedCmds pub/sub 功能的命令總數。這透過加總用於 pub/sub 功能的所有命令來衍生自commandstats統計資料:psubscribepublishpubsubpunsubscribessubscribesunsubscribe、、 spublish subscribeunsubscribe 計數
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 為基礎之命令的延遲。 微秒