本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
监控AmazonDMS 任务
监控是保持 Amazon DMS 和您的 Amazon 解决方案的可靠性、可用性和性能的重要方面。您应该从 Amazon 解决方案的各个部分收集监控数据,以便您可以更轻松地调试多点故障(如果发生)。Amazon 提供了多种工具来监控您的 Amazon DMS 任务和资源并对潜在事件做出响应。
- Amazon DMS事件和通知
-
Amazon DMSAmazon SMS 将使用Amazon SMS 将事件时收取通知Amazon DMS发生事件,例如创建或删除复制实例。Amazon DMS将事件分组为您可以订阅的类型,以便您在出现该类事件时收取通知。例如,如果您订阅了指定复制实例的“创建”类别,则只要发生了与创建相关的事件影响到您的复制实例,您就会收到通知。您可以使用 Amazon SNS 支持的任何形式处理这些通知Amazon区域,例如电子邮件、短信或对 HTTP 终端节点的调用。有关更多信息,请参阅 在中处理亚马逊 SNS 事件和通知Amazon Database Migration Service。
- 任务状态
-
您可以查看任务状态和监控任务的控制表,以便监控任务的进度。任务状态指示 Amazon DMS 任务及其关联资源的状况。它包含此类指示,如同正在创建、启动、运行或停止任务一样。此外,它还包含任务正在迁移的表的当前状态,例如,表已开始或正在进行完全加载时,并包含表已执行的插入、删除和更新次数等详细信息。有关监控任务和任务资源条件的更多信息,请参阅 任务状态 和 任务期间的表状态。有关控制表的更多信息,请参阅控制表任务设置。
- 亚马逊 CloudWatch 警报和日志
-
使用亚马逊 CloudWatch 警报,则会在一段您指定的时间段内监视一个或多个任务指标。如果指标超过给定阈值,则会向 Amazon SNS 主题发送通知。 CloudWatch 警报不会调用操作,因为它们处于特定状态。而是必须在状态已改变并在指定的若干个时间段内保持不变后才调用。Amazon DMS 还使用 CloudWatch 在迁移过程中记录任务信息。您可以使用 Amazon CLI 或 Amazon DMS API 查看有关任务日志的信息。有关使用的更多信息 CloudWatch 和Amazon DMS,见使用亚马逊监控复制任务 CloudWatch。有关监控 Amazon DMS 指标的更多信息,请参阅Amazon Database Migration Service 指标。有关使用 Amazon DMS 任务日志的更多信息,请参阅 查看和管理AmazonDMS 任务日志。
- Time Travel
-
要记录和调试复制任务,可以使用Amazon DMSTime Travel 在这种方法中,您可以使用 Amazon S3 存储日志,并使用加密密钥对其进行加密。您可以使用日期时间过滤器检索 S3 日志,然后根据需要查看、下载和混淆日志。通过这样做,您可以 “回到过去” 来调查数据库活动。
你可以将 Time Travel 与 DMS 支持的 PostgreSQL 源端点以及 DMS 支持的 PostgreSQL 和 MySQL 目标端点一起使用。您只能为满载任务和 CDC 任务以及仅限 CDC 任务开启时空旅行。要开启时空旅行或修改任何现有的时空旅行设置,请确保您的任务已停止。
有关 To Scaling 日志的更多信息,请参阅时空旅行任务设置。有关使用时空旅行日志的最佳实践,请参阅使用 Time Travel 解决复制任务。
- Amazon CloudTrail 日志
-
Amazon DMS 与 Amazon CloudTrail 集成,后者是一项在 Amazon DMS 中提供用户、IAM 角色或 Amazon 服务所采取操作的记录的服务。 CloudTrail 会将 Amazon DMS 的所有 API 调用(包括来自 Amazon DMS 控制台的调用和对 Amazon DMS API 操作的代码调用)作为事件捕获。如果创建跟踪,则会向 CloudTrail 将向 Amazon S3 存储桶发送事件,包括的事件Amazon DMS。如果未配置跟踪,则会向 CloudTrail 收缩控制台事件历史。使用所收集的信息 CloudTrail,则会向Amazon DMS、收取通知、收取通知、收取通知、收取通知、收取通知。有关更多信息,请参阅使用 Amazon DMS 记录 Amazon CloudTrail API 调用:
- Database
-
您可以使用 Amazon 数据库服务的 Amazon Web Services Management Console、Amazon CLI 或 API 查看、下载和监控任务终端节点的数据库日志。要了解更多信息,则会向Amazon文档。
有关更多信息,请参阅以下主题。
主题
任务状态
任务状态表示任务的状况。下表显示了任务可能具有的状态:
任务状态 | 描述 |
---|---|
Creating |
Amazon DMS正在创建任务。 |
正在运行 |
任务正在执行指定的迁移工作。 |
Stopped |
任务已停止。 |
Stopping |
正在停止任务。这通常表明任务中有用户干预。 |
Deleting |
正在删除任务,通常源于用户的干预请求。 |
Failed |
任务已失败。有关更多信息,请参阅任务日志文件。 |
Error |
由于出错,任务已停止。最后一条失败消息部分提供了任务错误的简要描述概述tab。 |
运行时出现错误 |
任务正在运行,状态为错误。这通常表示无法迁移任务中的一个或多个表。该任务继续根据选择规则加载其他表。 |
Starting |
任务正在连接到复制实例以及源和目标终端节点。应用所有筛选条件和转换。 |
Ready (就绪) |
任务已准备好运行。此状态通常在“creating”状态之后。 |
Modifying |
正在修改任务,通常是由于修改了任务设置的用户操作造成。 |
移动 |
正在将任务移到另一个复制实例。在移动完成之前,将保持此状态。删除任务是复制任务在移动时唯一允许对其执行的操作。 |
Migration |
由于任何原因,例如目标复制实例上没有足够的存储空间,任务移动都失败了。当复制任务处于这种状态时,可以启动、修改、移动或删除该任务。 |
测试 |
正在测试为此任务指定的数据库迁移,以响应运行以下任一任务StartReplicationTaskAssessmentRun,或者StartReplicationTaskAssessment操作。 |
任务状态栏提供了任务进度的估计值。此估计值的质量取决于源数据库的表统计数据的质量;表统计数据的质量越好,估计值就越准确。对于只有一个表而且该表没有估算行统计数据的任务,我们无法提供任何类型的完成百分比估算值。在此情况下,可使用任务状态和加载行的指示来确认任务是否确实在运行且取得进展。
请注意,DMS 控制台的 “上次更新” 列仅显示以下时间Amazon DMS上次更新了表格的表统计记录。它不指示上次更新表的时间。
除了使用 DMS 控制台外,您还可以输出使用对当前复制任务(包括任务状态)的描述aws dms
describe-replication-tasks
命令在Amazon CLI,如以下示例所示。
{ "ReplicationTasks": [ { "ReplicationTaskIdentifier": "moveit2", "SourceEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:6GGI6YPWWGAYUVLKIB732KEVWA", "TargetEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:EOM4SFKCZEYHZBFGAGZT3QEC5U", "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:T3OM7OUB5NM2LCVZF7JPGJRNUE", "MigrationType": "full-load", "TableMappings": ...output omitted... , "ReplicationTaskSettings": ...output omitted... , "Status": "stopped", "StopReason": "Stop Reason FULL_LOAD_ONLY_FINISHED", "ReplicationTaskCreationDate": 1590524772.505, "ReplicationTaskStartDate": 1590619805.212, "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:task:K55IUCGBASJS5VHZJIINA45FII", "ReplicationTaskStats": { "FullLoadProgressPercent": 100, "ElapsedTimeMillis": 0, "TablesLoaded": 0, "TablesLoading": 0, "TablesQueued": 0, "TablesErrored": 0, "FreshStartDate": 1590619811.528, "StartDate": 1590619811.528, "StopDate": 1590619842.068 } } ] }
任务期间的表状态
的Amazon在迁移期间,DMS 控制台会更新有关表状态的信息。下表显示了可能的状态值:

