使用 Amazon CloudWatch 日志监控和记录工作流程 - AWS Entity Resolution 数据匹配服务

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

使用 Amazon CloudWatch 日志监控和记录工作流程

AWS Entity Resolution 数据匹配服务提供全面的日志记录功能,可帮助您检查和分析匹配和 ID 映射工作流程。通过与 Amazon CloudWatch Logs 集成,您可以捕获有关工作流程执行的详细信息,包括事件类型、时间戳、处理统计数据和错误计数。您可以选择将这些日志传送到日 CloudWatch 志、Amazon S3 或 Amazon Data Firehose 目的地。通过分析这些日志,您可以评估服务性能,解决问题,深入了解您的客户群,并更好地了解您的AWS Entity Resolution 数据匹配服务使用情况和账单。虽然默认情况下日志记录处于禁用状态,但您可以通过控制台或 API 为新的和现有的工作流程启用日志记录。

启用AWS Entity Resolution 数据匹配服务工作流程日志记录功能时,将收取标准的 Amazon CloudWatch 售货费,包括与日志提取、存储和分析相关的费用;有关详细的定价信息,请访问CloudWatch 定价页面。 。

设置日志传输

本节将说明使用AWS Entity Resolution 数据匹配服务日志记录所需的必要权限,以及如何使用控制台和启用日志传输 APIs。

Permissions

AWS Entity Resolution 数据匹配服务使用 CloudWatch 已发送的日志来传送工作流程日志。要传送工作流程日志,您需要拥有对所指定日志记录目标的权限。

要查看每个日志目标所需的权限,请从 Amazon L CloudWatch ogs 用户指南中的以下AWS服务中进行选择。

