

# 使用 Amazon CloudWatch 监控指标
<a name="s3-tables-cloudwatch-metrics"></a>

您可以使用 Amazon CloudWatch 指标来跟踪表的性能、检测表的异常情况和监控表的运行状况。有几组 CloudWatch 指标可以与 S3 表类数据存储服务结合使用。

**表和表存储桶的每日存储指标**  
监控存储在表和表存储桶中的数据量，包括总大小（以字节为单位）和文件数。这些指标跟踪每个访问层的总存储字节数以及表存储桶、表和命名空间级别的文件计数。适用于 S3 表类数据存储服务的存储指标每天报告一次并提供给所有客户，无需额外费用。

**表维护指标**  
监控 Amazon S3 对您的表执行的自动维护操作，例如压缩。这些指标跟踪在维护活动期间处理的字节数和文件数。适用于 S3 表类数据存储服务的维护指标每天报告一次并提供给所有客户，无需额外费用。

**请求指标**  
监控 S3 表类数据存储服务请求，以快速识别运行问题并对其采取措施。可以选择为各个表存储桶启用这些 CloudWatch 指标。S3 表类数据存储服务的请求指标每分钟报告一次，费率与 CloudWatch 自定义指标的相同。请求指标包括：  
+ 数据面板操作计数（GET、PUT、HEAD、POST）
+ 传输的字节数
+ 延迟测量值
+ 错误率

**注意**  
**最大努力 CloudWatch 指标传输**  
系统将以最大努力传输 CloudWatch 指标。大多数具有请求指标的针对 Amazon S3 对象的请求会导致将数据点发送到 CloudWatch。  
无法保证指标的完整性和及时性。可能返回特定请求的数据点，其时间戳晚于实际处理请求的时间。1 分钟的数据点在通过 CloudWatch 提供之前可能会延迟，或者根本不会提供该数据点。您可以通过 CloudWatch 请求指标近乎实时地了解有关存储桶流量性质方面的信息。这并不意味着会完整记录所有请求。根据此特征的最大努力性质，在账单和成本管理控制面板提供的报告中可能有一个或多个访问请求不会出现在存储桶指标中。

# 指标与维度
<a name="s3-tables-metrics-dimensions"></a>

以下各表列出了 S3 表类数据存储服务发送到 Amazon CloudWatch 的存储指标和维度。

**注意**  
**最大努力 CloudWatch 指标传输**  
系统将以最大努力传输 CloudWatch 指标。大多数具有请求指标的针对 Amazon S3 对象的请求会导致将数据点发送到 CloudWatch。  
无法保证指标的完整性和及时性。可能返回特定请求的数据点，其时间戳晚于实际处理请求的时间。1 分钟的数据点在通过 CloudWatch 提供之前可能会延迟，或者根本不会提供该数据点。您可以通过 CloudWatch 请求指标近乎实时地了解有关存储桶流量性质方面的信息。这并不意味着会完整记录所有请求。根据此特征的最大努力性质，在账单和成本管理控制面板提供的报告中可能有一个或多个访问请求不会出现在存储桶指标中。

## CloudWatch 中表存储桶的每日存储指标
<a name="daily-storage-metrics"></a>

`AWS/S3/Tables` 命名空间包括以下每日存储指标，这些指标免费提供，无需额外费用。您可以按表存储桶、表或命名空间名称筛选这些指标。


**每日存储指标**  

| 指标名称 | 说明 | 单位 | 统计数据 | 粒度 | 
| --- | --- | --- | --- | --- | 
| 总存储桶存储空间 | 表存储桶中的所有表使用的存储空间量（以字节为单位） | 字节 | 总和 | 每天 | 
| 总文件数 | 存储在表存储桶中的所有文件的总数 | 计数 | 总和 | 每天 | 

## 表维护指标
<a name="table-maintenance-metrics"></a>

`AWS/S3/Tables` 命名空间包括以下表维护指标，这些指标免费提供，无需额外费用。您可以按表存储桶、表或命名空间名称筛选这些指标。


**表维护指标**  

| 指标名称 | 说明 | 单位 | 统计数据 | 粒度 | 
| --- | --- | --- | --- | --- | 
| CompactionBytesProcessed | 表压缩操作期间处理的字节数 | 字节 | 总和 | 每天 | 
| CompactionObjectsCount | 表压缩操作期间处理的对象数量 | 计数 | 总和 | 每天 | 

## CloudWatch 中表和表存储桶的请求指标
<a name="request-metrics"></a>

`AWS/S3/Tables` 命名空间包括以下请求指标，这些指标的费率与 CloudWatch 自定义指标的相同。您可以按表存储桶、表或命名空间名称筛选这些指标。


**请求指标**  

