

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

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

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

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

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

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

*Valkey 或 Redis OSS 的指标代码*


| 指标 | 说明 | 单位 | 
| --- | --- | --- | 
|  BytesUsedForCache  |  存储在缓存中的数据使用的总字节数。  |  字节  | 
|  ElastiCacheProcessingUnits  |  在缓存上执行的请求所消耗的 ElastiCacheProcessingUnits (ECPUs) 总数  |  计数  | 
|  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 身份验证的 Valkey 或 Redis OSS 连接总数。您可以在用户指南中找到有关 [使用 IAM 进行身份验证](auth-iam.md) 的更多信息。  |  计数  | 
|  IamAuthenticationThrottling  |  受限的经过 IAM 身份验证的 Valkey 或 Redis OSS AUTH 或 HELLO 请求的总数。您可以在用户指南中找到有关 [使用 IAM 进行身份验证](auth-iam.md) 的更多信息。  |  计数  | 
|  KeyAuthorizationFailures  |  用户访问其无权限访问的密钥的失败尝试次数。我们建议为此设置告警以检测未经授权的访问尝试。  |  计数  | 
|  AuthenticationFailures  |  使用 AUTH 命令对 Valkey 或 Redis OSS 进行身份验证时的总失败尝试次数。我们建议为此设置告警以检测未经授权的访问尝试。  |  计数  | 
|  CommandAuthorizationFailures  |  用户运行其无权限调用的命令的失败尝试次数。我们建议为此设置告警以检测未经授权的访问尝试。  |  计数  | 

**命令级指标**

ElastiCache 还会发出以下命令级指标。对于每种命令类型，都会 ElastiCache 发出命令的总数和该命令类型 ECPUs 消耗的数量。