要在中创建、查看或更改日志配置AWS Entity Resolution 数据匹配服务,您必须具有所需的权限。您的 IAM 角色必须包含以下最低权限才能在AWS Entity Resolution 数据匹配服务控制台中管理工作流程日志。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowLogDeliveryActionsConsoleCWL", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:log-group:*" ] }, { "Sid": "AllowLogDeliveryActionsConsoleS3", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::*" ] }, { "Sid": "AllowLogDeliveryActionsConsoleFH", "Effect": "Allow", "Action": [ "firehose:ListDeliveryStreams", "firehose:DescribeDeliveryStream" ], "Resource": [ "*" ] } ] }

有关管理工作流程日志的权限的更多信息,请参阅 Amazon Log CloudWatch s 用户指南中的启用AWS服务日志记录。

为新工作流程启用日志记录(控制台)

设置登录目标的权限后,您可以使用控制台为新工作流程启用日志记录。AWS Entity Resolution 数据匹配服务

为新工作流程启用日志记录(控制台)
  1. 在家中打开https://console.aws.amazon.com/entityresolution/主AWS Entity Resolution 数据匹配服务机。

  2. 在 “工作流程” 下,选择 “匹配工作流” 或 “ID 映射工作流”。

  3. 按照步骤创建以下工作流程之一:

  4. 对于步骤 1 指定匹配的工作流程详细信息,对于日志传送- EntityResolution 工作流程日志,选择添加

    1. 选择以下日志记录目标之一。

      • 到 Amazon CloudWatch 日志

      • 前往亚马逊 S3

      • 前往亚马逊 Data Firehose

      提示

      如果您选择 Amazon S3 或 Firehose,则可以将日志传送到跨账户或活账户。

      要启用跨账户交付,两者都AWS 账户必须具有所需的权限。有关更多信息,请参阅 Amazon L CloudWatch ogs 用户指南中的跨账户交付示例

  5. 对于目标日志组,将自动创建以 “/aws/vendedlogs/” 为前缀的日志组。如果您使用的是其他日志组,请在设置日志传输之前对其进行操作。有关更多信息,请参阅 Amazon 日志用户指南中的使用日志组和 CloudWatch 日志

  6. 如需更多设置-可选,请选择以下选项:

    1. 在 “字段选择” 中,选择要包含在每条日志记录中的日志字段。

    2. (CloudWatch 日志)对于输出格式,选择日志的输出格式。

    3. 对于字段分隔符,选择如何分隔每个日志字段。

    4. (Amazon S3) 对于后缀,请指定用于对数据进行分区的后缀路径。

    5. (Amazon S3) 对于兼容 Hive,如果要使用兼容 Hive 的 S3 路径,请选择 “用”。

  7. 要创建另一个日志目标,请选择添加并重复步骤 4-6。

  8. 完成其余步骤以设置和运行工作流程。

  9. 工作流程作业完成后,在您指定的日志传输目标中检查工作流日志。

为新工作流程启用日志记录 (API)

设置登录目标权限后,您可以AWS Entity Resolution 数据匹配服务使用 Amazon Logs 为新工作流程启用 CloudWatch 日志功能 APIs。

为新工作流程启用日志记录 (API)
  1. 在AWS Entity Resolution 数据匹配服务控制台中创建工作流程后,获取该工作流程的 Amazon 资源名称 (ARN)。

    您可以从AWS Entity Resolution 数据匹配服务控制台的工作流程页面找到 ARN,也可以调用GetMatchingWorkflowGetIdMappingWorkflow API 操作。

    工作流程 ARN 遵循以下格式:

    arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(matchingworkflow/[a-zA-Z_0-9-]{1,255})

    ID 映射 ARN 遵循以下格式:

    arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idmappingworkflow/[a-zA-Z_0-9-]{1,255})

    有关更多信息,请参阅《AWS Entity Resolution 数据匹配服务 API 参考》 中的 GetMatchingWorkflowGetIdMappingWorkflow

  2. 使用 CloudWatch Logs PutDeliverySource API 操作为工作流程日志创建传送源。

    有关更多信息,请参阅 Amazon CloudWatch 日志 API 参考PutDeliverySource中的。

    1. 通过resourceArn.

    2. 对于logType,收集的日志类型为WORKFLOW_LOGS

    PutDeliverySourceAPI 操作示例

    { "logType": "WORKFLOW_LOGS", "name": "my-delivery-source", "resourceArn": "arn:aws:entityresolution:region:accoungId:matchingworkflow/XXXWorkflow" }
  3. 使用 PutDeliveryDestination API 操作配置日志的存储位置。

    您可以选择 CloudWatch Logs、Amazon S3 或 Firehose 作为目标。您必须为日志的存储位置指定其中一个目标选项的 ARN。

    有关更多信息,请参阅 Amazon CloudWatch 日志 API 参考PutDeliveryDestination中的。

    PutDeliveryDestinationAPI 操作示例

    { "delivery-destination-configuration": { "destinationResourceArn": "arn:aws:logs:region:accountId:log-group:my-log-group" }, "name": "my-delivery-destination", "outputFormat": "json", } }
    注意

    如果您要跨账户传送日志,则必须使用 PutDeliveryDestinationPolicyAPI 为目标账户分配AWS Identity and Access Management(IAM) 策略。IAM 策略支持将日志从一个账户传输到另一个账户。

  4. 使用 CreateDelivery API 操作将传送源链接到您在前面步骤中创建的目标。此 API 操作会将传输源与最终目标关联起来。

    有关更多信息,请参阅 Amazon CloudWatch 日志 API 参考PutDeliveryDestination中的。

    CreateDeliveryAPI 操作示例

    { "delivery-destination-arn": "arn:aws:logs:region:accountId:log-group:my-log-group", "delivery-source-name": "my-delivery-source", "tags": { "string" : "string" } }
  5. 运行 工作流。

  6. 工作流程作业完成后,在您指定的日志传输目标中检查工作流日志。

为现有工作流程启用日志记录(控制台)

设置日志目标权限后,您可以使用控制台上的 “日志交付” 选项卡为现有工作流程启用日志记录。AWS Entity Resolution 数据匹配服务

使用 “日志交付” 选项卡(控制台)为现有工作流程启用日志记录
  1. 在家中打开https://console.aws.amazon.com/entityresolution/主AWS Entity Resolution 数据匹配服务机。

  2. 在 “工作流程” 下,选择 “匹配工作流程” 或 “ID 映射工作流程”,然后选择您的现有工作流程。

  3. 在 “日志传送” 选项卡的 “日志传送” 下,选择 “添加”,然后选择以下日志记录目标之一。

    • 到 Amazon CloudWatch 日志

    • 到 Amazon S3

      • 跨账户

      • 在当前账户中

    • 前往亚马逊 Data Firehose

      • 跨账户

      • 在当前账户中

    提示

    如果您选择 Amazon S3 或 Firehose,则可以将日志传送到跨账户或活账户。

    要启用跨账户交付,两者都AWS 账户必须具有所需的权限。有关更多信息,请参阅 Amazon L CloudWatch ogs 用户指南中的跨账户交付示例

  4. 在模态中,根据您选择的日志传送类型,执行以下操作。

    1. 查看日志类型WORKFLOW _LOGS。

      无法更改日志类型

    2. (CloudWatch 日志)对于目标日志组,将自动创建以 “/aws/vendedlogs/” 为前缀的日志组。如果您使用的是其他日志组,请在设置日志传输之前对其进行操作。有关更多信息,请参阅 Amazon 日志用户指南中的使用日志组和 CloudWatch 日志

      (往来账户中的 Amazon S3)对于目标 S3 存储桶,选择一个存储桶或输入 ARN。

      (亚马逊 S3 交叉账户)对于配送目的地 ARN,输入配送目的地 ARN。

      (当前账户中的 Firehose)对于目标传送流,请输入在其他账户中创建的传送目标资源的 ARN。

      (Firehose 交叉账户)对于配送目的地 ARN,请输入配送目的地 ARN

  5. 如需更多设置-可选,请选择以下选项:

    1. 在 “字段选择” 中,选择要包含在每条日志记录中的日志字段。

    2. (CloudWatch 日志)对于输出格式,选择日志的输出格式。

    3. 对于字段分隔符,选择如何分隔每个日志字段。

    4. (Amazon S3) 对于后缀,请指定用于对数据进行分区的后缀路径。

    5. (Amazon S3) 对于兼容 Hive,如果要使用兼容 Hive 的 S3 路径,请选择 “用”。

  6. 选择添加

  7. 在工作流程页面上,选择运行

  8. 工作流程作业完成后,在您指定的日志传输目标中检查工作流日志。

