Valkey 和 Redis OSS 无服务器缓存的指标和事件
在使用无服务器缓存时,ElastiCache 提供各种指标和事件供监控。其中包括 CloudWatch 指标、命令级指标以及可通过 Amazon EventBridge 摄取的事件日志。
无服务器缓存指标
Amazon/ElastiCache 命名空间包括您的 Valkey 或 Redis OSS 无服务器缓存的以下 CloudWatch 指标。
Valkey 或 Redis OSS 的指标代码
| 指标 | 描述 | 单位 |
|---|---|---|
|
BytesUsedForCache |
存储在缓存中的数据使用的总字节数。 |
字节 |
|
ElastiCacheProcessingUnits |
在缓存上执行请求所消耗的 ElastiCacheProcessingUnits(ECPU)总数 |
计数 |
|
SuccessfulReadRequestLatency |
成功读取请求的延迟。 |
微秒 |
|
SuccessfulWriteRequestLatency |
成功写入请求的延迟 |
微秒 |
|
TotalCmdsCount |
在缓存中执行的所有命令的总数 |
计数 |
|
CacheHitRate |
表示缓存的命中率。这是使用 |
百分比 |
|
CacheHits |
缓存中成功的只读键查找次数。 |
计数 |
|
当前连接 |
缓存的客户端连接数。 |
计数 |
|
ThrottledCmds |
由于工作负载的扩展速度超过 ElastiCache 所能扩展的速度,因而被 ElastiCache 节流的请求数量。 |
计数 |
|
NewConnections |
在此期间,服务器接受的连接总数。 |
计数 |
|
CurrItems |
缓存中的项目数。 |
计数 |
|
CurrVolatileItems |
带 TTL 的缓存中的项目数。 |
计数 |
|
NetworkBytesIn |
传输到缓存的字节总数 |
字节 |
|
NetworkBytesOut |
从缓存传出的字节总数 |
字节 |
|
移出 |
缓存驱逐的键的数量 |
计数 |
|
IamAuthenticationExpirations |
已过期的经过 IAM 身份验证的 Valkey 或 Redis OSS 连接总数。您可以在用户指南中找到有关 使用 IAM 进行身份验证 的更多信息。 |
计数 |
|
IamAuthenticationThrottling |
受限的经过 IAM 身份验证的 Valkey 或 Redis OSS AUTH 或 HELLO 请求的总数。您可以在用户指南中找到有关 使用 IAM 进行身份验证 的更多信息。 |
计数 |
|
KeyAuthorizationFailures |
用户访问其无权限访问的密钥的失败尝试次数。我们建议为此设置告警以检测未经授权的访问尝试。 |
计数 |
|
AuthenticationFailures |
使用 AUTH 命令对 Valkey 或 Redis OSS 进行身份验证时的总失败尝试次数。我们建议为此设置告警以检测未经授权的访问尝试。 |
计数 |
|
CommandAuthorizationFailures |
用户运行其无权限调用的命令的失败尝试次数。我们建议为此设置告警以检测未经授权的访问尝试。 |
计数 |
命令级指标
ElastiCache 还会发出以下命令级别的指标。对于每个命令类型,ElastiCache 都会发出命令的总数以及该命令类型使用的 ECPU 数。
| 指标 | 描述 | 单位 |
|---|---|---|
|
EvalBasedCmds |
缓存已收到的 get 命令数。 |
计数 |
|
EvalBasedCmdsECPUs |
基于 eval 的命令使用的 ECPU 数。 |
计数 |
|
GeoSpatialBasedCmds |
基于地理空间的命令的命令总数。此值是从 Valkey 或 Redis OSS commandstats 统计数据得出的。此值通过计算所有地理空间类型的命令的总和得出:geoadd、geodist、geohash、geopos、georadius 和 georadiusbymember。 |
计数 |
|
GeoSpatialBasedCmdsECPUs |
基于地理空间的命令使用的 ECPU 数。 |
计数 |
|
GetTypeCmds |
只读类型命令的总数。此值是通过计算所有只读类型的命令(get、hget、scard、lrange 等)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
GetTypeCmdsECPUs |
读取命令使用的 ECPU 数。 |
计数 |
|
HashBasedCmds |
基于哈希的命令总数。此值是通过计算所有作用于一个或多个哈希的命令(hget、hkeys、hvals、hdel 等)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
HashBasedCmdsECPUs |
基于哈希的命令使用的 ECPU 数。 |
计数 |
|
HyperLogLogBasedCmds |
基于 HyperLogLog 的命令的总数。此值是通过计算所有 pf 类型的命令(pfadd、pfcount、pfmerge 等)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
HyperLogLogBasedCmdsECPUs |
基于 HyperLogLog 的命令使用的 ECPU 数。 |
计数 |
|
JsonBasedCmds |
JSON 命令的总数,包括读取和写入命令。此值是通过计算所有作用于 JSON 键的 JSON 命令的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
JsonBasedCmdsECPUs |
所有 JSON 命令使用的 ECPU 数,包括读取和写入命令。 |
计数 |
|
JsonBasedGetCmds |
JSON 只读命令的总数。此值是通过计算所有作用于 JSON 键的 JSON 读取命令的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
JsonBasedGetCmdsECPUs |
JSON 只读命令使用的 ECPU 数。 |
计数 |
|
JsonBasedSetCmds |
JSON 写入命令的总数。此值是通过计算所有作用于 JSON 键的 JSON 写入命令的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
JsonBasedSetCmdsECPUs |
JSON 写入命令使用的 ECPU 数。 |
计数 |
|
KeyBasedCmds |
基于密钥的命令总数。此值是通过计算所有作用于多个数据结构中的一个或多个键的命令(del、expire、rename 等)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
KeyBasedCmdsECPUs |
基于键的命令使用的 ECPU 数。 |
计数 |
|
ListBasedCmds |
基于列表的命令总数。此值是通过计算所有作用于一个或多个列表的命令(lindex、lrange、lpush、ltrim 等)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
ListBasedCmdsECPUs |
基于列表的命令使用的 ECPU 数。 |
计数 |
|
NonKeyTypeCmds |
不基于键的命令总数。此值是通过计算所有不作用于某个键的命令(acl、dbsize 或 info)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
NonKeyTypeCmdsECPUs |
未基于键的命令使用的 ECPU 数。 |
计数 |
|
PubSubBasedCmds |
用于发布/订阅功能的命令总数。此值是通过计算所有用于 pub/sub 功能的命令(psubscribe、publish、pubsub、punsubscribe、ssubscribe、sunsubscribe、spublish、subscribe 和 unsubscribe)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
PubSubBasedCmdsECPUs |
基于 pub/sub 的命令使用的 ECPU 数。 |
计数 |
|
SetBasedCmds |
基于设置的命令总数。此值是通过计算所有作用于一个或多个集的命令(scard、sdiff、sadd、sunion 等)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
SetBasedCmdsECPUs |
基于集的命令使用的 ECPU 数。 |
计数 |
|
SetTypeCmds |
写入类型命令的总数。此值是通过计算所有作用于数据的变化类型的命令(set、hset、sadd、lpop 等)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
SetTypeCmdsECPUs |
写入命令使用的 ECPU 数。 |
计数 |
|
SortedSetBasedCmds |
基于设置的已排序命令总数。此值是通过计算所有作用于一个或多个已排序集的命令(zcount、zrange、zrank、zadd 等)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
SortedSetBasedCmdsECPUs |
基于排序的命令使用的 ECPU 数。 |
计数 |
|
StringBasedCmds |
基于字符串的命令总数。此值是通过计算所有作用于一个或多个字符串的命令(strlen、setex、setrange 等)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
StringBasedCmdsECPUs |
基于字符串的命令使用的 ECPU 数。 |
计数 |
|
StreamBasedCmds |
基于流的命令总数。此值是通过计算所有作用于一个或多个流数据类型的命令(xrange、xlen、xadd、xdel 等)的总和,从 Valkey 或 Redis OSS commandstats 统计数据得出。 |
计数 |
|
StreamBasedCmdsECPUs |
基于流的命令使用的 ECPU 数。 |
计数 |
无服务器缓存事件
ElastiCache 会记录与您的无服务器缓存相关的事件。此类信息包括事件的日期和时间、事件的源名称和源类型,以及事件的描述。通过使用 ElastiCache 控制台、Amazon CLI describe-events 命令或 ElastiCache API 操作 DescribeEvents,您可以轻松从日志中检索事件。
您可以选择使用 Amazon EventBridge 监控、摄取、转换和处理 ElastiCache 事件。有关更多信息,请参阅 Amazon EventBridge 入门指南。
查看 ElastiCache 事件(控制台)
要使用 ElastiCache 控制台查看事件,请执行以下操作:
登录 Amazon Web Services 管理控制台 并打开 ElastiCache 控制台(https://console.aws.amazon.com/elasticache/
)。 要查看所有可用事件的列表,请在导航窗格中选择事件。
在事件屏幕上,列表的每一行表示一个事件,并显示事件源、事件类型、事件的 GMT 时间及事件的描述。通过使用 Filter,您可以指定是要查看事件列表中的所有事件,还是仅查看特定类型的事件。
查看 ElastiCache 事件(Amazon CLI)
要使用 Amazon CLI 生成 ElastiCache 事件的列表,请使用命令 describe-events。您可以使用可选参数来控制所列事件的类型、所列事件的时间范围、要列出的事件的最大数目等。
以下代码列出最多 40 个无服务器缓存事件。
aws elasticache describe-events --source-type serverless-cache --max-items 40
以下代码列出了过去 24 小时(1440 分钟)内的所有无服务器缓存事件。
aws elasticache describe-events --source-type serverless-cache --duration 1440
无服务器事件
此部分记录了您可能收到的有关无服务器缓存的不同类型的事件。
无服务器缓存创建事件
| Detail-Type | 描述 | 单位 | 来源 | 消息 |
|---|---|---|---|---|
|
缓存已创建 |
缓存 arn |
创建 |
serverless-cache |
缓存 <cache-name> 已创建,可供使用。 |
|
缓存已创建 |
缓存 arn 快照 arn |
创建 |
serverless-cache |
缓存 <cache-name> 已创建,并且已从快照中还原数据。您的缓存已就绪,可供使用。 |
|
缓存创建失败 |
缓存 arn |
失败 |
serverless-cache |
缓存 <cache-name> 的创建失败。可用 IP 地址不足,无法创建 VPC 端点。 |
|
缓存创建失败 |
缓存 arn |
失败 |
serverless-cache |
缓存 <cache-name> 的创建失败。请求中提供的子网无效。 |
|
缓存创建失败 |
缓存 arn |
失败 |
serverless-cache |
缓存 <cache-name> 的创建失败。已达到创建 VPC 端点的配额限制。 |
|
缓存创建失败 |
缓存 arn |
失败 |
serverless-cache |
缓存 <cache-name> 的创建失败。您无权创建 VPC 端点。 |
|
缓存创建失败 |
缓存 arn |
失败 |
serverless-cache |
缓存 <cache-name> 的创建失败。用户组 <user-group-name> 中存在具有不兼容的 Valkey 或 Redis OSS 版本的用户。 |
|
缓存创建失败 |
缓存 arn 缓存快照 arn |
失败 |
serverless-cache |
缓存 <cache-name> 的创建失败。提供的用户组 <user-group-name> 不存在。 |
|
缓存创建失败 |
缓存 arn |
失败 |
serverless-cache |
缓存 <cache-name> 的创建失败。从快照还原数据失败,因为 <reason>。 失败原因:
|
无服务器缓存更新事件(Valkey 或 Redis OSS)
| Detail-Type | 资源列表 | 类别 | 来源 | 消息 |
|---|---|---|---|---|
|
缓存已更新 |
缓存 arn |
配置更改 |
serverless-cache |
缓存 <cache-name> 的 SecurityGroups 已更新。 |
|
缓存已更新 |
缓存 arn |
配置更改 |
serverless-cache |
缓存 <cache-name> 的标签已更新。 |
|
缓存更新失败 |
缓存 arn |
配置更改 |
serverless-cache |
缓存 <cache-name> 的更新失败。用户组 <user-group-name> 中存在具有不兼容的 Valkey 或 Redis OSS 版本的用户。 |
|
缓存更新失败 |
缓存 arn |
配置更改 |
serverless-cache |
缓存 <cache-name> 的更新失败。SecurityGroups 更新失败。 |
|
缓存更新失败 |
缓存 arn |
配置更改 |
serverless-cache |
缓存 <cache-name> 的更新失败。由于权限不足,SecurityGroups 更新失败。 |
|
缓存更新失败 |
缓存 arn |
配置更改 |
serverless-cache |
缓存 <cache-name> 的更新失败。SecurityGroups 更新失败,因为 SecurityGroups 无效。 |
无服务器缓存删除事件(Valkey 或 Redis OSS)
| Detail-Type | 资源列表 | 类别 | 来源 | 消息 |
|---|---|---|---|---|
|
缓存已删除 |
缓存 arn |
删除 |
serverless-cache |
缓存 <cache-name> 已删除。 |
无服务器缓存使用限制事件(Valkey 或 Redis OSS)
| Detail-Type | 描述 | 单位 | 来源 | 消息 |
|---|---|---|---|---|
|
缓存已更新 |
缓存 arn |
配置更改 |
serverless-cache |
限制对缓存 <cache-name> 的更新。 |
|
即将达到缓存限制 |
缓存 arn |
notification |
serverless-cache |
槽 <X> 使用的容量超过每个槽 32 GB 限制的 <Y>%。例如,槽 10 使用的容量超过每个槽 32 GB 限制的 90%。 |
|
缓存更新失败 |
缓存 arn |
失败 |
serverless-cache |
由于缓存 <cache-name> 已删除,对缓存的限制更新失败。 |
|
缓存更新失败 |
缓存 arn |
失败 |
serverless-cache |
由于配置无效,对缓存 <cache-name> 的限制更新失败。 |
|
缓存更新失败 |
缓存 arn |
失败 |
serverless-cache |
对缓存 <cache-name> 的有限更新失败,因为当前缓存的数据超过了新的限制。在应用限制之前,请刷新数据。 |
无服务器缓存快照事件(Valkey 或 Redis OSS)
| Detail-Type | Resources-list | 类别 | 来源 | 消息 |
|---|---|---|---|---|
|
快照已创建 |
缓存 arn 快照 arn |
创建 |
serverless-cache-snapshot |
已为缓存 <cache-name> 创建快照 <snapshot-name>。 |
|
快照创建失败 |
缓存 arn 快照 arn |
失败 |
serverless-cache-snapshot |
未能为缓存 <cache-name> 创建快照。使用客户自主管理型密钥 <key-id> 创建快照 <snapshot-name> 失败,因为 <reason>。 失败原因消息:
|
|
快照创建失败 |
缓存 arn 快照 arn |
失败 |
serverless-cache-snapshot |
未能为缓存 <cache-name> 创建快照。未能创建快照 <snapshot-name>,因为 <reason>。 默认原因:
|
|
快照导出失败 |
快照 arn |
失败 |
serverless-cache-snapshot |
未能为缓存 <cache-name> 导出快照。无法将快照导出到存储桶 %s,因为 ElastiCache 不具有存储桶权限。 |
|
快照导出失败 |
快照 arn |
失败 |
serverless-cache-snapshot |
未能为缓存 <cache-name> 导出快照。无法将快照导出到存储桶“%s”,因为存储桶中已存在同名对象。 |
|
快照导出失败 |
快照 arn |
失败 |
serverless-cache-snapshot |
未能为缓存 <cache-name> 导出快照。无法将快照导出到存储桶“%s”,因为存储桶所有者账户 ID 已更改。 |
|
快照导出失败 |
快照 arn |
失败 |
serverless-cache-snapshot |
未能为缓存 <cache-name> 导出快照。无法将快照导出到存储桶“%s”,因为 S3 存储桶不可访问。 |
|
快照导出失败 |
快照 arn |
失败 |
serverless-cache-snapshot |
未能为缓存 <cache-name> 导出快照。无法将快照导出到存储桶“%s”,因为存储桶不可访问。 |
|
快照导出失败 |
快照 arn |
失败 |
serverless-cache-snapshot |
未能为缓存 <cache-name> 导出快照。无法将快照导出到存储桶“%s”,因为存储桶不存在。 |
|
快照导出失败 |
快照 arn |
失败 |
serverless-cache-snapshot |
未能为缓存 <cache-name> 导出快照。无法使用源快照客户自主管理型密钥 %s 将快照导出到存储桶“%s”,因为 <reason>。 |
|
快照导出失败 |
快照 arn |
失败 |
serverless-cache-snapshot |
未能为缓存 <cache-name> 导出快照。无法将快照导出到存储桶“%s”。 |
|
快照复制失败 |
快照 arn-1 快照 arn-2 |
失败 |
serverless-cache-snapshot |
未能复制快照 <snapshot-name>。无法使用源快照客户自主管理型密钥 <key-id> 将快照“%s”复制到快照“%s”,因为 <reason-name>。 |
|
快照复制失败 |
快照 arn-1 快照 arn-2 |
失败 |
serverless-cache-snapshot |
未能复制快照 <snapshot-name>。无法将快照“%s”复制到快照“%s”(使用目标快照客户自主管理型密钥“%s”“%s”)。 |