使用 Amazon CloudWatch Metrics Insights 监控大规模的 Amazo

使用 Amazon CloudWatch Metrics Insights 监控 Amazon Aurora 全球数据库的复制

关键要点

在这篇文章中,我们介绍了如何利用 Amazon CloudWatch Metrics Insights 监控 Amazon Aurora 全球数据库的复制过程,包括设置 CloudWatch 警报和仪表板,以便有效跟踪复制延迟和确保数据环境的持续可用性。

蜜蜂加速器下载入口

Amazon Aurora 是 AWS 提供的一种高性能、完全托管的关系数据库服务,与 MySQL 和 PostgreSQL 兼容,提供卓越的可扩展性、可用性和数据持久性。使用 Amazon Aurora 全球数据库 可以在多达五个不同的 AWS 区域之间进行数据复制,并为灾难恢复提供强大的支持。

为了确保 Aurora 全球数据库的弹性和恢复点目标RPO得以遵守,密切监控复制过程以跟踪复制延迟显得至关重要。您可以利用 Amazon CloudWatch Metrics Insights 的警报和仪表板来实现这一点。

Metrics Insights 是 Amazon CloudWatch 的一项功能,提供了对 Aurora 全球数据库复制监控的有价值能力。它可以帮助企业更好地理解复制延迟,并检测到任何复制延迟的异常。

在这篇文章中,我们将展示如何使用 Metrics Insights 警报和仪表板来监控 Aurora 全球数据库的复制。您还可以观看以下视频来引导您完成这一过程:

解决方案概述

以下图示概述了 Aurora 全球数据库复制的监控策略。

该解决方案的高层工作流程如下:

在两个区域之间设置 Aurora 全球数据库复制。当复制超出定义的延迟阈值时,CloudWatch 警报会触发。警报向 Amazon Simple Notification Service 发送通知。Amazon SNS 通过电子邮件通知用户。CloudWatch 仪表板为触发警报的 Aurora 全球数据库提供详细视图。

该解决方案主要由两个部分组成:一个 CloudWatch 警报 和一个 CloudWatch 仪表板。

CloudWatch 警报

Metrics Insights 是 Amazon CloudWatch 的一款功能强大的结构化查询语言 (SQL) 引擎,允许您通过使用单个警报高效查询规模较大的指标。借助这一功能,您可以设置一个 CloudWatch 警报来监控从一个区域例如 useast1到另一个区域例如 uswest2的所有 Aurora 全球数据库的复制。同样,您也可以设置另一个警报,监控不同区域对之间的复制情况,例如从 useast1 到 useast2。

使用 Amazon CloudWatch Metrics Insights 监控大规模的 Amazo

利用 Metrics Insights,我们可以创建一个聚合的 CloudWatch 警报,合并每个 Aurora 全球数据库集群的复制延迟指标值。该聚合警报在任何数据库超过定义的阈值时提供实时警报。

例如,如果我们有 10 个 Aurora 全球集群,当任意一个数据库集群超出定义的阈值时,即会触发警报。由于该警报基于聚合值运作,因此无法提供特定的细节,例如数据库名称或 ARN。在本文中,我们将引导您使用 CloudWatch 仪表板来识别超出定义阈值的具体数据库。

CloudWatch 仪表板

本文讨论的 CloudWatch 仪表板解决方案提供了关于您 Aurora 全球数据库复制延迟的全面和可视化的展示。这种集中监控解决方案能够实时跟踪多个数据库的复制状态。仪表板按名称列出所有 Aurora 全球数据库集群,允许您访问集群名称并获取其他必要信息,如数据库名称。此外,我们可以基于复制延迟时间对这些集群进行升序或降序排序并显示。

在监控 Aurora 全球数据库复制延迟时,我们建议在 Aurora 全球集群的次要区域创建仪表板。

在下面的 CloudWatch 仪表板中,x 轴显示了 Aurora 全球数据库集群dbtest1cluster1 dbtest2cluster1 dbtest3cluster1的复制延迟时间,以降序排列,y 轴显示 Aurora 全球数据库集群的复制延迟时间以毫秒为单位。它提供了过去一小时的历史记录。

总之,使用 CloudWatch 警报和仪表板的这一全面解决方案为您提供了强大的 Aurora 全球数据库复制延迟监控能力,确保数据库环境的持续可用性和性能。

前提条件

在开始之前,请确保您具备以下前提条件:

一个具有足够权限的 AWS 身份与访问管理 (IAM) 用户,用于服务的使用。一个 Aurora 全球数据库。如需设置说明,请参考 开始使用 Amazon Aurora 全球数据库。创建一个 SNS 主题并订阅一个电子邮件地址,以便 CloudWatch 警报发送通知。如需设置说明,请参考 配置 Amazon SNS。

演练

在本节中,我们将展示如何创建一个 CloudWatch 仪表板和一个 CloudWatch 警报来实现该解决方案。

创建 CloudWatch 仪表板

在本文中,我们将在连接到 Aurora 全球数据库集群次要区域以 useast1 为例时创建 CloudWatch 资源。请注意,CloudWatch 仪表板设计为跨区域可见,并将在主区域中可见。更多信息,请参考 创建 CloudWatch 仪表板。

