日志记录任务设置 - Amazon 数据库迁移服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

日志记录任务设置

在迁移过程中 CloudWatch ,日志使用 Amazon 来记录信息。使用日志记录任务设置,您可指定要记录的组件活动以及将写入日志的信息量。日志记录任务设置写入到 JSON 文件。有关如何使用任务配置文件来设置任务设置的信息,请参阅任务设置示例

您可以通过多种方式开启 CloudWatch 日志记录。您可以在创建迁移任务时,在 Amazon Web Services Management Console上选择 EnableLogging 选项。或者,可在使用 Amazon DMS API 创建任务时,将 EnableLogging 选项设置为 true。也可以任务设置的日志记录部分的 JSON 形式指定 "EnableLogging": true

如果设置EnableLoggingtrue,则按如下方式Amazon DMS分配 CloudWatch 群组名称和直播名称。您无法直接设置这些值。

  • CloudWatchLogGroup: dms-tasks-<REPLICATION_INSTANCE_IDENTIFIER>

  • CloudWatchLogStream: dms-task-<REPLICATION_TASK_EXTERNAL_RESOURCE_ID>

<REPLICATION_INSTANCE_IDENTIFIER> 是复制实例的标识符。<REPLICATION_TASK_EXTERNAL_RESOURCE_ID> 是任务 ARN 的 <resourcename> 部分的值。有关 Amazon DMS 如何生成资源 ARN 的信息,请参阅为其构造亚马逊资源名称 (ARN) Amazon DMS

CloudWatch 与 Amazon Identity and Access Management (IAM) 集成,您可以指定Amazon账户中的用户可以执行哪些 CloudWatch操作。有关使用 IAM 的更多信息 CloudWatch,请参阅《亚马逊 CloudWatch 用户指南》中的 “亚马逊身份 CloudWatch和访问管理” 和 “记录亚马逊 CloudWatch API 调用”。

要删除任务日志,可以在任务设置日志记录部分的 JSON 中将 DeleteTaskLogs 设置为 true。

您可以为以下事件类型指定日志记录:

  • FILE_FACTORY – 文件工厂管理用于批量应用和批量加载的文件,并管理 Amazon S3 端点。

  • METADATA_MANAGER – 元数据管理器在复制期间管理源和目标元数据、分区和表状态。

  • SORTERSORTER 接收来自 SOURCE_CAPTURE 进程的传入事件。这些事件在事务中进行批处理,然后传送给 TARGET_APPLY 服务组件。如果 SOURCE_CAPTURE 进程生成事件的速度超过 TARGET_APPLY 组件消耗事件的速度,则 SORTER 组件会将积压的事件缓存到磁盘或交换文件中。缓存的事件是复制实例中存储空间不足的常见原因。

    SORTER 服务组件管理缓存的事件、收集 CDC 统计数据并报告任务延迟。

  • SOURCE_CAPTURE – 从源数据库或服务中捕获持续复制 (CDC) 数据,并传送到 SORTER 服务组件。

  • SOURCE_UNLOAD – 在完全加载期间从源数据库或服务中卸载数据。

  • TABLES_MANAGER – 表格管理器跟踪捕获的表、管理表迁移顺序并收集表统计信息。

  • TARGET_APPLY – 数据和数据定义语言 (DDL) 语句将应用于目标数据库。

  • TARGET_LOAD – 数据已加载到目标数据库中。

  • TASK_MANAGER – 任务管理器管理进行中任务,并将任务分解为子任务以进行并行数据处理。

  • TRANSFORMATION – 表映射转换事件。有关更多信息,请参见 使用表映射指定任务设置

  • VALIDATOR/ VALIDATOR_EXTVALIDATOR 服务组件验证数据是否已准确地从源迁移到目标。有关更多信息,请参见 数据验证

使用 LOGGER_SEVERITY_DETAILED_DEBUG 日志严重性级别时,以下日志组件会生成大量日志:

  • COMMON

  • ADDONS

  • DATA_STRUCTURE

  • COMMUNICATION

  • FILE_TRANSFER

  • FILE_FACTORY

在故障排除期间,这些组件很少需要 DEFAULT 以外的其他日志级别。除非 Amazon 支持部门有特殊要求,否则我们不建议在 DEFAULT 中更改这些组件的日志级别。

指定上述任一操作后,您可以指定记录的信息量,如以下列表所示。

严重性级别按信息的最低级别到最高级别排列。较高级别始终包含较低级别的信息。

  • LOGGER_SEVERITY_ERROR – 将错误消息写入日志。

  • LOGGER_SEVERITY_WARNING – 将警告和错误消息写入日志。

  • LOGGER_SEVERITY_INFO – 将信息性消息、警告和错误消息写入日志。

  • LOGGER_SEVERITY_DEFAULT – 将信息性消息、警告和错误消息写入日志。

  • LOGGER_SEVERITY_DEBUG – 将调试消息、信息性消息、警告和错误消息写入日志。

  • LOGGER_SEVERITY_DETAILED_DEBUG – 将所有信息写入日志。

以下 JSON 示例显示了用于记录所有操作和严重性级别的任务设置。

… "Logging": { "EnableLogging": true, "LogComponents": [ { "Id": "FILE_FACTORY", "Severity": "LOGGER_SEVERITY_DEFAULT" },{ "Id": "METADATA_MANAGER", "Severity": "LOGGER_SEVERITY_DEFAULT" },{ "Id": "SORTER", "Severity": "LOGGER_SEVERITY_DEFAULT" },{ "Id": "SOURCE_CAPTURE", "Severity": "LOGGER_SEVERITY_DEFAULT" },{ "Id": "SOURCE_UNLOAD", "Severity": "LOGGER_SEVERITY_DEFAULT" },{ "Id": "TABLES_MANAGER", "Severity": "LOGGER_SEVERITY_DEFAULT" },{ "Id": "TARGET_APPLY", "Severity": "LOGGER_SEVERITY_DEFAULT" },{ "Id": "TARGET_LOAD", "Severity": "LOGGER_SEVERITY_INFO" },{ "Id": "TASK_MANAGER", "Severity": "LOGGER_SEVERITY_DEBUG" },{ "Id": "TRANSFORMATION", "Severity": "LOGGER_SEVERITY_DEBUG" },{ "Id": "VALIDATOR", "Severity": "LOGGER_SEVERITY_DEFAULT" } ], "CloudWatchLogGroup": null, "CloudWatchLogStream": null }, …