| 指标名称 | 说明 | 单位 | 统计数据 | 粒度 | 
| --- | --- | --- | --- | --- | 
| 所有请求计数 | 向表存储桶发出的 HTTP 请求的总数。 | 计数 | 总和 | 1 分钟 | 
| Get 请求计数 | 为从表中检索对象而发出的 HTTP GET 请求的数量 | 计数 | 总和 | 1 分钟 | 
| Put 请求计数 | 为向表中添加对象而发出的 HTTP PUT 请求的数量 | 计数 | 总和 | 1 分钟 | 
| Head 请求计数 | 为从表中检索元数据而发出的 HTTP HEAD 请求的数量 | 计数 | 总和 | 1 分钟 | 
| Post 请求计数 | 对表发出的 HTTP POST 请求的数量 | 计数 | 总和 | 1 分钟 | 
| UpdateTableMetadataLocation 请求计数 | 为更新表元数据位置而发出的请求的数量 | 计数 | 总和 | 1 分钟 | 
| GetTableMetadataLocation 请求计数 | 为检索表元数据位置而发出的请求的数量 | 计数 | 总和 | 1 分钟 | 
| BytesDownloaded | 为表请求下载的字节数 | 字节 | 总和 | 1 分钟 | 
| BytesUploaded | 为表请求上传的字节数 | 字节 | 总和 | 1 分钟 | 
| 4xxErrors | 返回的 HTTP 4xx 客户端错误状态代码的计数 | 计数 | 总和 | 1 分钟 | 
| 5xxErrors | 返回的 HTTP 5xx 服务器错误状态代码的计数 | 计数 | 总和 | 1 分钟 | 
| FirstByteLatency | 从收到完整请求到开始返回响应的每请求时间。 | 毫秒 | 总和 | 1 分钟 | 
| TotalRequestLatency | 从收到第一个字节到发送最后一个字节的已用每请求时间。 | 毫秒 | 总和 | 1 分钟 | 

## CloudWatch 中的 S3 表类数据存储服务维度
<a name="s3-tables-dimensions"></a>

下列维度用于筛选 S3 表类数据存储服务指标。


**S3 表类数据存储服务维度**  

| 维度名称 | 说明 | 示例值 | 
| --- | --- | --- | 
| TableBucketName | Amazon S3 表存储桶的名称 | my-table-bucket | 
| Namespace | 表存储桶中包含一个或多个表的命名空间 | my-department | 
| TableName | 命名空间中特定表的名称 | transactions | 

# 访问 CloudWatch 指标
<a name="s3-tables-accessing-cloudwatch-metrics"></a>

可以使用 CloudWatch 控制台、AWS CLI 或 CloudWatch API 来监控 S3 表类数据存储服务指标。本节介绍如何使用这些不同的方法访问指标。

## 使用 S3 控制台
<a name="tables-metrics-using-console"></a>

1. 登录 AWS 管理控制台并在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 中打开 Amazon S3 控制台。

1. 在左侧导航窗格中，选择**表存储桶**。

1. 在存储桶列表中，选择存储桶的名称，该存储桶包含您要查看其指标的表。

1. 选择**指标**选项卡。

1. 在任意指标窗格中选择**在 CloudWatch 中查看**，以导航到 CloudWatch 控制台并查看 `AWS/S3/Tables` 命名空间中的可用指标。

## 使用 AWS CLI
<a name="tables-metrics-using-cli"></a>

要使用 AWS CLI 列出 S3 表类数据存储服务的指标，请使用 `list-metrics` 命令并将 `--namespace` 参数设置为 `AWS/S3/Tables`：

```
aws cloudwatch list-metrics --namespace AWS/S3/Tables
```

要获取特定 S3 表类数据存储服务指标的统计数据，请使用 `get-metric-statistics` 命令。例如：

```
aws cloudwatch get-metric-statistics \
--namespace AWS/S3/Tables \
--metric-name TotalBucketStorage \
--dimensions Name=TableBucketName,Value=MyTableBucket \
--start-time 2025-03-01T00:00:00 \
--end-time 2025-03-02T00:00:00 \
--period 86400 \
--statistics Average
```

## 最佳实践
<a name="best-practices"></a>
+ 检索指标时，请根据指标的粒度设置期间值。对于每日指标（如存储指标），请使用 86400 秒（24 小时）。对于分钟级指标（如请求指标），请使用 60 秒。
+ 适当地使用维度将指标筛选到所需范围（表存储桶、命名空间或单个表级别）。
+ 考虑使用指标数学来创建更符合您的监控需求的派生指标。

## 相关资源
<a name="related-resources"></a>
+ [Amazon CloudWatch 概念](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html)
+ [使用 Amazon CloudWatch 控制面板](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)

# 管理 CloudWatch 指标
<a name="s3-tables-managing-cloudwatch-metrics"></a>

默认情况下，对所有 Amazon S3 表和表存储桶启用存储指标。您可以通过控制台、AWS Command Line Interface（AWS CLI）或 AWS SDK 启用或禁用其他请求指标。

## 先决条件
<a name="prerequisites"></a>
+ 需要 `s3table:PutTableBucketMetricsConfiguration` IAM 权限

**注意**  
S3 表类数据存储服务请求指标的费率与 CloudWatch 自定义指标的费率相同。

## 使用 AWS 管理控制台
<a name="using-console-managing"></a>

启用或禁用其它指标

1. 登录 AWS 管理控制台并在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 中打开 Amazon S3 控制台。

1. 在左侧导航窗格中，选择**表存储桶**。

1. 在存储桶列表中，选择表存储桶的名称，该存储桶包含您要请求其指标的表。

1. 选择**指标**选项卡。

1. 从“请求指标”面板中，选择**编辑**。

1. 选择**已启用**或**已禁用**，然后选择**保存更改**。

## 使用 AWS CLI
<a name="using-cli-managing"></a>

这些示例说明如何使用 AWS CLI 为表存储桶启用或禁用请求指标。要使用这些命令，请将*用户输入占位符*替换为您自己的信息。

**Example ：为表存储桶启用请求指标：**  

```
aws s3tables put-table-bucket-metrics-configuration \
--table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket
```

**Example ：为表存储桶禁用请求指标：**  

```
aws s3tables delete-table-bucket-metrics-configuration \
--table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket
```