在 CloudWatch 控制台的导航窗格中,选择 仪表板,然后选择 创建仪表板。在 创建新仪表板 对话框中,输入仪表板名称,然后选择 创建仪表板。在 添加小部件 部分,选择 折线图,并选择 指标 作为数据源,然后选择 下一步。在 添加指标图 对话框中的 查询 标签页,导航到 Metrics Insights 查询构建器。在查询构建器中,选择 命名空间,选择 AWS/RDS。选择要监控的指标在本帖中选择 AuroraGlobalDBReplicationLag。在 按条件过滤 中,选择您的源区域在本帖中为 SourceRegion = uswest2。在 按分组 中,选择 DBClusterIdentifier。在 按排序 中,选择 DESC。这将在仪表板上以复制延迟时间的降序显示 Aurora 全球数据库集群名称。

选择 运行,然后选择 创建小部件。根据您的用例和需求调整仪表板显示时间。选择 保存仪表板。

成功设置仪表板后,您应该能够在 x 轴上看到 Aurora 全球数据库按复制延迟时间排序的列表。通过调整仪表板上的时间,您可以查看相应的历史数据。

创建 CloudWatch 警报

完成以下步骤以在 Aurora 全球数据库集群的次要区域创建 CloudWatch 警报。有关更多信息,请参阅 基于静态阈值创建 CloudWatch 警报。

在 CloudWatch 控制台的导航窗格中,在 警报 下选择 所有警报。选择 创建警报。选择 选择指标。在 查询 标签页中,导航到 Metrics Insights 查询构建器。在 命名空间 中,选择 AWS/RDS。选择要监控的指标在本文中我们选择了 AuroraGlobalDBReplicationLag。有不同类型的 Aurora 集群级指标可用于监控 Aurora 全球数据库复制。请根据您的具体用例选择最合适的指标进行复制监控。例如,AuroraGlobalDBReplicationLag 测量从主区域到次要区域的复制延迟以毫秒为单位,而 AuroraGlobalDBDataTransferBytes 测量在主区域和次要区域之间传输的重做日志数据量。在 按条件过滤 中,选择 Aurora 全球数据库集群的源区域在本帖中我们选择了 SourceRegion = uswest2。

选择 运行。选择 选择指标。此时会显示 指定指标和条件 页,展示图表和其他信息。在 周期 中,选择适当的时间周期在本帖中我们选择 5 分钟。

在 条件 下,指定以下内容:

根据您特定的要求和所选指标为阈值值设置条件。例如,对于 AuroraGlobalDBReplicationLag 指标,请确保阈值值以毫秒为单位设置。选择 附加配置,在 触发警报的数据点 中,指定必须有多少个评估周期数据点处于 ALARM 状态,才能触发警报在本帖中我们保持默认值。有关更详细的信息,请参阅 警报评估。对于 缺失数据处理,选择当某些数据点缺失时,警报的行为在本帖中我们保持默认值。有关更详细的信息,请参阅 配置 CloudWatch 警报如何处理缺失数据。

选择 下一步。

在 通知 下,选择在前提条件部分创建的 SNS 主题,以便在警报处于 ALARM 状态时进行通知,然后选择 下一步。为警报输入一个名称。在描述中,您可以包括先前创建的仪表板的 URL,以使用户在通过 SNS 通知收到邮件警报时能够方便地访问仪表板。选择 下一步。在 预览并创建 中,确认信息和条件符合您的要求,然后选择 创建警报。

成功设置警报后,您将收到有关任何超出复制延迟阈值的 Aurora 全球数据库的电子邮件警报。

如果您想测试警报,可以使用以下示例通过 setalarmstate 命令临时更改名为 myalarm 的 Amazon CloudWatch 警报状态,并将其设置为 ALARM 状态。有关更多信息,请参阅 setalarmstate。

bashaws cloudwatch setalarmstate alarmname myalarm statevalue ALARM statereason testing purposes

由于在创建警报时我们在描述中包含了仪表板的 URL,因此警报将包含该 URL。单击该 URL 可进入 CloudWatch 仪表板,查看受影响 Aurora 全球数据库的详细信息。这种主动的方法可以有效地监控和管理 Aurora 全球数据库复制延迟。

清理

为了避免未来产生费用,请删除您在此文中创建的资源:

删除 Aurora 全球数据库集群。有关说明,请参考 删除 Aurora DB 集群和 DB 实例。删除 CloudWatch 警报。有关说明,请参考 编辑或删除 CloudWatch 警报。在 CloudWatch 控制台中,在导航窗格中选择 仪表板,然后选择您创建的仪表板并选择 删除。

结论

在这篇文章中,我们展示了如何使用 Metrics Insights 的能力设置 CloudWatch 警报和 CloudWatch 仪表板,从而高效监控 Aurora 全球数据库的复制。监控 Aurora 全球数据库的复制延迟提供了管理数据延迟的关键信息,并维护一个健壮的数据库灾难恢复框架。这种主动的方法提升了整体系统的弹性与用户体验。

欢迎您在评论区留下反馈。

关于作者

Daxeshkumar Patel 是 Amazon Web Services 专业服务团队的数据库顾问。他与客户和合作伙伴合作,专注于数据库迁移和现代化项目,帮助他们顺利迁移到 AWS 云。

Bhavesh Rathod 是 Amazon Web Services 专业服务团队的首席数据库顾问。他是一位数据库迁移专家,帮助客户将本地数据库环境迁移到 AWS 云数据库解决方案。

给我们留言