亚马逊 RDS 活动 - AWS 规范性指导

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

亚马逊 RDS 活动

一个亚马逊 RDS 活动表示 Amazon RDS 环境发生了变化。例如,当数据库实例状态从正在启动可用,亚马逊 RDS 会生成事件RDS-EVENT-0088 The DB instance has been started。亚马逊 RDS 向亚马逊提供活动EventBridge近乎实时。您可以通过 Amazon RDS 控制台访问事件,AWS CLI命令描述事件,或者亚马逊 RDS API 操作DescribeEvents。以下屏幕插图显示了 Amazon RDS 控制台上显示的事件和日志。

在 Amazon RDS 控制台上显示的警报、事件和日志

Amazon RDS 会发出不同类型的事件,包括数据库实例事件、数据库参数组事件、数据库安全组事件、数据库快照事件、RDS 代理事件和蓝/绿部署事件。这些信息包括:

  • 源名称和源类型;例如:"SourceIdentifier": "database-1", "SourceType": "db-instance"

  • 事件的日期和时间;例如:"Date": "2022-12-01T09:20:28.595000+00:00"

  • 与事件相关的消息;例如:"Message": "Finished updating DB parameter group"

  • 事件类别;例如:"EventCategories": ["configuration change"]

如需完整的参考资料,请参见亚马逊 RDS 事件类别和事件消息在亚马逊 RDS 文档中。

我们建议您监控 Amazon RDS 事件,因为这些事件表示数据库实例可用性的状态变化、配置更改、只读副本状态更改、备份和恢复事件、故障事件、对安全组的修改以及许多其他通知。例如,如果您设置了只读副本数据库实例以增强数据库的性能和耐久性,我们建议您监控 Amazon RDS 事件只读副本与数据库实例关联的事件类别。这是因为诸如此类的事件RDS-EVENT-0057 Replication on the read replica was terminated表示您的只读副本不再与主数据库实例同步。向负责团队通知此类事件已发生可能有助于及时缓解问题。亚马逊EventBridge以及其他 AWS 服务,例如AWS Lambda、亚马逊简单队列服务 (Amazon SQS) 和亚马逊简单通知服务 (Amazon SNS) 可以帮助您自动响应系统事件,例如数据库可用性问题或资源更改。

在 Amazon RDS 控制台上,您可以检索过去 24 小时的事件。如果你使用AWS CLI或者使用 Amazon RDS API 查看事件,您可以使用以下方法检索过去 14 天的事件描述事件命令如下。

$ aws rds describe-events --source-identifier database-1 --source-type db-instance { "Events": [ { "SourceIdentifier": "database-1", "SourceType": "db-instance", "Message": "CloudWatch Logs Export enabled for logs [audit, error, general, slowquery]", "EventCategories": [], "Date": "2022-12-01T09:20:28.595000+00:00", "SourceArn": "arn:aws:rds:eu-west-3:111122223333:db:database-1" }, { "SourceIdentifier": "database-1", "SourceType": "db-instance", "Message": "Finished updating DB parameter group", "EventCategories": [ "configuration change" ], "Date": "2022-12-01T09:22:40.413000+00:00", "SourceArn": "arn:aws:rds:eu-west-3:111122223333:db:database-1" } ] }

如果您想长期存储事件,无论是在指定的到期期之前还是永久存储,都可以使用CloudWatch日志记录有关 Amazon RDS 生成的事件的信息。要实现此解决方案,您可以使用 Amazon SNS 主题接收 Amazon RDS 事件通知,然后调用 Lambda 函数来记录该事件CloudWatch日志。

  1. 创建将在事件上调用的 Lambda 函数,并将事件中的信息记录到CloudWatch日志。CloudWatch日志与 Lambda 集成,提供了一种记录事件信息的便捷方式,方法是打印函数变为stdout

  2. 通过订阅 Lambda 函数创建 SNS 主题(设置协议到 Lambda),然后设置端点到您在上一步中创建的 Lambda 函数的亚马逊资源名称 (ARN)。

  3. 配置您的 SNS 主题以接收 Amazon RDS 事件通知。有关详细说明,请参见AWS回复:发布文章介绍如何让您的亚马逊 SNS 主题接收 Amazon RDS 通知。

  4. 在 Amazon RDS 控制台上,创建新的事件订阅。设置目标到 ARN,然后选择您之前创建的 SNS 主题。设置来源类型要包括的事件类别根据你的要求。有关更多信息,请参见订阅亚马逊 RDS 事件通知在亚马逊 RDS 文档中。