禁用日志记录(控制台)

您可以随时在控制台中禁用AWS Entity Resolution 数据匹配服务工作流程的日志记录。

禁用工作流程日志(控制台)
  1. 在家中打开https://console.aws.amazon.com/entityresolution/主AWS Entity Resolution 数据匹配服务机。

  2. 在 “工作流程” 下,选择 “匹配工作流程” 或 “ID 映射工作流程”,然后选择您的工作流程。

  3. 在 “日志传送” 选项卡的 “日志传送” 下,选择目标,然后选择 “删除”。

  4. 查看您的更改,然后导航到下一步以保存更改。

读取日志

阅读 Amazon CloudWatch 日志可帮助您保持高效AWS Entity Resolution 数据匹配服务的工作流程。日志可以详细了解您的工作流程执行情况,包括处理的记录数量和遇到的任何错误等重要指标,从而帮助您确保数据处理顺利进行。此外,日志还可通过时间戳和事件类型实时跟踪工作流程进度,使您能够快速识别数据处理管道中的瓶颈或问题。全面的错误跟踪和记录计数信息可以准确显示成功处理了多少记录以及是否还有未处理的记录,从而帮助您保持数据的质量和完整性。

如果您使用 CloudWatch 日志作为目标,则可以使用 CloudWatch Logs Insights 来读取工作流程日志。通常 CloudWatch 会收取日志费用。有关更多信息,请参阅 Amazon Logs 用户指南中的使用 CloudWatch 日志见解分析 CloudWatch 日志数据

注意

工作流程日志可能需要几分钟才能显示在您的目标中。如果您没有看到日志,请等待几分钟并刷新页面。

工作流日志由一系列格式化的日志记录组成,其中每条日志记录代表一个工作流程。日志中字段的顺序可能会变化。

{ "resource_arn": "arn:aws:ses:us-east-1:1234567890:mailmanager-ingress-point/inp-xxxxx", "event_type": "JOB_START", "event_timestamp": 1728562395042, "job_id": "b01eea4678d4423a4b43eeada003f6", "workflow_name": "TestWorkflow", "workflow_start_time": "2025-03-11 10:19:56", "data_procesing_progression": "Matching Job Starts ...", "total_records_processed": 1500, "total_records_unprocessed": 0, "incremental_records_processed": 0, "error_message": "sample error that caused workflow failure" }

以下列表按顺序描述了日志记录字段:

resource_arn

Amazon 资源名称 (ARN),用于唯一标识工作流程中使用的AWS资源。

event_type

工作流程执行期间发生的事件类型。AWS Entity Resolution 数据匹配服务目前支持:

JOB_START

DATA_PROCESSING_STEP_START

DATA_PROCESSING_STEP_END

JOB_SUCCESS

JOB_FAILURE

event_timestamp

指示工作流程中事件发生时间的 Unix 时间戳。

job_id

分配给特定工作流程任务执行的唯一标识符。

workflow_name

为正在执行的工作流程指定的名称。

workflow_start_time

开始执行工作流程的日期和时间。

data_procesing_progression

对数据处理工作流程当前阶段的描述。示例:"Matching Job Starts""Loading Step Starts""ID_Mapping Job Ends Successfully"

total_records_processed

在工作流程中成功处理的记录总数。

total_records_unprocessed

在工作流程执行期间未处理的记录数。

incremental_records_processed

在增量工作流程更新中处理的新记录数。

error_message

工作流程失败的根本原因。