使用 Amazon RDS 数据库日志文件 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 Amazon RDS 数据库日志文件

您可以使用 Amazon Web Services Management Console、Amazon Command Line Interface (Amazon CLI) 或 Amazon RDS API 查看、下载和监控数据库日志。不支持查看、下载或监控事务日志。

查看和列出数据库日志文件

您可以使用 Amazon Web Services Management Console查看数据库引擎的数据库日志文件。您可使用 Amazon CLI 或 Amazon RDS API 列出可下载或监控的日志文件。

注意

如果无法查看现有 Oracle 数据库实例的日志文件的列表,请重启该实例以查看列表。

要查看数据库日志文件,请执行以下操作

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

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

  3. 选择要查看其日志文件的数据库实例的名称。

  4. 选择 Logs & events (日志和事件) 选项卡。

  5. 向下滚动到日志部分。

  6. Logs (日志) 部分中,选择要查看的日志,然后选择 View (查看)

要列出数据库实例的可用数据库日志文件,请使用 Amazon CLI describe-db-log-files 命令。

以下示例将返回名为 my-db-instance 的数据库实例的日志文件列表。

aws rds describe-db-log-files --db-instance-identifier my-db-instance

要列出数据库实例的可用数据库日志文件,请使用 Amazon RDS API DescribeDBLogFiles 操作。

下载数据库日志文件

您可使用 Amazon Web Services Management Console、Amazon CLI 或 API 下载数据库日志文件。

要下载数据库日志文件,请执行以下操作

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

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

  3. 选择要查看其日志文件的数据库实例的名称。

  4. 选择 Logs & events (日志和事件) 选项卡。

  5. 向下滚动到日志部分。

  6. Logs (日志) 部分中,选择要下载的日志旁边的按钮,然后选择 Download (下载)

  7. 打开提供的链接的上下文 (右键单击) 菜单,然后选择将链接另存为。输入您希望保存日志文件的位置,然后选择保存

    
								查看日志文件

要下载数据库日志文件,请使用 Amazon CLI 命令 download-db-log-file-portion。默认情况下,该命令仅下载日志文件的最新部分。但是,您可以通过指定参数 --starting-token 0 下载整个文件。

以下示例演示如何下载一个名为 log/ERROR.4 的日志文件的全部内容并将其存储在一个名为 errorlog.txt 的本地文件中。

对于 Linux、macOS 或 Unix:

aws rds download-db-log-file-portion \ --db-instance-identifier myexampledb \ --starting-token 0 --output text \ --log-file-name log/ERROR.4 > errorlog.txt

对于 Windows:

aws rds download-db-log-file-portion ^ --db-instance-identifier myexampledb ^ --starting-token 0 --output text ^ --log-file-name log/ERROR.4 > errorlog.txt

要下载数据库日志文件,请使用 Amazon RDS API DownloadDBLogFilePortion 操作。

监视数据库日志文件

您可使用 Amazon Web Services Management Console 监控日志文件的内容。

控制台

要监视数据库日志文件,请执行以下操作

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

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

  3. 选择要查看其日志文件的数据库实例的名称。

  4. 选择 Logs & events (日志和事件) 选项卡。

  5. Logs (日志) 部分中,选择一个日志文件,然后选择 Watch (监视)

将数据库日志发布到 Amazon CloudWatch Logs

除了查看和下载数据库实例日志之外,您可以将日志发布到 Amazon CloudWatch Logs。通过 CloudWatch Logs,您可以对日志数据进行实时分析,将数据存储在高持久性存储中,并使用 CloudWatch Logs 代理管理数据。Amazon 无限期保留发布到 CloudWatch Logs 的日志数据,除非您指定了保留期限。有关更多信息,请参阅更改 CloudWatch Logs 中的日志数据保留

配置 CloudWatch 日志集成

启用日志数据发布之前,请确保您在 Amazon Identity and Access Management (IAM) 中具有服务相关角色。有关服务相关角色的更多信息,请参阅将服务相关角色用于 Amazon RDS

要将数据库日志文件发布到 CloudWatch Logs,请选择要发布的日志。在创建新数据库实例时,在高级设置部分中做出此选择。您也可以修改现有数据库实例以开始发布。


					添加 CloudWatch 日志

在启用发布之后,Amazon RDS 会持续将所有数据库实例日志记录流式传输到日志组。例如,对于您发布的每种类型的日志,您具有日志组 /aws/rds/instance/log type。此日志组与生成日志的数据库实例位于同一 Amazon 区域中。

在发布了日志记录后,可以使用 CloudWatch Logs 搜索和筛选记录。有关搜索和筛选日志的更多信息,请参阅搜索和筛选日志数据。有关介绍如何监控 RDS 日志的教程,请参阅使用 Amazon CloudWatch Logs、Amazon Lambda 和 Amazon SNS 为 Amazon RDS 构建主动式数据库监控

特定于引擎的日志信息

有关特定于引擎的信息,请参阅以下内容:

使用 REST 读取日志文件内容

Amazon RDS 提供允许访问数据库实例日志文件的 REST 终端节点。如果您需要编写应用程序来流式传输 Amazon RDS 日志文件内容,则这很有用。

语法如下:

GET /v13/downloadCompleteLogFile/DBInstanceIdentifier/LogFileName HTTP/1.1 Content-type: application/json host: rds.region.amazonaws.com

以下参数为必需参数:

  • DBInstanceIdentifier — 包含要下载的日志文件的数据库实例的名称。

  • LogFileName — 要下载的日志文件的名称。

响应将包含流形式的请求日志文件的内容。

以下示例为 us-west-2 区域中名为 sample-sql 的数据库实例下载名为 log/ERROR.6 的日志文件。

GET /v13/downloadCompleteLogFile/sample-sql/log/ERROR.6 HTTP/1.1 host: rds.us-west-2.amazonaws.com X-Amz-Security-Token: AQoDYXdzEIH//////////wEa0AIXLhngC5zp9CyB1R6abwKrXHVR5efnAVN3XvR7IwqKYalFSn6UyJuEFTft9nObglx4QJ+GXV9cpACkETq= X-Amz-Date: 20140903T233749Z X-Amz-Algorithm: AWS4-HMAC-SHA256 X-Amz-Credential: AKIADQKE4SARGYLE/20140903/us-west-2/rds/aws4_request X-Amz-SignedHeaders: host X-Amz-Content-SHA256: e3b0c44298fc1c229afbf4c8996fb92427ae41e4649b934de495991b7852b855 X-Amz-Expires: 86400 X-Amz-Signature: 353a4f14b3f250142d9afc34f9f9948154d46ce7d4ec091d0cdabbcf8b40c558

如果您指定的数据库实例不存在,则响应将包含以下错误:

  • DBInstanceNotFoundDBInstanceIdentifier 不引用现有数据库实例。(HTTP 状态代码: 404)