使用 Amazon CloudWatch 监控指标 - Amazon DynamoDB

使用 Amazon CloudWatch 监控指标

您可以使用 CloudWatch 监控 DynamoDB,此工具可以从 DynamoDB 收集原始数据,处理为可读取的近实时指标。这些统计数据保留一段时间,这样您就可以访问历史信息,以便更好地了解您的 Web 应用程序或服务的执行情况。默认情况下,DynamoDB 指标数据自动发送到 CloudWatch。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的什么是 Amazon CloudWatch?指标保留

如何使用 DynamoDB 指标?

DynamoDB 报告的指标提供可通过不同方式分析的信息。下面的列表显示这些指标的一些常见用途。这些是入门建议,并不全面。

如何使用 DynamoDB 指标?

我如何?

相关指标

如何监控表上的 TTTTL 删除率?

可以在指定时间段内监控 TimeToLiveDeletedItemCount,跟踪表上的 TTL 删除率。有关使用 TimeToLiveDeletedItemCount 指标的无服务器应用程序示例,请参阅 Automatically archive items to S3 using DynamoDB time to live (TTL) with AWS Lambda and Amazon Data Firehose

如何确定我的预置吞吐量使用了多少?

可以在指定时间段内监控 ConsumedReadCapacityUnitsConsumedWriteCapacityUnits,跟踪预置吞吐量的使用。

如何确定哪些请求超出了表的预置吞吐量配额?

如果请求中的任何事件超过预置吞吐量配额,ThrottledRequests 将递增 1。要了解限制请求的事件,为表及其索引比较 ThrottledRequestsReadThrottleEventsWriteThrottleEvents 指标。

如何确定是否发生了任何系统错误?

可以监控 SystemErrors 以确定是否有任何请求导致 HTTP 500(服务器错误)代码。通常,此指标应等于零。如果不是,可能需要调查。

如何监控表操作的延迟值?

您可以监控 SuccessfulRequestLatency 并且跟踪平均延迟。偶尔的延迟高峰并不需要担忧。但是,如果平均延迟较高,则可能存在您必须解决的潜在问题。请参阅解决 Amazon DynamoDB 中的延迟问题了解更多信息。

在 CloudWatch 控制台中查看指标

指标的分组首先依据服务命名空间,然后依据每个命名空间内的各种维度组合。

在 CloudWatch 控制台中查看指标
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,依次选择指标、所有指标

  3. 选择 DynamoDB 命名空间。您还可以选择使用率命名空间来查看 DynamoDB 使用率指标。有关使用率指标的更多信息,请参阅 AWS 使用率指标。

  4. 浏览选项卡显示命名空间中的所有指标。

  5. (可选)要将指标图表添加到 CloudWatch 控制面板,请依次选择操作、添加到控制面板

在 AWS CLI 中查看指标

要使用 AWS CLI 获取指标信息,请使用 CloudWatch 命令 list-metrics。在以下示例中,您将列出 AWS/DynamoDB 命名空间中的所有指标。

aws cloudwatch list-metrics --namespace "AWS/DynamoDB"

若要获取指标统计数据,请使用命令 get-metric-statistics。以下命令以 5 分钟为间隔,获取表 ProductCatalog 在特定 24 小时时段内的 ConsumedReadCapacityUnits 统计数据。

aws cloudwatch get-metric-statistics —namespace AWS/DynamoDB \ —metric-name ConsumedReadCapacityUnits \ —start-time 2023-11-01T00:00:00Z \ —end-time 2023-11-02T00:00:00Z \ —period 360 \ —statistics Average \ —dimensions Name=TableName,Value=ProductCatalog

示例输出如下:

{ "Datapoints": [ { "Timestamp": "2023-11-01T 09:18:00+00:00", "Average": 20, "Unit": "Count" }, { "Timestamp": "2023-11-01T 04:36:00+00:00", "Average": 22.5, "Unit": "Count" }, { "Timestamp": "2023-11-01T 15:12:00+00:00", "Average": 20, "Unit": "Count" }, ... { "Timestamp": "2023-11-01T 17:30:00+00:00", "Average": 25, "Unit": "Count" } ], "Label": " ConsumedReadCapacityUnits " }