将 MySQL 日志发布到 Amazon CloudWatch Logs - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 MySQL 日志发布到 Amazon CloudWatch Logs

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

Amazon RDS 将每个 MySQL 数据库日志作为日志组中的单独数据库流进行发布。例如,如果您将导出功能配置为包括慢速查询日志,则慢速查询数据将存储在 /aws/rds/instance/my_instance/slowquery 日志组中的慢速查询日志流中。

默认情况下,启用错误日志。下表总结了其他 MySQL 日志的要求。

日志 要求

审核日志

数据库实例必须使用具有 MARIADB_AUDIT_PLUGIN 选项的自定义选项组。

常规日志

数据库实例必须使用具有参数设置 general_log = 1 的自定义参数组才能启用常规日志。

慢速查询日志

数据库实例必须使用具有参数设置 slow_query_log = 1 的自定义参数组才能启用慢速查询日志。

日志输出

数据库实例必须使用具有参数设置 log_output = FILE 的自定义参数组,才能将日志写入文件系统并将日志发布到 CloudWatch Logs。

使用控制台将 MySQL 日志发布到 CloudWatch Logs
  1. 通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases (数据库),然后选择要修改的数据库实例。

  3. 选择修改

  4. Log exports (日志导出) 部分中,选择要开始发布到 CloudWatch Logs 的日志。

  5. 选择继续,然后选择摘要页面上的修改数据库实例

您可以使用 Amazon CLI 来发布 MySQL 日志。您可以调用带以下参数的 modify-db-instance 命令:

  • --db-instance-identifier

  • --cloudwatch-logs-export-configuration

注意

--cloudwatch-logs-export-configuration 选项进行的更改始终立即应用于数据库实例。因此,--apply-immediately--no-apply-immediately 选项没有影响。

您还可以通过调用以下 Amazon CLI 命令来发布 MySQL 日志:

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

  • --db-instance-identifier

  • --enable-cloudwatch-logs-exports

  • --db-instance-class

  • --engine

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

以下示例修改现有的 MySQL 数据库实例以将日志文件发布到 CloudWatch Logs。--cloudwatch-logs-export-configuration 值是 JSON 对象。此对象的键是 EnableLogTypes,其值是具有 auditerrorgeneralslowquery 的任意组合的字符串的数组。

对于 Linux、macOS 或 Unix:

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

对于 Windows:

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

以下示例将创建一个 MySQL 数据库实例并将日志文件发布到 CloudWatch Logs。--enable-cloudwatch-logs-exports 值是 JSON 字符串数组。这些字符串可以是 auditerrorgeneralslowquery 的任意组合。

对于 Linux、macOS 或 Unix:

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \ --db-instance-class db.m4.large \ --engine MySQL

对于 Windows:

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^ --db-instance-class db.m4.large ^ --engine MySQL

您可以使用 RDS API 来发布 MySQL 日志。您可以使用以下参数调用 ModifyDBInstance 操作:

  • DBInstanceIdentifier

  • CloudwatchLogsExportConfiguration

注意

CloudwatchLogsExportConfiguration 参数进行的更改始终立即应用于数据库实例。因此,ApplyImmediately 参数没有影响。

您还可以通过调用以下 RDS API 操作来发布 MySQL 日志:

使用以下参数运行这些 RDS API 操作之一:

  • DBInstanceIdentifier

  • EnableCloudwatchLogsExports

  • Engine

  • DBInstanceClass

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