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

日志记录任务设置

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

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

如果将 EnableLogging 设置为 true,则 Amazon DMS 按如下方式分配 CloudWatch 组名称和流名称。您无法直接设置这些值。

  • CloudWatchLogGroupdms-tasks-<REPLICATION_INSTANCE_IDENTIFIER>

  • CloudWatchLogStreamdms-task-<REPLICATION_TASK_EXTERNAL_RESOURCE_ID>

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

CloudWatch 可与 Amazon Identity and Access Management(IAM)集成,您可以指定用户在 Amazon 账户中能够执行的 CloudWatch 操作。有关在 CloudWatch 中使用 IAM 的更多信息,请参阅《Amazon CloudWatch 用户指南》中的 Amazon CloudWatch 身份和访问管理以及记录 Amazon 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 服务组件验证数据是否已准确地从源迁移到目标。有关更多信息,请参阅 数据验证

  • DATA_RESYNC – 数据重新同步功能的常用组件,用于管理数据重新同步流程。有关更多信息,请参阅 Amazon DMS 数据重新同步

  • RESYNC_UNLOAD – 在重新同步流程期间从源数据库或服务中卸载数据。

  • RESYNC_APPLY – 在重新同步期间,数据操作语言(DML)语句应用于目标数据库。

使用 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 }, …