| 指标 | 说明 | 单位 | 
| --- | --- | --- | 
|  EvalBasedCmds  |   缓存已收到的 get 命令数。  |  计数  | 
|  EvalBasedCmdsECPUs  |  ECPUs 被基于评估的命令消耗。  |  计数  | 
|  GeoSpatialBasedCmds  |  基于地理空间的命令的命令总数。此值是从 Valkey 或 Redis OSS commandstats 统计数据得出的。此值通过计算所有地理空间类型的命令的总和得出：geoadd、geodist、geohash、geopos、georadius 和 georadiusbymember。  |  计数  | 
|  GeoSpatialBasedCmdsECPUs  |  ECPUs 由基于地理空间的命令使用。  |  计数  | 
|  GetTypeCmds  |  只读类型命令的总数。此值是通过计算所有只读类型的命令（get、hget、scard、lrange 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  GetTypeCmdsECPUs  |  ECPUs 被读取命令消耗。  |  计数  | 
|  HashBasedCmds  |  基于哈希的命令总数。此值是通过计算所有作用于一个或多个哈希的命令（hget、hkeys、hvals、hdel 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  HashBasedCmdsECPUs  |  ECPUs 由基于哈希的命令消耗。  |  计数  | 
|  HyperLogLogBasedCmds  |   HyperLogLog基于命令的总数。此值是通过计算所有 pf 类型的命令（pfadd、pfcount、pfmerge 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  HyperLogLogBasedCmdsECPUs  |  ECPUs 由 HyperLogLog基于命令的命令消耗。  |  计数  | 
|  JsonBasedCmds  |  JSON 命令的总数，包括读取和写入命令。此值是通过计算所有作用于 JSON 键的 JSON 命令的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  JsonBasedCmdsECPUs  |  ECPUs 由所有 JSON 命令使用，包括读取和写入命令。  |  计数  | 
|  JsonBasedGetCmds  |  JSON 只读命令的总数。此值是通过计算所有作用于 JSON 键的 JSON 读取命令的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  JsonBasedGetCmdsECPUs  |  ECPUs 由 JSON 只读命令使用。  |  计数  | 
|  JsonBasedSetCmds  |  JSON 写入命令的总数。此值是通过计算所有作用于 JSON 键的 JSON 写入命令的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  JsonBasedSetCmdsECPUs  |  ECPUs 由 JSON 写入命令消耗。  |  计数  | 
|  KeyBasedCmds  |  基于密钥的命令总数。此值是通过计算所有作用于多个数据结构中的一个或多个键的命令（del、expire、rename 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  KeyBasedCmdsECPUs  |  ECPUs 由基于密钥的命令消耗。  |  计数  | 
|  ListBasedCmds  |  基于列表的命令总数。此值是通过计算所有作用于一个或多个列表的命令（lindex、lrange、lpush、ltrim 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  ListBasedCmdsECPUs  |  ECPUs 被基于列表的命令消耗。  |  计数  | 
|  NonKeyTypeCmds  |  不基于键的命令总数。此值是通过计算所有不作用于某个键的命令（acl、dbsize 或 info）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  NonKeyTypeCmdsECPUs  |  ECPUs 被 non-key-based命令消耗。  |  计数  | 
|  PubSubBasedCmds  |   pub/sub 功能命令总数。这源自 Valkey 或 Redis OSS commandstatsstatistats，它汇总了用于 pub/sub 功能的所有命令：psubsubsibre、publish、pubsubsub、punsubsubcribe、ssubcribe、ssubcribe、取消订阅、取消订阅、发布、订阅和取消订阅。  |  计数  | 
|  PubSubBasedCmdsECPUs  |  ECPUs 由基于 pub/sub 的命令消耗。  |  计数  | 
|  SetBasedCmds  |  基于设置的命令总数。此值是通过计算所有作用于一个或多个集的命令（scard、sdiff、sadd、sunion 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  SetBasedCmdsECPUs  |  ECPUs 由基于集合的命令消耗。  |  计数  | 
|  SetTypeCmds  |  写入类型命令的总数。此值是通过计算所有作用于数据的变化类型的命令（set、hset、sadd、lpop 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  SetTypeCmdsECPUs  |  ECPUs 被写入命令消耗。  |  计数  | 
|  SortedSetBasedCmds  |  基于设置的已排序命令总数。此值是通过计算所有作用于一个或多个已排序集的命令（zcount、zrange、zrank、zadd 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  SortedSetBasedCmdsECPUs  |  ECPUs 由基于排序的命令消耗。  |  计数  | 
|  StringBasedCmds  |  基于字符串的命令总数。此值是通过计算所有作用于一个或多个字符串的命令（strlen、setex、setrange 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  StringBasedCmdsECPUs  |  ECPUs 由基于字符串的命令消耗。  |  计数  | 
|  StreamBasedCmds  |  基于流的命令总数。此值是通过计算所有作用于一个或多个流数据类型的命令（xrange、xlen、xadd、xdel 等）的总和，从 Valkey 或 Redis OSS commandstats 统计数据得出。  |  计数  | 
|  StreamBasedCmdsECPUs  |  ECPUs 由基于流的命令消耗。  |  计数  | 

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



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

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

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

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

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

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

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

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

要使用生成 ElastiCache 事件列表，请使用 describe-events 命令。Amazon 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 快照 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>。 失败原因： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.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 快照 arn  |  创建  |  serverless-cache-snapshot  |  已为缓存 <cache-name> 创建快照 <snapshot-name>。  | 
|  快照创建失败  |  缓存 arn 快照 arn  |  失败  |  serverless-cache-snapshot  |  未能为缓存 <cache-name> 创建快照。使用客户自主管理型密钥 <key-id> 创建快照 <snapshot-name> 失败，因为 <reason>。 失败原因消息： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AmazonElastiCache/latest/dg/serverless-metrics-events-redis.html)  | 
|  快照创建失败  |  缓存 arn 快照 arn  |  失败  |  serverless-cache-snapshot  |  未能为缓存 <cache-name> 创建快照。未能创建快照 <snapshot-name>，因为 <reason>。 默认原因： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.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 快照 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”）。  | 