亚马逊AWS官方博客

适用于 DynamoDB 的 CloudWatch Contributor Insights – 现已正式推出

Amazon DynamoDB 给我们的客户提供了一个完全托管的键值数据库服务,可以轻松地从每月几个请求扩展到每秒数百万个请求。DynamoDB 通过以任意规模提供一致性的个位数毫秒响应时间为世界上规模最大的一些应用程序提供支持。您可以使用几乎无限的吞吐量和存储构建应用程序。DynamoDB 全局表复制您在多个 AWS 区域的数据,让您可以在本地快速访问您的全球分布式应用程序的数据。对于需要微秒级延迟的更快访问的使用案例,DynamoDB Accelerator (DAX) 提供完全托管的内存缓存。

2019 年 11 月,我们宣布推出适用于 Amazon DynamoDB 的 Amazon CloudWatch Contributor Insights预览版,今天,我很高兴地宣布它在所有 AWS 区域正式推出。

适用于 Amazon DynamoDB 的 Amazon CloudWatch Contributor Insights

Amazon CloudWatch Contributor Insights 同样发布于 2019 年 11 月,用于分析日志数据和创建时间序列可视化,以提供影响系统性能的主要贡献因素的视图。您可以通过创建 Contributor Insights 规则来评估 CloudWatch Logs(包括 AWS 服务的日志)和您的服务发送至本地服务器的任何自定义日志,以此执行此操作。例如,您可以找到故障的主机、发现最大的网络用户或找出生成最多错误的 URL。

对于在 DynamoDB 上构建应用程序的开发人员,它对于了解您的数据库访问模式非常有用,例如流量趋势和经常访问的键,从而可帮助优化 DynamoDB 成本和性能。使用适用于 DynamoDB 的 CloudWatch Contributor Insights 时,您只需在控制台中单击几下即可创建这些模式的可视化。DynamoDB 会自动创建所需的 CloudWatch 资源,然后提供图表的摘要视图。此摘要视图位于 DynamoDB 控制台中,但您也可以在 CloudWatch 控制台中看到单个规则的详细信息及其他的 CloudWatch Contributor Insights 规则、报告和报告数据图表。

您可以使用这些图表查看流量趋势并查明 DynamoDB 表中的任何热键。

工作原理

我们来看看它的工作原理及对开发人员的益处。下面是关于 DynamoDB 的表。

我们选择任何表时,都可以看到该表的详细信息。 点击称为 [Contributor Insights] 的新选项卡。

CloudWatch Contributor Insights 现在被禁用。您可以通过选择上面的 [Contributor Insights] 选项卡启用。

当您访问 [Contributor Insights] 选项卡时,您可以检查其状态。激活过程非常简单(这是我喜欢这项功能的原因之一!) 如果您点击 [Manage Contributor Insights],系统将弹出一个对话框。

如果您选择 [已启用] 并点击 [确认],将出现控制面板,且适用于 DynamoDB 的 CloudWatch Contributor Insights 将记录对表格的每一次访问。

不久后,您将看到一些图表形式的表格见解。

您可以在控制面板的右上角更改时间范围,或者只需直接点击并拖动图表。

控制面板为我们显示了什么?

控制面板为我们显示了 4 个指标,它们是用于应用程序性能调整的强大见解。 DynamoDB 为分区键与分区+排序键创建单独的显示,因此,如果您的表没有排序键,您将看到两个图表,而不是全部四个。

  • 访问最多的项目(仅限分区键) – 确定您的表格或全局二级索引中访问最多项目的分区键。
  • 访问最多的项目(分区键 + 排序键) – 确定您的表格或全局二级索引中访问最多项目的分区和排序键。
  • 限制最多的项目(仅限分区键) – 确定您的表格或全局二级索引中限制最多项目的分区键。
  • 限制最多的项目(分区键 + 排序键) – 确定您的表格或全局二级索引中限制最多项目的分区和排序键。

访问最多的项目

我们来分析以下这些指标和图表的含义,从“访问最多的项目”指标开始。该指标根据读取和写入流量显示某个键被访问的频率。

这些图表中的离群值是最常访问的或最热的键。很多 DynamoDB 工作负载都至少有一些不平衡的流量,但您可以使用此图表了解您的工作负载是否会与 DynamoDB 的每个键限制发生冲突。另一方面,如果您看到几个紧密聚集的行中没有任何明显的离群值,则表示,您的工作负载在给定时间段内相对均衡地分布在各个项目上(很好地平衡了工作负载!)

限制最多的项目

“限制最多的项目”显示的是您的限制最多的键的限制计数与时间的图表。如果您发现此图表中没有数据,则表示您的请求尚未受到限制。如果您看到孤立点而非连接线,则表示项目仅在短时间被限制。

博客文章“选择适当的 DynamoDB 分区键”向我们讲述了设计使用 Amazon DynamoDB 的架构时选择适当的分区键的注意事项和策略的重要性。选择适当的分区键是在 DynamoDB 上设计和构建可扩展、可靠的应用程序的重要步骤。同时,您还可以查看 DynamoDB 文档页面“有效设计和使用分区键的最佳实践”。

与 CloudWatch 控制面板集成

为便于使用,从功能已与 CloudWatch 集成。您可以将上述任何图表集成到现有的 CloudWatch 控制面板中。下面来看看操作步骤。回到 DynamoDB 控制面板,点击 [添加到控制面板]。
您将被重定向到 CloudWatch 管理控制台,且系统会询问您添加到哪个控制面板。

您可以选择任何现有控制面板或创建新控制面板。例如,我将这些指标放入现有的测试控制面板 [test20180321] 中。

激活此功能不会对您的现有生产环境产生任何影响。您可以随时启用或禁用此功能。

现已正式推出

此功能现已在所有 AWS 区域正式推出。

– Kame;