Amazon Aurora
Aurora 用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将 Amazon Aurora MySQL 日志发布到 Amazon CloudWatch Logs

您可以配置 Aurora MySQL 数据库集群以将一般、慢速、审核和错误日志数据发布到 Amazon CloudWatch Logs 中的日志组。利用 CloudWatch Logs,可以对日志数据进行实时分析并使用 CloudWatch 创建警报和查看指标。您可以使用 CloudWatch Logs 在高持久性存储中存储日志记录。

要将日志发布到 CloudWatch Logs,必须启用相应日志。默认情况下启用错误日志,但您必须明确启用其他类型的日志。有关在 MySQL 中启用日志的信息,请参阅 MySQL 文档中的选择一般查询和慢速查询日志输出目标。有关启用 Aurora MySQL 审核日志的更多信息,请参阅 启用高级审核

注意

请注意以下事项:

  • 对于 中国 (宁夏) 区域,您无法将日志发布到 CloudWatch Logs。

  • 如果禁用了导出日志数据,则 Aurora 不会删除现有日志组或日志流。如果禁用了导出日志数据,现有日志数据在 CloudWatch Logs 中保持可用 (具体取决于日志保留),并且您仍将产生存储审核日志数据的费用。您可以使用 CloudWatch Logs 控制台、AWS CLI 或 CloudWatch Logs API 删除日志流和日志组。

  • 将审核日志发布到 CloudWatch Logs 的一种替代方法是,启用高级审核并将集群级别的数据库参数 server_audit_logs_upload 设置为 1server_audit_logs_upload 参数的默认值为 0

    如果使用该替代方法,您必须具有 IAM 角色以访问 CloudWatch Logs,并将 aws_default_logs_role 集群级参数设置为该角色的 ARN。有关创建 角色的信息,请参阅设置 IAM 角色以访问 AWS 服务。不过,如果您具有 AWSServiceRoleForRDS 服务相关角色,它提供 CloudWatch Logs 的访问权限并覆盖所有自定义角色。有关 Amazon RDS 的服务相关角色的信息,请参阅对 Amazon Aurora 使用服务相关角色

  • 如果您不希望将审核日志导出到 CloudWatch Logs,请确保导出审核日志的所有方法都已禁用。这些方法包括 AWS 管理控制台、AWS CLI、RDS API 和 server_audit_logs_upload 参数。

  • 此过程对于 Aurora Serverless 集群和预配置集群稍有不同。Serverless 集群会自动上传您通过配置参数启用的所有类型的日志。因此,您将通过在数据库集群参数组中打开和关闭不同的日志类型来启用或禁用 Serverless 集群的日志上传。您不能通过 AWS 管理控制台、AWS CLI 或 RDS API 修改集群本身的设置。有关为 Serverless 集群启用 MySQL 日志的信息,请参阅 Aurora Serverless 和参数组

控制台

您可以使用控制台将预配置集群的 Aurora MySQL 日志发布到 CloudWatch Logs。

从控制台发布 Aurora MySQL 日志

  1. 通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择 Databases (数据库)

  3. 选择要为其发布日志数据的 Aurora MySQL 数据库集群。

  4. 对于 Actions (操作),选择 Modify (修改)

  5. 日志导出部分中,选择要开始发布到 CloudWatch Logs 的日志。

  6. 选择继续,然后选择摘要页面上的 修改数据库集群

AWS CLI

您可以使用 AWS CLI 发布预配置集群的 Aurora MySQL 日志。要这样做,您可以使用以下选项运行 modify-db-cluster AWS CLI 命令:

  • --db-cluster-identifier — 数据库集群标识符。

  • --cloudwatch-logs-export-configuration — 为数据库集群导出到 CloudWatch Logs 而启用的日志类型的配置设置。

您还可以运行以下 AWS CLI 命令之一以发布 Aurora MySQL 日志:

通过以下选项运行上述 AWS CLI 命令之一:

  • --db-cluster-identifier — 数据库集群标识符。

  • --engine — 数据库引擎。

  • --enable-cloudwatch-logs-exports — 为数据库集群导出到 CloudWatch Logs 而启用的日志类型的配置设置。

根据您运行的 AWS CLI 命令,可能需要其他选项。

以下命令修改现有的 Aurora MySQL 数据库集群以将日志文件发布到 CloudWatch Logs。

针对 Linux、OS X 或 Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","general","slowquery","audit"]}'

对于 Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","general","slowquery","audit"]}'

以下命令创建一个 Aurora MySQL 数据库集群以将日志文件发布到 CloudWatch Logs。

针对 Linux、OS X 或 Unix:

aws rds create-db-cluster \ --db-cluster-identifier mydbcluster \ --engine aurora \ --enable-cloudwatch-logs-exports '["error","general","slowquery","audit"]'

对于 Windows:

aws rds create-db-cluster ^ --db-cluster-identifier mydbcluster ^ --engine aurora ^ --enable-cloudwatch-logs-exports '["error","general","slowquery","audit"]'
RDS API

您可以使用 RDS API 发布预配置集群的 Aurora MySQL 日志。要这样做,您可以使用以下选项运行 ModifyDBCluster 操作:

  • DBClusterIdentifier—数据库集群标识符。

  • CloudwatchLogsExportConfiguration — 为数据库集群导出到 CloudWatch Logs 而启用的日志类型的配置设置。

您还可以通过运行以下 RDS API 操作之一,使用 RDS API 发布 Aurora MySQL 日志:

使用以下参数运行 RDS API 操作:

  • DBClusterIdentifier—数据库集群标识符。

  • Engine — 数据库引擎。

  • EnableCloudwatchLogsExports — 为数据库集群导出到 CloudWatch Logs 而启用的日志类型的配置设置。

根据您运行的 AWS CLI 命令,可能需要其他参数。

在 Amazon CloudWatch 中监控日志事件

在启用 Aurora MySQL 日志事件后,您可以在 Amazon CloudWatch Logs 中监控事件。将自动使用以下前缀为 Aurora 数据库集群创建新的日志组,其中 cluster-name 表示数据库集群名称,log_type 表示日志类型。

/aws/rds/cluster/cluster-name/log_type

例如,如果您将导出功能配置为包括名为 mydbcluster 的数据库集群的慢速查询日志,则慢速查询数据将存储在 /aws/rds/cluster/mydbcluster/slowquery 日志组中。

将使用不同的日志流将来自数据库集群中的所有数据库实例的所有事件推送到一个日志组。

如果存在具有指定名称的日志组,Aurora 将使用该日志组为 Aurora 数据库集群导出日志数据。您可以使用自动化配置 (例如 AWS CloudFormation) 创建具有预定义日志保留期、指标筛选条件和客户访问权限的日志组。否则,将自动使用默认日志保留期(永不过期)在 CloudWatch Logs 中创一个新的日志组。您可以使用 CloudWatch Logs 控制台、AWS CLI 或 CloudWatch Logs API 更改日志保留期。有关在 CloudWatch Logs 中更改日志保留期的更多信息,请参阅更改 CloudWatch Logs 中的日志数据保留期

您可以使用 CloudWatch Logs 控制台、AWS CLI 或 CloudWatch Logs API 在数据库集群的日志事件中搜索信息。有关搜索和筛选日志数据的更多信息,请参阅搜索和筛选日志数据