本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Valkey 和 Redis OSS 的指标
Amazon ElastiCache 命名空间包括以下 Valkey 和 Redis OSS 指标。使用 Valkey 引擎时,这些指标是相同的。
除 ReplicationLag、EngineCPUUtilization、SuccessfulWriteRequestLatency 和 SuccessfulReadRequestLatency 之外,这些指标均源自 info 命令。每项指标均是按照缓存节点级计算的。
有关该info命令的完整文档,请参见http://valkey.io/commands/info
另请参阅
| 指标 | 说明 | 单位 |
|---|---|---|
ActiveDefragHits |
活动碎片整理进程每分钟执行的值重新分配数。这是根据 INFOactive_defrag_hits 统计数据得出的。 |
数字 |
AuthenticationFailures |
使用 AUTH 命令对 Valkey 或 Redis OSS 进行身份验证时的总失败尝试次数。您可以使用 ACL LOG |
计数 |
BytesUsedForCache |
Valkey 或 Redis OSS 为所有目的(包括数据集、缓冲区等)分配的字节的总数。 | 字节 |
在 数据分层 ElastiCache 中使用 Dimension: Tier=Memory for Valkey 或 Redis OSS 集群:内存所使用的总字节数。这是 INFOused_memory 统计数据的值。 |
字节 | |
在 数据分层 ElastiCache 中使用 Dimension: Tier=SSD for Valkey 或 Redis OSS 集群:内存所使用的总字节数。 |
字节 | |
BytesReadFromDisk |
每分钟从磁盘读取的总字节数。仅支持使用数据分层 ElastiCache功能的集群。 | 字节 |
BytesWrittenToDisk |
每分钟写入磁盘的总字节数。仅支持使用数据分层 ElastiCache功能的集群。 | 字节 |
CacheHits |
主字典中成功的只读键查找次数。这是根据 INFOkeyspace_hits 统计数据得出的。 |
计数 |
CacheMisses |
主字典中失败的只读键查找次数。这是根据 INFOkeyspace_misses 统计数据得出的。 |
计数 |
CommandAuthorizationFailures |
用户运行其无权限调用的命令的失败尝试次数。您可以使用 ACL LOG |
计数 |
CacheHitRate |
表示 Valkey 或 Redis OSS 实例的使用效率。如果缓存比率低于 0.8 左右,则意味着大量的密钥被移出、过期或不存在。这是使用 cache_hits 和 cache_misses 统计数据按以下方式计算的:cache_hits /(cache_hits +
cache_misses)。 |
百分比 |
ChannelAuthorizationFailures |
用户访问其无权限访问的通道的失败尝试次数。您可以使用 ACL LOG |
计数 |
CurrConnections |
客户端连接数,不包括来自只读副本的连接。 ElastiCache 在每种情况下,都使用 4 到 6 个连接来监视集群。这是根据 INFOconnected_clients 统计数据得出的。 |
计数 |
CurrItems |
缓存中的项目数。这是根据 keyspace 统计数据得出的,方法是计算整个键空间中所有键的总和。 |
计数 |
Dimension: Tier=Memory(对于使用数据分层 ElastiCache功能的集群)。内存中的项目数。 |
计数 | |
Dimension: Tier=SSD(固态硬盘)(对于使用数据分层 ElastiCache功能的 Redis 集群)。SSD 中的项目数。 |
计数 | |
CurrVolatileItems |
所有数据库中具有 ttl 集的键的总数。这是根据 expires 统计数据得出的,方法是计算整个键空间中有 ttl 集的所有键的总和。 |
计数 |
CurrItemsWithVolatileFields |
包含已设置过期时间的哈希字段的密钥数量。适用于 Valkey 9.0 及更高版本。 | 计数 |
ReclaimedFields |
活跃过期过程回收的过期哈希字段的数量。适用于 Valkey 9.0 及更高版本。 | 计数 |
DatabaseCapacityUsagePercentage |
集群的总数据容量中正在使用的百分比。 在数据分层实例上,指标的计算方式为 在所有其他情况下,使用 |
百分比 |
DatabaseCapacityUsageCountedForEvictPercentage |
集群的总数据容量中正在使用的百分比(不含用于开销和 COB 的内存)。该指标的计算方式如下:
在数据分层实例上,该指标的计算方式如下:
其中, |
百分比 |
DatabaseMemoryUsagePercentage |
集群中正在使用的内存的百分比。这是使用 used_memory/maxmemory 从 INFO |
百分比 |
DatabaseMemoryUsageCountedForEvictPercentage |
集群中正在使用的内存的百分比(不含用于开销和 COB 的内存)。这是使用 used_memory-mem_not_counted_for_evict/maxmemory 从 INFO |
百分比 |
DB0AverageTTL |
根据 INFOkeyspace 统计数据公开 DBO 的 avg_ttl。副本不会使密钥过期,而是等待主节点使密钥过期。当主节点使密钥过期(或由于 LRU 而将其逐出)时,它将合成一个 DEL 命令,该命令将传送到所有副本。因此,对于副本节点,DB0AverageTTL 为 0,因为它们不会使密钥过期,因而不会跟踪 TTL。 |
毫秒 |
EngineCPUUtilization |
提供 Valkey 或 Redis OSS 引擎线程的 CPU 使用率。由于 Valkey 和 Redis OSS 为单线程,您可以使用该指标来分析该进程本身的负载。 注意 在 ElastiCache 主机上,后台进程监视主机以提供托管数据库体验。这些后台进程可能会占用很大一部分 CPU 工作负载。这在具有两个以上 vCPU 的大型主机上影响不大,但在 vCPU 个数不超过 2 个的小型主机上影响较大。如果仅监控 |
百分比 |
Evictions |
由于 maxmemory 限制而被驱逐的密钥数。这是根据 INFOevicted_keys 统计数据得出的。 |
计数 |
GlobalDatastoreReplicationLag |
此为辅助区域的主节点与主区域的主节点之间的滞后。对于已启用集群模式的 Valkey 或 Redis OSS,滞后表示分片之间的最大延迟。 | 秒 |
IamAuthenticationExpirations |
过期的 IAM-authenticated Valkey 或 Redis OSS 连接总数。您可以在用户指南中找到有关 使用 IAM 进行身份验证 的更多信息。 | 计数 |
IamAuthenticationThrottling |
受限制的 IAM-authenticated Valkey 或 Redis OSS AUTH 或 HELLO 请求的总数。您可以在用户指南中找到有关 使用 IAM 进行身份验证 的更多信息。 | 计数 |
IsMaster |
表示该节点是否为当前的主节点 shard/cluster。指标可以是 0(非主节点)或 1(主节点)。 | 计数 |
KeyAuthorizationFailures |
用户访问其无权限访问的密钥的失败尝试次数。您可以使用 ACL LOG |
计数 |
KeysTracked |
Valkey 或 Redis OSS 键跟踪所跟踪的键数占 tracking-table-max-keys 的百分比。密钥跟踪用于帮助客户端侧缓存,并在修改密钥时通知客户端。 |
计数 |
MemoryFragmentationRatio |
表示 Valkey 或 Redis OSS 引擎的内存分配效率。某些阈值将表示不同的行为。建议的值是让碎片化大于 1.0。这是根据 INFOmem_fragmentation_ratio statistic 计算得出的。 |
数字 |
NewConnections |
在此期间,服务器接受的连接总数。这是根据 INFOtotal_connections_received 统计数据得出的。注意如果您使用 ElastiCache 的是 Redis OSS 版本 5 或更低版本,则使用此指标报告的两到四个连接 ElastiCache 来监控集群。但是,在 Redis OSS 版本 6 或更高版本中使用 ElastiCache 时, ElastiCache 用于监控集群的连接不包含在此指标中。 |
计数 |
NumItemsReadFromDisk |
每分钟从磁盘检索的项目总数。仅支持使用数据分层 ElastiCache功能的集群。 | 计数 |
NumItemsWrittenToDisk |
每分钟写入磁盘的项目总数。仅支持使用数据分层 ElastiCache功能的集群。 | 计数 |
MasterLinkHealthStatus |
此状态有两个值:0 或 1。值 0 表示 ElastiCache主节点中的数据与 EC2 上的 Valkey 或 Redis OSS 不同步。值为 1 表示数据已同步。要完成迁移,请使用 CompleteMigrationAPI 操作。 | 布尔值 |
Reclaimed |
密钥过期事件的总数。这是根据 INFOexpired_keys 统计数据得出的。 |
计数 |
ReplicationBytes |
对于重复配置中的节点,ReplicationBytes 报告主项向其所有副本发送的字节数。此指标代表复制组上的写入负载。这是根据 INFOmaster_repl_offset 统计数据得出的。 |
字节 |
ReplicationLag |
该指标仅适用于作为只读副本运行的节点。它代表副本在应用主节点的改动方面滞后的时间(以秒为单位)。对于 Valkey 7.2 和更高版本以及 Redis OSS 5.0.6 和更高版本,滞后以毫秒计。 | 秒 |
SaveInProgress |
只要背景保存(forked 或 forkless)在进行中,此二进制指标均返回 1,否则会返回 0。在快照和同步期间,通常使用背景保存进程。这些操作会导致性能下降。使用 SaveInProgress 指标,您可以诊断性能下降是否由背景保存进程造成。这是根据 INFOrdb_bgsave_in_progress 统计数据得出的。 |
布尔值 |
TrafficManagementActive |
指示 Redis OSS 是否 ElastiCache 通过调整分配给传入命令、监控或复制的流量来主动管理流量。当发送到节点的命令多于 Valkey 或 Redis OSS 可以处理的命令时,流量就会受到管理,并用于保持引擎的稳定性和最佳运行状态。任何为 1 的数据点都可能表示节点对于所提供的工作负载而言规模过小。注意 如果此指标持续处于活动状态,请评估集群以确定是否需要纵向扩展或横向扩展。相关指标包括 |
布尔值 |
SuccessfulWriteRequestLatency |
成功写入请求的延迟。 有效统计量:平均值、总和、最小值、最大值、样本数、p0 到 p100 之间的任何百分位数。样本数仅包括成功执行的命令。 |
微秒 |
SuccessfulReadRequestLatency |
成功读取请求的延迟。 有效统计量:平均值、总和、最小值、最大值、样本数、p0 到 p100 之间的任何百分位数。样本数仅包括成功执行的命令。 |
微秒 |
ErrorCount |
指定时间段内失败命令的总数。 有效统计量:平均值、总和、最小值、最大值 |
计数 |
SearchNumberOfIndexes |
已创建的索引数量 |
计数 |
SearchTotalIndexedDocuments |
所有索引键总数 |
计数 |
SearchUsedMemoryBytes |
所有搜索数据结构消耗的内存字节数 |
字节 |
BlockedConnections |
当前处于屏蔽状态、正在等待阻塞命令的客户端数量,例如BLPOP。这源自 INFOblocked_clients字段。 |
计数 |
RejectedConnections |
引擎拒绝的连接数,主要是在连接的客户端数量达到maxclients限制时。这源自 INFOrejected_connections字段。 |
计数 |
PubSubChannels |
此节点上至少有一个订阅者的活跃 pub/sub 频道的数量。此计数不包括分片 pub/sub 频道。这源自 INFOpubsub_channels字段。 |
计数 |
PubSubShardChannels |
此节点上至少有一个订阅者的活动分片 pub/sub 频道的数量。分片频道仅在分片内路由消息,而不是在集群范围内广播。如果 pub/sub 信道数量随着利用率的增长而增长,可以考虑切换到分片 pub/sub 以进行水平扩展。这源自 INFOpubsubshard_channels字段。在 Valkey 7.2 及更高版本以及 Redis OSS 7.0 及更高版本上可用。 |
计数 |
UsedMemoryDataset |
实际用户数据(键和值)使用的内存的估计值(以字节为单位),不包括复制缓冲区、客户端输出缓冲区和内部元数据等开销。这源自 INFOused_memory_dataset字段。将此指标与之配合使用,BytesUsedForCache以了解实际数据消耗了多少内存与开销。在 Valkey 7.2 及更高版本以及 Redis OSS 4.0 及更高版本上可用。 |
字节 |
AllocatorFragmentationBytes |
由于分配器碎片而浪费的内存量(以字节为单位)。与反映包括不可操作 OS-level 因素在内的总进程 RSS 开销不同MemoryFragmentationRatio,该指标隔离了activedefrag引擎参数可以解决的碎片。这源自 INFOallocator_frag_bytes字段。 |
字节 |
AllocatorFragmentationRatio |
分配器碎片与分配内存总量的比率。高于 1.0 的值表示碎片;该值越高,碎片越严重。与反映包括不可操作 OS-level 因素在内的总进程 RSS 开销不同MemoryFragmentationRatio,该指标隔离了activedefrag引擎参数可以解决的碎片。这源自 INFOallocator_frag_ratio字段。 |
数字 |
ProcessedCommands |
引擎处理的命令总数。执行前被拒绝的命令不计算在内。这源自 INFOtotal_commands_processed字段。 |
计数 |
以下是一些类型的命令的集合,派生自 info
commandstats。commandstats 部分提供基于命令类型的统计数据,包括调用次数、这些命令消耗的总 CPU 时间以及每个命令执行所消耗的平均 CPU 时间。对于每种命令类型,都会添加以下行:cmdstat_XXX: calls=XXX,usec=XXX,usec_per_call=XXX。
下面列出的延迟指标是使用 INFOdelta(usec)/delta(calls)。delta 计算为一分钟内的差异。延迟定义为处理命令所花费 ElastiCache 的 CPU 时间。请注意,对于使用数据分层的集群,这些测量值并未包含从 SSD 提取项目所需的时间。
有关可用命令的完整列表,请参阅 Valkey 文档中的命令
| 指标 | 说明 | 单位 |
|---|---|---|
ClusterBasedCmds |
基于集群的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于集群(cluster info、cluster slot 等)的命令的总和。 |
计数 |
ClusterBasedCmdsLatency |
基于集群的命令的延迟。 | 微秒 |
EvalBasedCmds |
基于 eval 的命令的命令总数。这是根据 commandstats 统计数据得出的,方法是计算 eval、evalsha 的总和。 |
计数 |
EvalBasedCmdsLatency |
基于 Eval 的命令的延迟。 | 微秒 |
GeoSpatialBasedCmds |
基于地理空间的命令的命令总数。这是根据 commandstats 统计数据得出的。它是通过汇总所有地理类型的命令的总和得出的:geoadd、geodist、geohash、geopos、georadius 和 georadiusbymember。 |
计数 |
GeoSpatialBasedCmdsLatency |
基于地理空间的命令的延迟。 | 微秒 |
GetTypeCmds |
read-only 类型命令的总数。这是根据 commandstats 统计数据得出的,方法是计算所有 read-only 类型命令(get、hget、scard、lrange 等)的总和。 |
计数 |
GetTypeCmdsLatency |
读取命令的延迟。 | 微秒 |
HashBasedCmds |
基于哈希的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个哈希的命令(hget、hkeys、hvals、hdel 等)的总和。 |
计数 |
HashBasedCmdsLatency |
基于哈希的命令的延迟。 | 微秒 |
HyperLogLogBasedCmds |
基于 HyperLogLog 的命令的总数。这是根据 commandstats 统计数据得出的,方法是计算所有 pf 类型的命令(pfadd、pfcount、pfmerge 等)的总和。 |
计数 |
HyperLogLogBasedCmdsLatency |
HyperLogLog-based 命令延迟。 | 微秒 |
JsonBasedCmds |
JSON 命令的总数,包括读取和写入命令。这是根据 commandstats 统计数据得出的,方法是计算所有作用于 JSON 键的 JSON 命令的总和。 |
计数 |
JsonBasedCmdsLatency |
所有 JSON 命令的延迟,包括读取和写入命令。 | 微秒 |
JsonBasedGetCmds |
JSON 只读命令的总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于 JSON 键的 JSON 读取命令的总和。 |
计数 |
| JsonBasedGetCmdsLatency | JSON 只读命令的延迟。 | 微秒 |
| JsonBasedSetCmds | JSON 写入命令的总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于 JSON 键的 JSON 写入命令的总和。 |
计数 |
| JsonBasedSetCmdsLatency | JSON 写入命令的延迟。 | 微秒 |
KeyBasedCmds |
基于密钥的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于多个数据结构中的一个或多个键的命令(del、expire、rename 等)的总和。 |
计数 |
KeyBasedCmdsLatency |
基于键的命令的延迟。 | 微秒 |
ListBasedCmds |
基于列表的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个列表的命令(lindex、lrange、lpush、ltrim 等)的总和。 |
计数 |
ListBasedCmdsLatency |
基于列表的命令的延迟。 | 微秒 |
| NonKeyTypeCmds | 不基于键的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有不作用于某个键的命令(例如 acl、dbsize 或 info 等)的总和。 |
计数 |
| NonKeyTypeCmdsLatency | 不基于键的命令的延迟。 | 微秒 |
PubSubBasedCmds |
pub/sub 功能命令的总数。这是从commandstats统计数据中得出的,方法是将所有用于 pub/sub 功能的命令相加:psubscribepublish、pubsub、punsubscribe、ssubscribe、、sunsubscribe、spublishsubscribe、和unsubscribe。 |
计数 |
PubSubBasedCmdsLatency |
pub/sub基于命令的延迟。 | 微秒 |
SetBasedCmds |
基于设置的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个集合的命令(scard、sdiff、sadd、sunion 等)的总和。 |
计数 |
SetBasedCmdsLatency |
基于集合的命令的延迟。 | 微秒 |
SetTypeCmds |
write 类型命令的总数。这是根据 commandstats 统计数据得出的,方法是计算对数据执行操作的所有 mutative 类型的命令(set、hset、sadd、lpop 等)的总和。 |
计数 |
SetTypeCmdsLatency |
写入命令的延迟。 | 微秒 |
SortedSetBasedCmds |
基于设置的已排序命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个已排序集合的命令(zcount、zrange、zrank、zadd 等)的总和。 |
计数 |
SortedSetBasedCmdsLatency |
基于排序的命令的延迟。 | 微秒 |
StringBasedCmds |
基于字符串的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个字符串的命令(strlen、setex、setrange 等)的总和。 |
计数 |
StringBasedCmdsLatency |
基于字符串的命令的延迟。 | 微秒 |
StreamBasedCmds |
基于流的命令总数。这是根据 commandstats 统计数据得出的,方法是计算所有作用于一个或多个流数据类型的命令(xrange、xlen、xadd、xdel 等)的总和。 |
计数 |
StreamBasedCmdsLatency |
基于流的命令的延迟。 | 微秒 |
SearchBasedCmds |
Search 命令的总数,包括读取和写入命令。这是从 commandstats 统计数据通过汇总所有 Search 命令得出的。 | 计数 |
SearchBasedCmdsLatency |
所有 Search 命令的延迟,包括读取和写入命令。 | 微秒 |
SearchBasedGetCmds |
Search 只读命令的总数。这是从 commandstats 统计数据通过汇总所有 Search 读取命令得出的。 | 计数 |
SearchBasedGetCmdsLatency |
Search 只读命令的延迟。 | 微秒 |
SearchBasedSetCmds |
Search 写入命令的总数。这是从 commandstats 统计数据通过汇总所有 Search 写入命令得出的。 | 计数 |
SearchBasedSetCmdsLatency |
Search 写入命令的延迟。 | 微秒 |