本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Redis 的指标
AWS/ElastiCache
命名空间包括以下 Redis 指标。
除 ReplicationLag
和 EngineCPUUtilization
之外,这些指标均源自 Redis info 命令。每项指标均是按照缓存节点级计算的。
如需 Redis info 命令的完整文档,请参阅 http://redis.io/commands/info
另请参阅
指标 | Description | Unit |
---|---|---|
ActiveDefragHits |
活动碎片整理进程每分钟执行的值重新分配数。这是从 Redis INFOactive_defrag_hits 统计数据派生的。
|
Number |
AuthenticationFailures |
使用 AUTH 命令在 Redis 中进行身份验证时失败的尝试总数。您可以使用 ACL LOG |
Count |
BytesUsedForCache |
Redis 为所有目的(包括数据集、缓冲区等)分配的字节的总数。这是从 Redis INFOused_memory 统计数据派生的。
|
字节 |
CacheHits |
主字典中成功的只读键查找次数。这是从 Redis INFOkeyspace_hits 统计数据派生的。
|
Count |
CacheMisses |
主字典中失败的只读键查找次数。这是从 Redis INFOkeyspace_misses 统计数据派生的。
|
Count |
CommandAuthorizationFailures |
用户运行其无权调用的命令的失败尝试总数。您可以使用 ACL LOG |
Count |
CacheHitRate |
指示 Redis 实例的使用效率。如果缓存比率低于约 0.8,则意味着大量的密钥被逐出、过期或不存在。这是使用 cache_hits 和 cache_misses 统计数据按以下方式计算的: cache_hits /(cache_hits +
cache_misses) 。
|
百分比 |
CurrConnections |
客户端连接数,不包括只读副本的连接。在每个案例中,ElastiCache 使用两到四个连接监控集群。这是从 Redis INFOconnected_clients 统计数据派生的。
|
Count |
DatabaseMemoryUsagePercentage |
正在使用的集群的可用内存的百分比。这是使用 used_memory/maxmemory 从 Redis INFO |
百分比 |
DB0AverageTTL |
从 Redis INFOkeyspace 统计数据中公开 DBO 的 avg_ttl 。
|
毫秒 |
EngineCPUUtilization |
提供 Redis 引擎线程的 CPU 使用率。由于 Redis 是单线程的,您可以使用此指标来分析 Redis 进程本身的负载。指标提供了 Redis 流程的更精确的可见性。 在 ElastiCache 主机上,后台进程监控主机以提供托管数据库体验。这些后台进程可能会占用很大一部分 CPU 工作负载。这在具有两个以上 vCPUs 的大型主机上并不重要。
但是,它可能会影响 vCPU 不超过 2 个的小型主机。如果仅监控 |
百分比 |
Evictions |
由于 maxmemory 限制而被驱逐的密钥数。这是从 Redis INFOevicted_keys 统计数据派生的。
|
Count |
KeyAuthorizationFailures |
用户尝试访问无权访问的密钥的失败尝试总数。您可以使用 ACL LOG |
Count |
KeysTracked |
Redis 密钥跟踪跟踪跟踪跟踪的密钥数占 tracking-table-max-keys 的百分比。 密钥跟踪用于帮助客户端缓存,并在修改密钥时通知客户端。
|
Count |
MasterLinkHealthStatus |
此状态有两个值:0 或 1。值 0 表示 ElastiCache 主节点中的数据未与 EC2 上的 Redis 同步。值为 1 表示数据已同步。要完成迁移,请使用
CompleteMigration |
布尔型 |
MemoryFragmentationRatio |
指示 Redis 引擎的内存分配的效率。某些阈值表示不同的行为。建议的值是让碎片化大于 1.0。这是从 Redis INFOmemory_frag_ratio statistic 计算得出的。
|
Number |
NewConnections |
在此期间,服务器接受的连接总数。这是从 Redis INFOtotal_connections_received 统计数据派生的。
|
Count |
Reclaimed |
密钥过期事件的总数。这是从 Redis INFOexpired_keys 统计数据派生的。
|
Count |
ReplicationBytes |
对于复制配置中的节点,ReplicationBytes 报告主节点向其所有副本发送的字节数。此指标代表复制组上的写入负载。这是从 Redis INFOmaster_repl_offset 统计数据派生的。
|
字节 |
ReplicationLag |
该指标仅适用于作为只读副本运行的节点。它代表副本在应用主节点的改动方面滞后的时间(以秒为单位)。 | 对于 Redis 引擎版本 5.0.6,为毫秒。对于所有其他支持的引擎版本,为秒 |
SaveInProgress |
只要背景保存(forked 或 forkless)在进行中,此二进制指标均返回 1,否则会返回 0。在快照和同步期间,通常使用背景保存进程。这些操作会导致性能下降。使用
SaveInProgress 指标,您可以诊断性能下降是否由背景保存过程导致。这是从 Redis INFOrdb_bgsave_in_progress 统计数据派生的。
|
Count |
EngineCPUUtilization 可用性
下面列出的 AWS 区域适用于所有受支持的节点类型。
Region | 区域名称 |
---|---|
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 |
亚太区域(悉尼) |
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-West) |
us-gov-east-1 |
AWS GovCloud(美国东部) |
以下是一些命令类型的集合,派生自 info
commandstats。 commandstats 部分提供基于命令类型的统计数据,包括调用次数、这些命令消耗的总 CPU 时间以及每个命令执行所消耗的平均 CPU 时间。对于每个命令类型,将添加以下行:
cmdstat_XXX: calls=XXX,usec=XXX,usec_per_call=XXX
。
下面列出的延迟指标是使用来自 Redis INFOdelta(usec)/delta(calls)
。delta
在一分钟内计算为差异。
有关可用命令的完整列表,请参阅 Redis 文档中的 redis 命令
指标 | Description | Unit |
---|---|---|
CurrItems |
缓存中的项目数。此值根据以下方法获得的 Redis keyspace 统计数据得出:计算整个密钥空间中所有密钥的总和。
|
Count |
EvalBasedCmds |
基于 eval 的命令的命令总数。这是从 Redis commandstats 统计数据派生的。这是从 Redis commandstats 统计数据通过 eval、evalsha 相加得出的。
|
Count |
EvalBasedCmdsLatency |
基于 eval 的命令的延迟。 | 微秒 |
GeoSpatialBasedCmds |
基于地理空间的命令的命令总数。这是从 Redis commandstats 统计数据派生的。它是通过计算所有地理类型的命令的总和得出的: geoadd、geodist、geohash、geopos、georadius 和 georadiusbymember。
|
Count |
GeoSpatialBasedCmdsLatency |
基于地理空间的命令的延迟。 | 微秒 |
GetTypeCmds |
read-only 类型命令的总数。此值根据以下方法获得的 Redis commandstats 统计数据得出:计算所有 read-only 类型的命令(get、hget、scard、lrange 等)的总和。
|
Count |
GetTypeCmdsLatency |
读取命令的延迟。 | 微秒 |
HashBasedCmds |
基于哈希的命令总数。此值根据以下方法获得的 Redis commandstats 统计数据得出:计算所有作用于一个或多个哈希的命令(hget、hkeys、hvals、hdel 等)的总和。
|
Count |
HashBasedCmdsLatency |
基于哈希的命令的延迟。 | 微秒 |
HyperLogLogBasedCmds |
基于 HyperLogLog 的命令的总数。这是从 Redis commandstats 统计数据派生的,方式是计算所有 pf 类型的命令(pfadd、pfcount、pfmerge 等)的总和。
|
Count |
HyperLogLogBasedCmdsLatency |
基于 HyperLogLog 的命令的延迟。 | 微秒 |
KeyBasedCmds |
基于密钥的命令总数。这是从 Redis commandstats 统计数据派生的,方式是计算对多个数据结构中的一个或多个键执行的所有命令(del、expire、rename 等)的总和。
|
Count |
KeyBasedCmdsLatency |
基于键的命令的延迟。 | 微秒 |
ListBasedCmds |
基于列表的命令总数。此值根据以下方法获得的 Redis commandstats 统计数据得出:计算所有作用于一个或多个列表的命令(lindex、lrange、lpush、ltrim 等)的总和。
|
Count |
ListBasedCmdsLatency |
基于列表的命令的延迟。 | 微秒 |
PubSubBasedCmds |
用于发布/订阅功能的命令总数。这是从 Redis commandstats 统计数据派生的,方式是计算用于发布/订阅功能的所有命令的总和: psubscribe、publish、pubsub、punsubscribe、subscribe 和 unsubscribe。
|
Count |
PubSubBasedCmdsLatency |
基于 pub/sub 的命令的延迟。 | 微秒 |
SetBasedCmds |
基于设置的命令总数。此值根据以下方法获得的 Redis commandstats 统计数据得出:计算所有作用于一个或多个设置的命令(scard、sdiff、sadd、sunion 等)的总和。
|
Count |
SetBasedCmdsLatency |
基于集合的命令的延迟。 | 微秒 |
SetTypeCmds |
write 类型命令的总数。这是从 Redis commandstats 统计数据派生的,方式是计算对数据执行的所有 mutative 类型的命令(set、hset、sadd、lpop 等)的总和。
|
Count |
SetTypeCmdsLatency |
写入命令的延迟。 | 微秒 |
SortedSetBasedCmds |
基于设置的已排序命令总数。此值根据以下方法获得的 Redis commandstats 统计数据得出:计算所有作用于一个或多个已排序设置的命令(zcount、zrange、zrank、zadd 等)的总和。
|
Count |
SortedSetBasedCmdsLatency |
基于排序的命令的延迟。 | 微秒 |
StringBasedCmds |
基于字符串的命令总数。此值根据以下方法获得的 Redis commandstats 统计数据得出:计算所有作用于一个或多个字符串的命令(strlen、setex、setrange 等)的总和。
|
Count |
StringBasedCmdsLatency |
基于字符串的命令的延迟。 | 微秒 |
StreamBasedCmds |
基于流的命令总数。此值根据以下方法获得的 Redis commandstats 统计数据得出:计算所有作用于一个或多个流数据类型的命令(xrange、xlen、xadd、xdel 等)的总和。
|
Count |
StreamBasedCmdsLatency |
基于流的命令的延迟。 | 微秒 |