查看 Cloud Data Fusion 日志

本文档介绍了如何访问和查看 Cloud Data Fusion 的流水线日志和服务日志。

从 Cloud Data Fusion 版本 6.11 开始,您可以在 Cloud Logging 中查看流水线日志和服务日志。

日志类型简介

Cloud Data Fusion 会生成多种类型的日志,以帮助您监控数据集成流程并排查相关问题:

流水线日志
这些日志提供有关各个流水线运行(包括预览运行)的详细信息。它们涵盖了流水线运行的所有阶段,例如运行前设置、作业执行和运行后活动。

服务日志
这些日志提供有关 Cloud Data Fusion 系统服务(例如 AppFabric 和 AppFabric 处理器)的详细信息。

审核日志
Cloud Data Fusion 会生成审核日志,例如管理员活动审核日志。如需了解详情,请参阅 Cloud Data Fusion 审核日志记录

高级流水线日志
这些日志提供有关各个流水线运行的详细信息。 这些日志对于排查流水线故障特别有用,因为它们甚至在 Managed Service for Apache Spark 集群完成预配之前就会捕获信息,这有助于识别集群问题或延迟。如需了解详情,请参阅在 Cloud Logging 中查看高级流水线日志

价格

使用 Cloud Logging 和 Cloud Monitoring 会产生费用。如需了解详情,请参阅 Google Cloud Observability 价格

可选:导入 Cloud Data Fusion Logging 信息中心

如需使用 Cloud Data Fusion Logging 信息中心查看流水线日志和服务日志,请导入该信息中心:

  1. 在 Google Cloud 控制台中,前往 Cloud Monitoring 信息中心页面。

    转到“信息中心”

  2. 点击查看信息中心模板

  3. 搜索 Cloud Data Fusion Logging,然后选择相应的信息中心。

  4. 点击 将 Cloud Data Fusion 日志记录信息中心添加到您的列表

查看流水线日志

您可以使用 Cloud Data Fusion Logging 控制台查看流水线日志,也可以直接在 Logs Explorer 中查看。

使用信息中心查看流水线日志

  1. 如果您尚未执行此操作,请导入 Cloud Data Fusion Logging 信息中心

  2. 我的信息中心部分中,点击 Cloud Data Fusion 日志记录

  3. 流水线日志部分中,查看流水线日志列表。您可以按严重程度、字段名称和值过滤日志。

    如需使用查询来优化搜索,请使用 Logs Explorer。

在 Logs Explorer 中查看流水线日志

  1. 在 Google Cloud 控制台中,前往 Logs Explorer 页面。

    转到 Logs Explorer

  2. 输入以下查询:

    resource.type="datafusion.googleapis.com/PipelineV2"
    

    系统会显示流水线日志列表。您可以使用过滤条件来优化结果。

过滤流水线日志

您可以按运行 ID、实例 ID、流水线 ID、位置、命名空间或自定义标签过滤流水线日志。

每个 Cloud Data Fusion 流水线运行都分配有唯一的 RunID。部署并运行流水线后,您可以找到流水线的 RunID 并查看相应的流水线日志。

如需按 RunID 过滤流水线日志,请按以下步骤操作:

  1. 获取流水线的 RunID

  2. 在 Google Cloud 控制台中,前往 Logs Explorer 页面。

  3. 输入以下查询:

    resource.type="datafusion.googleapis.com/PipelineV2" resource.labels.run_id=RUN_ID
    

查看服务日志

您可以使用 Cloud Data Fusion Logging 信息中心或在 Logs Explorer 中查看服务日志。

使用信息中心查看服务日志

  1. 如果您尚未执行此操作,请导入 Cloud Data Fusion Logging 信息中心

  2. 我的信息中心部分中,点击 Cloud Data Fusion 日志记录

  3. 服务日志部分中,查看服务日志列表。您可以按严重程度、字段名称和值过滤日志。

    如需使用查询来优化搜索,请使用 Logs Explorer。

在 Logs Explorer 中查看服务日志

从 Cloud Data Fusion 版本 6.11.1.1 开始,系统服务日志默认使用 InstanceV3 受监控的资源 (datafusion.googleapis.com/InstanceV3)。这些日志使用 services-v3 日志名称后缀,并且不包含之前版本中的 org_idnamespace 标签。虽然新实例和升级后的实例默认停用 InstanceV2 日志发送功能,但如果您的操作依赖于旧版标签,您可以使用 Cloud Data Fusion REST API 重新启用 InstanceV2 日志记录功能