状态 | 描述 |
---|---|
表不存在 |
AmazonDMS 无法在源端点上找到该表。 |
加载前 |
完全加载过程已启用,但尚未启动。 |
完全加载 |
完全加载过程正在进行。 |
表已完成 |
完全加载已完成。 |
表已取消 |
已取消加载表。 |
表错误 |
加载表时出错。 |
使用亚马逊监控复制任务 CloudWatch
你可以使用亚马逊 CloudWatch 警报或事件,以更密切地跟踪您的迁移。有关亚马逊的更多信息 CloudWatch,见什么是亚马逊 CloudWatch,亚马逊 CloudWatch 活动和亚马逊 CloudWatch 日志?在亚马逊 CloudWatch 《用户指南》 请注意,使用亚马逊会收费 CloudWatch。
如果您的复制任务未创建 CloudWatch 日志,请参阅Amazon DMS不创建 CloudWatch 日志在故障排除指南中。
的Amazon DMS控制台显示基本信息 CloudWatch 每项任务的统计信息,包括任务状态、完成百分比、已用时间和表统计信息,如下所示。选择复制任务,然后选择CloudWatch 指标tab。
要查看和修改 CloudWatch 任务日志设置,选择修改任务日志。有关更多信息,请参阅日志记录任务设置:

的Amazon当您选择 DMS 控制台时,DMS 控制台会显示每个表的性能统计信息,包括插入、删除和更新的次数Tabasetab。

