

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Valkey 和 Redis OSS 无服务器缓存的指标和事件
<a name="serverless-metrics-events-redis"></a>

ElastiCache 在使用无服务器缓存时，提供了用于监控的各种指标和事件。这包括可通过 Amazon EventBridge 提取的 CloudWatch 指标、命令级指标和事件日志。

**Topics**
+ [无服务器缓存指标](#serverless-metrics)
+ [无服务器缓存事件](#serverless-events)

## 无服务器缓存指标
<a name="serverless-metrics"></a>

`AWS/ElastiCache`命名空间包括您的 Valkey 或 Redis OSS 无服务器缓存的以下 CloudWatch 指标。

*Valkey 或 Redis OSS 的指标代码*


| 指标 | 说明 | 单位 | 
| --- | --- | --- | 
| BytesUsedForCache | 存储在缓存中的数据使用的总字节数。 | 字节 | 
| ElastiCacheProcessingUnits | 在缓存上执行的请求所消耗的 ElastiCacheProcessingUnits (ECPU) 总数 | 计数 | 
| SuccessfulReadRequestLatency | 成功读取请求的延迟。 | 微秒 | 
| SuccessfulWriteRequestLatency | 成功写入请求的延迟 | 微秒 | 
| TotalCmdsCount | 在缓存中执行的所有命令的总数 | 计数 | 
| CacheHitRate | 表示缓存的命中率。这是使用 `cache_hits` 和 `cache_misses` 统计数据按以下方式计算的：`cache_hits /(cache_hits + cache_misses)`。 | 百分比 | 
| CacheHits | 缓存中成功的只读键查找次数。 | 计数 | 
| CacheMisses | 缓存中不成功的只读密钥查找次数。 | 计数 | 
| CurrConnections | 缓存的客户端连接数。 | 计数 | 
| ThrottledCmds |  ElastiCache 由于工作负载的扩展速度超过了 ElastiCache 可扩展的速度而被限制的请求数量。 | 计数 | 
| NewConnections | 在此期间，服务器接受的连接总数。 | 计数 | 
| CurrItems | 缓存中的项目数。 | 计数 | 
| CurrVolatileItems | 带 TTL 的缓存中的项目数。 | 计数 | 
| NetworkBytesIn | 传输到缓存的字节总数 | 字节 | 
| NetworkBytesOut | 从缓存传出的字节总数 | 字节 | 
| 移出 | 缓存驱逐的键的数量 | 计数 | 
| IamAuthenticationExpirations | 过期的 IAM-authenticated Valkey 或 Redis OSS 连接总数。您可以在用户指南中找到有关 [使用 IAM 进行身份验证](auth-iam.md) 的更多信息。 | 计数 | 
| IamAuthenticationThrottling | 受限制的 IAM-authenticated Valkey 或 Redis OSS AUTH 或 HELLO 请求的总数。您可以在用户指南中找到有关 [使用 IAM 进行身份验证](auth-iam.md) 的更多信息。 | 计数 | 
| 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-based 命令总数。此值是通过计算所有 pf 类型的命令（pfadd、pfcount、pfmerge 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。 | 计数 | 
| HyperLogLogBasedCmdsECPUs |  HyperLogLog-based 命令消耗的 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 功能命令的总数。这源自 Valkey 或 Redis OSS commandstatsstatistats，它汇总了用于 pub/sub 功能的所有命令：psubsubsibre、publish、pubsubsub、punsubsubcribe、ssubcribe、ssubcribe、取消订阅、取消订阅、发布、订阅和取消订阅。 | 计数 | 
| 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 数。 | 计数 | 

## 无服务器缓存事件
<a name="serverless-events"></a>



ElastiCache 记录与您的无服务器缓存相关的事件。此类信息包括事件的日期和时间、事件的源名称和源类型，以及事件的描述。您可以使用 ElastiCache 控制台、desc AWS CLI ribe-events 命令或 API 操作轻松地从日志中 ElastiCache 检索事件。`DescribeEvents`

您可以选择使用 Amazon EventBridge 监控、摄取、转换和 ElastiCache 处理事件。在 Amazon EventBridge [入门指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html)中了解更多信息。

**查看 ElastiCache 事件（控制台）**

要使用 ElastiCache 控制台查看事件，请执行以下操作：

1. 登录 AWS 管理控制台 并打开 ElastiCache 控制台，网址为 [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/)

1. 要查看所有可用事件的列表，请在导航窗格中选择**事件**。

1. 在*事件*屏幕上，列表的每一行表示一个事件，并显示事件源、事件类型、事件的 GMT 时间及事件的描述。通过使用 **Filter**，您可以指定是要查看事件列表中的所有事件，还是仅查看特定类型的事件。

**查看 ElastiCache 事件 (AWS CLI)**

要使用生成 ElastiCache 事件列表，请使用 describe-events 命令。 AWS CLI您可以使用可选参数来控制所列事件的类型、所列事件的时间范围、要列出的事件的最大数目等。

以下代码列出最多 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 | 说明 | 单位 | 来源 | Message | 
| --- | --- | --- | --- | --- | 
| 缓存已创建 | 缓存 arn | 创建 | serverless-cache | 缓存 <cache-name> 已创建，可供使用。 | 
| 缓存已创建 | 缓存 arn<br />快照 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<br />缓存快照 arn | 失败 | serverless-cache | 缓存 <cache-name> 的创建失败。提供的用户组 <user-group-name> 不存在。 | 
| 缓存创建失败 | 缓存 arn | 失败 | serverless-cache | 缓存 <cache-name> 的创建失败。从快照还原数据失败，因为 <reason>。<br />失败原因：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/serverless-metrics-events-redis.html) | 

**无服务器缓存更新事件（Valkey 或 Redis OSS）**


| Detail-Type | 资源列表 | 类别 | 来源 | Message | 
| --- | --- | --- | --- | --- | 
| 缓存已更新 | 缓存 arn | 配置更改 | serverless-cache | SecurityGroups 已为缓存更新<cache-name>。 | 
| 缓存已更新 | 缓存 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 | 资源列表 | 类别 | 来源 | Message | 
| --- | --- | --- | --- | --- | 
| 缓存已删除 | 缓存 arn | 删除 | serverless-cache | 缓存 <cache-name> 已删除。 | 

**无服务器缓存使用限制事件（Valkey 或 Redis OSS）**


| Detail-Type | 说明 | 单位 | 来源 | Message | 
| --- | --- | --- | --- | --- | 
| 缓存已更新 | 缓存 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 | 类别 | 来源 | Message | 
| --- | --- | --- | --- | --- | 
| 快照已创建 | 缓存 arn<br />快照 arn | 创建 | serverless-cache-snapshot | 已为缓存 <cache-name> 创建快照 <snapshot-name>。 | 
| 快照创建失败 | 缓存 arn<br />快照 arn | 失败 | serverless-cache-snapshot | 未能为缓存 <cache-name> 创建快照。使用客户自主管理型密钥 <key-id> 创建快照 <snapshot-name> 失败，因为 <reason>。<br />失败原因消息：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/serverless-metrics-events-redis.html) | 
| 快照创建失败 | 缓存 arn<br />快照 arn | 失败 | serverless-cache-snapshot | 未能为缓存 <cache-name> 创建快照。未能创建快照 <snapshot-name>，因为 <reason>。<br />默认原因：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/serverless-metrics-events-redis.html) | 
| 快照导出失败 | 快照 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<br />快照 arn-2 | 失败 | serverless-cache-snapshot | 未能复制快照 <snapshot-name>。无法使用源快照客户自主管理型密钥 <key-id> 将快照“%s”复制到快照“%s”，因为 <reason-name>。 | 
| 快照复制失败 | 快照 arn-1<br />快照 arn-2 | 失败 | serverless-cache-snapshot | 未能复制快照 <snapshot-name>。无法将快照“%s”复制到快照“%s”（使用目标快照客户自主管理型密钥“%s”“%s”）。 | 