如需在 Logs Explorer 中查看服务日志,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Logs Explorer 页面。

    转到 Logs Explorer

  2. 输入相应服务的特定查询,即可查找服务日志。

    服务名称 针对 InstanceV2 的日志查询 针对 InstanceV3 的日志查询
    Appfabric
    resource.type="datafusion.googleapis.com/InstanceV2"
    labels.".serviceId"="appfabric"
    
    resource.type="datafusion.googleapis.com/InstanceV3"
    labels.".serviceId"="appfabric"
    
    AppFabric 处理器
    resource.type="datafusion.googleapis.com/InstanceV2"
    labels.".serviceId"="appfabric.processor"
    
    resource.type="datafusion.googleapis.com/InstanceV3"
    labels.".serviceId"="appfabric.processor"
    
    数据集执行程序
    resource.type="datafusion.googleapis.com/InstanceV2"
    labels.".serviceId"="dataset.executor"
    
    resource.type="datafusion.googleapis.com/InstanceV3"
    labels.".serviceId"="dataset.executor"
    
    日志保存器
    resource.type="datafusion.googleapis.com/InstanceV2"
    labels.".serviceId"="log.saver"
    
    resource.type="datafusion.googleapis.com/InstanceV3"
    labels.".serviceId"="log.saver"
    
    元数据服务
    resource.type="datafusion.googleapis.com/InstanceV2"
    labels.".serviceId"="metadata.service"
    
    resource.type="datafusion.googleapis.com/InstanceV3"
    labels.".serviceId"="metadata.service"
    
    指标
    resource.type="datafusion.googleapis.com/InstanceV2"
    labels.".serviceId"="metrics"
    
    resource.type="datafusion.googleapis.com/InstanceV3"
    labels.".serviceId"="metrics"
    
    Pipeline Studio
    resource.type="datafusion.googleapis.com/InstanceV2" 
    resource.labels.namespace="system"
    labels.".userserviceid"="studio"
    
    resource.type="datafusion.googleapis.com/InstanceV3"
    labels.".userserviceid"="studio"
    
    运行时
    resource.type="datafusion.googleapis.com/InstanceV2"
    labels.".serviceId"="runtime"
    
    resource.type="datafusion.googleapis.com/InstanceV3"
    labels.".serviceId"="runtime"
    
    Wrangler 服务
    resource.type="datafusion.googleapis.com/InstanceV2"
    resource.labels.namespace="system"
    labels.".applicationId"="dataprep"
    labels.".userserviceid"="service"
    
    resource.type="datafusion.googleapis.com/InstanceV3"
    labels.".applicationId"="dataprep"
    labels.".userserviceid"="service"
    

启用 InstanceV2 日志

默认情况下,运行 6.11.1.1 版或更高版本的 Cloud Data Fusion 实例会停用 InstanceV2 日志记录。如果您的操作需要使用之前的日志记录格式(例如,如果您依赖 org_idnamespace 标签),则可以使用 Cloud Data Fusion REST API 重新启用 InstanceV2 日志。

如需启用 InstanceV2 日志,请使用 instances.patch 方法,并将 enable_instance_v2_logs 设置为 true。此设置会同时发出 InstanceV2InstanceV3 日志。

   curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -H "X-GFE-SSL: yes" \
  -H "Host: datafusion.googleapis.com" \
  -d '{"loggingConfig": {"enable_instance_v2_logs": true}}' \
  "https://datafusion.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=loggingConfig"

替换以下内容:

  • PROJECT_ID: Google Cloud 项目 ID
  • LOCATION:实例的位置
  • INSTANCE_ID:Cloud Data Fusion 实例的 ID

Cloud Data Fusion 中的可配置日志记录

Cloud Data Fusion 6.11.0 提供可配置的日志记录功能,默认启用 Cloud Logging。虽然可以停用 Cloud Logging,但强烈建议您保持启用状态,以确保能够访问关键的流水线和实例日志。

如需停用 Cloud Logging,请运行以下命令:

echo '{ "loggingConfig": {"instance_cloud_logging_disabled": "true"}}' | curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    --data @- \
    "https://datafusion.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?instanceId=$INSTANCE_ID?updateMask=logging_config"

替换以下内容:

  • PROJECT_ID: Google Cloud 项目 ID
  • LOCATION:实例的位置
  • INSTANCE_ID:Cloud Data Fusion 实例的 ID

后续步骤