此外,如果您从中选择复制实例复制实例页面上,则会向 “选择” 来查看实例的性能指标CloudWatch 指标tab。

Amazon Database Migration Service 指标
AmazonDMS 提供以下方面的统计信息:
任务指标划分为复制主机与源终端节点之间的统计数据,以及复制主机与目标终端节点之间的统计数据。您可以将两个相关的统计数据加在一起,确定某个任务的统计数据总计。例如,您可以通过组合来确定任务的总延迟或副本延迟CDCLatencySource和CDCLatencyTarget价值观。
任务指标值受您源数据库上当前活动的影响。例如,如果交易已经开始,但尚未提交,那么CDCLatencySource在交易提交之前,指标会继续增长。
对于复制实例,则会向FreeableMemory指标需要澄清。FreeableMemory 并不指示实际的可用内存。它是当前使用的可释放内存 (以用于其他用途);它是复制实例上使用的缓冲区和缓存的组合。
虽然FreeableMemorymetric 不反映实际可用内存,即两者的组合FreeableMemory和SwapUsage指标可以指示复制实例是否过载。
请监控这两个指标是否出现以下情况:
的FreeableMemory指标接近零。
的SwapUsage指标增加或波动。
如果出现上述任一情况,则表示应考虑移动到更大的复制实例。还应考虑减少在复制实例上运行的任务数量和类型。完全加载任务所需的内存比仅复制更改的任务需要的内存多。
粗略估计 a 的实际内存需求Amazon DMS迁移任务,则会使用以下参数。
- LOB
迁移范围内每个表中平均的 LOB 列数。
- 可并行加载的表数量上限
可容纳的最大表数Amazon DMS在一个任务中并行加载。
默认值为 8。
- LOB 区块大小
LOB 区块的大小(以千字节为单位)Amazon DMS用于将数据复制到目标数据库。
- 满负荷期间的提交率
最大记录数Amazon DMS可以并行传输。
默认值是 10,000。
- LOB Size
单个 LOB 的最大大小,以千字节为单位。
- 批量阵列大小
您的端点驱动程序获取或处理的最大行数。此值取决于驱动程序设置。
默认值是 1,000。
确定这些值后,您可以使用以下方法之一来估算迁移任务所需的内存量。这些方法取决于您选择的选项LOB 列设置收缩任务。
-
对于完整 LOB 模式,使用以下公式。
Required memory = (LOB columns) * (Maximum number of tables to load in parallel) * (LOB chunk size) * (Commit rate during full load)
举一个例子,您的源表平均包含 2 个 LOB 列,而 LOB 区块的大小为 64 KB。如果您使用默认值
Maximum number of tables to load in parallel
和Commit rate during full load
,则您的任务所需的内存量如下所示。Required memory = 2 * 8 * 64 * 10,000 = 10,240,000 KB
注意
为了降低价值满负荷期间的提交率,打开Amazon DMS控制台,选择Database Mig,然后创建或修改任务。展开高级设置,然后输入您的值满负荷期间的提交率。
-
对于有限的 LOB 模式,使用以下公式。
Required memory = (LOB columns) * (Maximum number of tables to load in parallel) * (LOB size) * (Bulk array size)
举一个例子,您的源表平均包含 2 个 LOB 列,而单个 LOB 的最大大小为 4,096 KB。如果您使用默认值
Maximum number of tables to load in parallel
和Bulk array size
,则您的任务所需的内存量如下所示。Required memory = 2 * 8 * 4,096 * 1,000 = 65,536,000 KB
对于Amazon DMS要以最佳方式执行转换,转换时必须有 CPU 可用。CPU 过载和没有足够的 CPU 资源可能会导致迁移速度缓慢。Amazon DMS可能占用 CPU 密集型,尤其是在执行异构迁移和复制(例如从 Oracle 迁移到 PostgreSQL)时。对于这些情况,使用 C4 复制实例类可能是一个不错的选择。有关更多信息,请参阅为您的迁移选择正确的 Amazon DMS 复制实例:
复制实例指标
复制实例监控包括亚马逊 CloudWatch 以下统计数据的指标。
指标 |
描述 |
---|---|
AvailableMemory |
在不进行交换时收取的类型,以便您在出现该类事件时收取通知。有关更多信息,请参阅 单位:字节 |
CPU 已分配 |
为任务分配的 CPU 最大百分比(0 表示没有限制)。 Amazon DMS将此指标与的组合维度相提并论 单位:百分比 |
CPU 利用率 |
实例上当前正在使用的已分配的 vCPU(虚拟 CPU)的百分比。 单位:百分比 |
DiskQueueDepth |
等待访问磁盘的未完成读/写请求 (I/O) 的数量。 单位:计数 |
FreeStorageSpace |
可用存储空间的大小。 单位:字节 |
FreeMemory |
可供应用程序、页面缓存和内核自己的数据结构使用的物理内存量。有关更多信息,请参阅 单位:字节 |
FreeableMemory |
随机存取内存的可用大小。 单位:字节 |
MemoryAllocated |
任务的最大内存分配(0 表示没有限制)。 Amazon DMS将此指标与的组合维度相提并论 单位:MiB |
写入 IOPS |
每秒平均磁盘写入 I/O 操作数。 单位:计数/秒 |
读取 IOPS |
每秒平均磁盘读取 I/O 操作数。 单位:计数/秒 |
WriteThroughput |
每秒写入磁盘的平均字节数。 单位:字节/秒 |
ReadThroughput |
每秒从磁盘读取的平均字节数。 单位:字节/秒 |
WriteLatency |
每个磁盘 I/O(输出)操作所需的平均时间。 单位:毫秒 |
ReadLatency |
每个磁盘 I/O(输入)操作所需的平均时间。 单位:毫秒 |
SwapUsage |
复制实例上使用的交换空间的大小。 单位:字节 |
NetworkTransmitThroughput |
复制实例的传出(传输)网络流量,包括客户数据库流量和Amazon DMS用于监控和复制的流量。 单位:字节/秒 |
NetworkReceiveThroughput |
复制实例的传入(收取通知),包括客户数据库流量和Amazon DMS用于监控和复制的流量。 单位:字节/秒 |
复制任务指标
复制任务监控包括以下统计数据的指标。
指标 |
描述 |
---|---|
FullLoadThroughputBandwidthTarget |
目标满负荷时传输的传出数据,以 KB 每秒 KB 为单位。 |
FullLoadThroughputRowsTarget |
目标上的完全加载的传出更改,以行/秒为单位。 |
CDCIncomingChanges |
a的变更事件总数 point-in-time 正在等待应用于目标。请注意,这与源终端节点的事务更改速率指标不同。此指标的数字过大通常表示Amazon DMS无法及时应用捕获的更改,从而导致目标延迟过高。 |
CDCChangesMemorySource |
内存中累积并等待从源提交的行数。您可以与 CDC 一起查看此指标ChangesDiskSource。 |
CDCChangesMemoryTarget |
内存中累积并等待提交到目标的行数。您可以与 CDC 一起查看此指标ChangesDiskTarget。 |
CDCChangesDiskSource |
磁盘上累积并等待从源提交的行数。您可以与 CDC 一起查看此指标ChangesMemorySource。 |
CDCChangesDiskTarget |
磁盘上累积并等待提交到目标的行数。您可以与 CDC 一起查看此指标ChangesMemoryTarget。 |
CDCThroughputBandwidthTarget |
为目标传输的传出数据,以 KB 每秒 KB 为单位。CDCThroughputBandwidth 记录在采样点传输的传出数据。如果未找到任务网络流量,则会向 0。由于 CDC 不发布长时间运行的事务,可能不会记录网络流量。 |
CDCThroughputRowsSource |
源的传入任务更改,以行/秒为单位。 |
CDCThroughputRowsTarget |
目标的传出任务更改,以行/秒为单位。 |
CDCLatencySource |
从源端点捕获的最后一个事件与源端点的当前系统时间戳之间的间隔(以秒为单位)Amazon DMS实例。CDCLatencySource 表示源实例和复制实例之间的延迟。高 CDCLatencySource 表示从源捕获更改的过程被延迟。要确定正在进行的复制过程中的延迟,您可以与 CDC 一起查看此指标LatencyTarget。如果两者都是 CDCLatencySource 和疾病预防控制中心LatencyTarget 处于高位,疾病预防控制中心调查LatencySource第一。 CDCSourceLatency 当源实例和复制实例之间没有复制延迟时,可以为 0。CDCSourceLatency当复制任务尝试读取源事务日志中的下一个事件并且与上次从源读取时相比没有新事件时,也可能变为零。如果发生这种情况,则会重置 CDCSourceLatency 收缩到 0。 |
CDCLatencyTarget |
等待在目标上提交的第一个事件时间戳与目标的当前时间戳之间的间隔(以秒为单位)Amazon DMS实例。目标延迟是复制实例服务器时间与转发到目标组件的最早未经确认的事件 ID 之间的差异。换句话说,目标延迟是复制实例与应用但未经TRG端点确认的最早事件之间的时间戳差 (99%)。疾病预防控制中心时LatencyTarget 为高,表示将更改事件应用于目标的过程已延迟。要确定正在进行的复制过程中的延迟,您可以与 CDC 一起查看此指标LatencySource。如果疾病预防控制中心LatencyTarget 很高但是疾病预防控制中心LatencySource 不高,调查是否:
|
CPU 利用率 |
任务在多个内核上使用的 CPU 百分比。任务 CPUUUtilization 的语义与复制 CPUUtilizaiton 略有不同。如果 1 个 vCPU 已完全使用,则表示 100%;但如果有多个 vCPU 在使用中,则该值可能高于 100%。 单位:百分比 |
SwapUsage |
任务使用的交换量。 单位:字节 |
MemoryUsage |
对照组 (cgroup)memory.usage_in_bytes被任务消耗。DMS 使用 cgroup 来控制内存和 CPU 等系统资源的使用。该指标表示为该任务分配的 cgroup 中任务的内存使用量(以兆字节为单位)。cgroup 限制基于您的 DMS 复制实例类的可用资源。memory.usage_in_bytes由内存的驻留集大小 (RSS)、缓存和交换组件组成。如果需要,操作系统可以回收缓存。我们建议您同时监控复制实例指标,AvailableMemory。 Amazon DMS将此指标与的组合维度相提并论 |
查看和管理AmazonDMS 任务日志
你可以使用亚马逊 CloudWatch 在执行期间记录任务信息Amazon DMSMigration P 您可以在选择任务设置时启用日志记录。有关更多信息,请参阅日志记录任务设置:
要查看运行的任务的日志,请按照下列步骤操作:
-
打开 Amazon DMS 控制台,然后从导航窗格中选择数据库迁移任务。此时将显示“数据库迁移任务”对话框。
-
选择角色的名称。此时将显示“概述详细信息”对话框。
-
找到迁移任务日志分区并选择查看 CloudWatch 日志。
此外,您还可以使用Amazon CLI要么Amazon DMS用于查看任务日志信息的 API。为此,请使用describe-replication-instance-task-logs
Amazon CLI命令或Amazon DMSAPI 任务DescribeReplicationInstanceTaskLogs
。
例如,以下Amazon CLI命令以 JSON 格式显示任务日志元数据。
$ aws dms describe-replication-instance-task-logs \ --replication-instance-arn arn:aws:dms:us-east-1:237565436:rep:CDSFSFSFFFSSUFCAY
命令中的示例响应如下所示。
{ "ReplicationInstanceTaskLogs": [ { "ReplicationTaskArn": "arn:aws:dms:us-east-1:237565436:task:MY34U6Z4MSY52GRTIX3O4AY", "ReplicationTaskName": "mysql-to-ddb", "ReplicationInstanceTaskLogSize": 3726134 } ], "ReplicationInstanceArn": "arn:aws:dms:us-east-1:237565436:rep:CDSFSFSFFFSSUFCAY" }
在此响应中,只有一个与复制实例关联的任务日志 (mysql-to-ddb
)。此日志的大小为 3,726,124 字节。
您可以使用由 describe-replication-instance-task-logs
返回的信息来诊断和排查任务日志的问题。例如,如果您为某项任务启用详细调试日志记录,则任务日志将迅速增长,这可能会占用复制实例上的所有可用存储空间,并导致实例状态更改为storage-full
。通过描述任务日志,您可以确定不再需要的日志;然后可以将其删除,从而释放存储空间。
要删除任务的任务日志,请将任务设置 DeleteTaskLogs
设置为 true。例如,以下 JSON 在使用修改任务时会删除任务日志Amazon CLI modify-replication-task
命令或Amazon DMSAPIModifyReplicationTask
行动。
{ "Logging": { "DeleteTaskLogs":true } }
使用 Amazon DMS 记录 Amazon CloudTrail API 调用
Amazon DMS已与集成Amazon CloudTrail,一种提供用户、角色或AmazonServiceAmazon DMS。 CloudTrail 捕获的所有 API 调用Amazon DMS作为事件,包括来自的呼叫Amazon DMS控制台和从代码调用到Amazon DMSAPI 操作 如果创建跟踪,则会向 CloudTrail 将向 Amazon S3 存储桶发送事件,包括的事件Amazon DMS。如果未配置跟踪,则会向 CloudTrail 收缩控制台事件历史。使用所收集的信息 CloudTrail,则会向Amazon DMS、收取通知、收取通知、收取通知、收取通知、收取通知。
了解相关更多信息 CloudTrail,请参阅Amazon CloudTrailDatabase。
Amazon DMS信息在 CloudTrail
CloudTrail 已在您的设备上启用Amazon在创建账户时使用帐户。当活动发生在Amazon DMS,则会向 CloudTrail 活动以及其他AmazonService事件历史。您可以在 Amazon 账户中查看、搜索和下载最新事件。有关更多信息,请参阅使用查看事件 CloudTrail Evation。
要持续记录 Amazon 账户中的事件(包括 Amazon DMS 的事件),请创建跟踪。Traile CloudTrail 将向 Amazon S3 存储桶发送日志文件。预设情况下,在控制台中创建跟踪时,此跟踪应用于所有 Amazon 区域。此跟踪记录来自 Amazon 分区中的所有 Amazon 区域的事件,并将日志文件传送至您指定的 Amazon S3 存储桶。此外,您可以配置其他Amazon服务,以进一步分析并根据中收集的事件数据采取行动 CloudTrail 日志。有关更多信息,请参阅:
全部Amazon DMS操作记录者为 CloudTrail 并记录在Amazon Database Migration ServiceAPI 参考。例如,则会向CreateReplicationInstance
,TestConnection
和StartReplicationTask
操作在中生成条目 CloudTrail 日志文件。
每个事件或日志条目都包含有关生成请求的人员信息。身份信息可帮助您确定以下内容:
-
请求是使用根用户凭证还是 IAM 用户凭证发出的。
-
请求是使用角色还是联合身份用户的临时安全凭证发出的。
-
请求是否由其它 Amazon 服务发出。
有关更多信息,请参阅 CloudTrail userIdentity 元素。
了解 Amazon DMS 日志文件条目
跟踪是一种配置,可用于将事件作为日志文件传送到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。一个事件表示来自任何源的一个请求,包括有关所请求的操作、操作的日期和时间、请求参数等方面的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪,因此它们不会以任何特定的顺序出现。
以下示例显示了 CloudTrail 演示以下内容的日志条目RebootReplicationInstance
行动。
{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE:johndoe", "arn": "arn:aws:sts::123456789012:assumed-role/admin/johndoe", "accountId": "123456789012", "accessKeyId": "ASIAYFI33SINADOJJEZW", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-08-01T16:42:09Z" }, "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:role/admin", "accountId": "123456789012", "userName": "admin" } } }, "eventTime": "2018-08-02T00:11:44Z", "eventSource": "dms.amazonaws.com", "eventName": "RebootReplicationInstance", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.64", "userAgent": "console.amazonaws.com", "requestParameters": { "forceFailover": false, "replicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:EX4MBJ2NMRDL3BMAYJOXUGYPUE" }, "responseElements": { "replicationInstance": { "replicationInstanceIdentifier": "replication-instance-1", "replicationInstanceStatus": "rebooting", "allocatedStorage": 50, "replicationInstancePrivateIpAddresses": [ "172.31.20.204" ], "instanceCreateTime": "Aug 1, 2018 11:56:21 PM", "autoMinorVersionUpgrade": true, "engineVersion": "2.4.3", "publiclyAccessible": true, "replicationInstanceClass": "dms.t2.medium", "availabilityZone": "us-east-1b", "kmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/f7bc0f8e-1a3a-4ace-9faa-e8494fa3921a", "replicationSubnetGroup": { "vpcId": "vpc-1f6a9c6a", "subnetGroupStatus": "Complete", "replicationSubnetGroupArn": "arn:aws:dms:us-east-1:123456789012:subgrp:EDHRVRBAAAPONQAIYWP4NUW22M", "subnets": [ { "subnetIdentifier": "subnet-cbfff283", "subnetAvailabilityZone": { "name": "us-east-1b" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-d7c825e8", "subnetAvailabilityZone": { "name": "us-east-1e" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-6746046b", "subnetAvailabilityZone": { "name": "us-east-1f" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-bac383e0", "subnetAvailabilityZone": { "name": "us-east-1c" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-42599426", "subnetAvailabilityZone": { "name": "us-east-1d" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-da327bf6", "subnetAvailabilityZone": { "name": "us-east-1a" }, "subnetStatus": "Active" } ], "replicationSubnetGroupIdentifier": "default-vpc-1f6a9c6a", "replicationSubnetGroupDescription": "default group created by console for vpc id vpc-1f6a9c6a" }, "replicationInstanceEniId": "eni-0d6db8c7137cb9844", "vpcSecurityGroups": [ { "vpcSecurityGroupId": "sg-f839b688", "status": "active" } ], "pendingModifiedValues": {}, "replicationInstancePublicIpAddresses": [ "18.211.48.119" ], "replicationInstancePublicIpAddress": "18.211.48.119", "preferredMaintenanceWindow": "fri:22:44-fri:23:14", "replicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:EX4MBJ2NMRDL3BMAYJOXUGYPUE", "replicationInstanceEniIds": [ "eni-0d6db8c7137cb9844" ], "multiAZ": false, "replicationInstancePrivateIpAddress": "172.31.20.204", "patchingPrecedence": 0 } }, "requestID": "a3c83c11-95e8-11e8-9d08-4b8f2b45bfd5", "eventID": "b3c4adb1-e34b-4744-bdeb-35528062a541", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }
Amazon DMS上下文日志
Amazon DMS使用上下文记录为您提供有关正在进行的迁移的信息。上下文日志记录将诸如以下内容之类的信息写入任务的 CloudWatch 日志:
有关任务与源和目标数据库的连接的信息。
复制任务行为。您可以使用任务日志来诊断复制问题。
没有数据的 SQL 语句Amazon DMS在源数据库和目标数据库上执行。您可以使用 SQL 日志来诊断意外的迁移行为。
直播每个 CDC 事件的位置详情。
上下文记录仅在中可用Amazon DMS3.5.0 或更高版本。
Amazon DMS默认情况下开启上下文记录。要控制上下文日志,请设置EnableLogContext
任务设置为true
要么false
,或者通过在控制台中修改任务。
Amazon DMS将上下文日志信息写入 CloudWatch 每三分钟执行一次日志的复制任务。确保您的复制实例有足够的空间来存储其应用程序日志。有关管理任务日志的更多信息,请参阅查看和管理AmazonDMS 任务日志。
Database
Amazon DMS生成上下文登录 CloudWatch 用于以下对象类型。
Database | 描述 |
---|---|
TABLE_NAME |
这些日志条目包含有关当前任务映射规则范围内表的信息。您可以使用这些条目来检查迁移期间特定时间段内的表事件。 |
SCHEMA_NAME |
这些日志条目包含有关当前任务映射规则使用的架构的信息。您可以使用这些条目来确定哪个架构Amazon DMS在迁移期间的特定时间内使用。 |
TRANSACTION_ID |
这些条目包含从源数据库捕获的每个 DML/DDL 更改的事务 ID。您可以使用这些日志条目来确定在给定事务期间发生了哪些更改。 |
CONNECTION_ID |
这些条目包含连接 ID。您可以使用这些日志条目来确定哪个连接Amazon DMS用于每个迁移步骤。 |
STATEMENT |
这些条目包含用于获取、处理和应用每项迁移更改的 SQL 代码。 |
STREAM_POSITION |
这些条目包含源数据库上每个迁移操作在事务日志文件中的位置。这些条目的格式因源数据库引擎类型而异。在配置仅限 CDC 的复制时,您还可以使用此信息来确定恢复检查点的起始位置。 |
日志示例
本节包含可用于监控复制和诊断复制问题的日志记录示例。
连接日志示例
本节包含包含连接 ID 的日志示例。
2023-02-22T10:09:29 [SOURCE_CAPTURE ]I: Capture record 1 to internal queue from Source {operation:START_REGULAR (43),
connectionId:27598
, streamPosition:0000124A/6800A778.NOW} (streamcomponent.c:2920) 2023-02-22T10:12:30 [SOURCE_CAPTURE ]I: Capture record 0 to internal queue from Source {operation:IDLE (51),connectionId:27598
} (streamcomponent.c:2920) 2023-02-22T11:25:27 [SOURCE_CAPTURE ]I: Capture record 0 to internal queue from Source {operation:IDLE (51), columnName:region,connectionId:27598
} (streamcomponent.c:2920)
任务行为日志示例
本节包含有关复制任务日志行为的日志示例。您可以使用这些信息来诊断复制问题,例如中的任务IDLE
状态。
以下SOURCE_CAPTURE
日志表示没有可从源数据库日志文件中读取的事件,并且包含TARGET_APPLY
表明未收到来自的事件的记录Amazon DMS要应用于目标数据库的 CDC 组件。这些事件还包含先前应用的事件相关上下文详细信息。
2023-02-22T11:23:24 [SOURCE_CAPTURE ]I: No Event fetched from wal log (postgres_endpoint_wal_engine.c:1369) 2023-02-22T11:24:29 [TARGET_APPLY ]I: No records received to load or apply on target , waiting for data from upstream. The last context is {operation:INSERT (1), tableName:sales_11, schemaName:public, txnId:18662441, connectionId:17855, statement:INSERT INTO "public"."sales_11"("sales_no","dept_name","sale_amount","sale_date","region") values (?,?,?,?,?),
SQL 语句日志示例
本节包含有关在源数据库和目标数据库上运行的 SQL 语句的日志示例。您在日志中看到的 SQL 语句仅显示 SQL 语句;它们不显示数据。以下TARGET_APPLY
日志显示INSERT
在目标上运行的语句。
2023-02-22T11:26:07 [TARGET_APPLY ]I: Applied record 2193305 to target {operation:INSERT (1), tableName:sales_111, schemaName:public, txnId:18761543, connectionId:17855, statement:INSERT INTO "public"."sales_111"("sales_no","dept_name","sale_amount","sale_date","region") values (?,?,?,?,?),
限制
以下限制适用于Amazon DMS上下文日志:
虽然Amazon DMS为所有端点类型创建最少的日志记录,广泛的特定于引擎的上下文日志仅适用于以下端点类型。我们建议在使用这些端点类型时开启上下文日志记录。
MySQL
PostgreSQL
Oracle
Microsoft SQL Server
MongoDB/ Amazon DocumentDB
Amazon S3