监控知识目录日志

本文档介绍了如何使用 Cloud Logging 访问、查询和解读 Knowledge Catalog(以前称为 Dataplex Universal Catalog)日志。通过访问 Knowledge Catalog 作业和服务日志,您可以排查问题并监控数据管理活动,包括 AI 驱动的数据发现和数据质量扫描。

通过将日志集中在 Logging 中,您可以分析作业性能、 为失败或异常情况设置提醒,并将日志路由到 BigQuery 等其他 Google Cloud 服务以进行长期保留和分析。

如需了解费用,请参阅 Google Cloud Observability 价格。

如需详细了解日志保留,请参阅 日志保留期限。

如需停用所有日志或从日志记录中排除日志,请参阅 排除过滤器。

如需将日志从 Logging 路由到 Cloud Storage、 BigQuery 或 Pub/Sub,请参阅 路由和存储概览。

使用场景

Knowledge Catalog 日志记录支持不同行业的使用场景:

  • 排查数据流水线故障 :当 Knowledge Catalog 数据处理任务失败时,process 日志会提供详细的错误消息,帮助数据工程师识别和解决 Spark 作业或自定义任务中的问题。
  • 监控数据质量 :金融服务公司可以监控 data_quality_scan_rule_result 日志,以跟踪数据质量随时间变化的趋势,针对关键数据资产的数据质量下降情况获取提醒,并向审计者提供数据质量检查证据以满足监管合规要求。
  • 跟踪元数据扩充 :使用元数据导入作业来扩充目录的零售公司可以使用 metadata_job 日志来验证导入是否成功完成,以及所有元数据项是否都得到正确处理。
  • 审核数据发现 :组织可以使用 discovery 日志来监控在 Knowledge Catalog 中发现和注册新数据源的方式和时间,从而为数据载入流程提供审核跟踪记录。

Knowledge Catalog 日志记录的工作原理

Knowledge Catalog 会将服务操作和作业执行的日志发送到 Cloud Logging。每个日志条目都包含有关操作或作业的详细信息,例如其状态、开始时间和结束时间、关联的资源(例如数据扫描或任务)以及结果。不同类型的操作(例如数据扫描、 发现、元数据导入和数据处理)会生成不同类型的日志, 您可以使用 logName 或 Logging 中的日志记录查询语言 来查询这些日志。

您可以使用 Google Cloud 控制台中的 日志浏览器 访问和分析这些日志,也可以将这些日志路由到其他目标(例如 Cloud Storage 存储桶或 BigQuery 表)以进行进一步 分析。

Knowledge Catalog 日志类型

Knowledge Catalog 会将以下服务日志发布到 Cloud Logging。

日志类型 日志名称 logName 查询 日志说明
数据扫描事件日志 dataplex.googleapis.com/data_scan logName=(projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fdata_scan) 数据扫描作业(数据质量、数据分析和数据洞见扫描)的作业级事件日志,指示作业状态、结果和统计信息
数据质量扫描规则结果日志 dataplex.googleapis.com/data_quality_scan_rule_result logName=(projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fdata_quality_scan_rule_result) 数据质量扫描作业中评估的每个规则的详细规则级评估结果
发现日志 dataplex.googleapis.com/discovery logName=(projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fdiscovery) 区域中资产的发现进度和更新
元数据作业日志 dataplex.googleapis.com/metadata_job logName=(projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fmetadata_job) 有关元数据导入文件中的元数据导入作业和导入项的日志
进程日志 dataplex.googleapis.com/process logName=(projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fprocess) 由数据处理任务产生的作业运行

访问 Knowledge Catalog 服务日志

如需访问 Logging,请使用 控制台中的 Google Cloud Logs Explorer、 gcloud logging 命令或 Logging API。您可以使用 日志记录查询语言来构建 详细的查询。

必需的 IAM 权限

如需查看和查询日志,您必须具有日志查看器 (roles/logging.viewer) 角色,或者对项目具有同等权限。

在 Google Cloud 控制台中查看日志

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

    转到日志浏览器

  2. 根据下表配置资源 和日志名称 过滤条件:

    日志类型 资源选择 日志名称选择
    数据扫描事件 审核的资源 > 服务:Cloud Dataplex dataplex.googleapis.com/data_scan
    数据质量扫描规则结果 审核的资源 > 服务:Cloud Dataplex dataplex.googleapis.com/data_quality_scan_rule_result
    发现日志 Cloud Dataplex 区域 dataplex.googleapis.com/discovery
    元数据作业日志 Cloud Dataplex 元数据作业 dataplex.googleapis.com/metadata_job
    进程日志 Cloud Dataplex 任务 dataplex.googleapis.com/process
  3. (可选)选择特定的子过滤条件(例如特定任务 ID)以缩小查询范围。

  4. 点击应用 ,然后点击运行查询 。

日志过滤示例

您可以在 Logs Explorer 查询编辑器中使用 日志记录查询语言,也可以使用 Google Cloud CLI。以下示例演示了如何使用 gcloud CLI 读取日志。

示例:读取数据扫描事件

如需读取数据质量或数据分析扫描的事件日志条目,请使用 gcloud logging read命令 并使用以下查询:

gcloud logging read \
    'resource.type="dataplex.googleapis.com/DataScan" AND
    logName=projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fdata_scan AND
    resource.labels.location=LOCATION AND
    resource.labels.datascan_id=DATA_SCAN_ID'
    --limit 10

示例:读取进程日志条目

如需读取进程日志条目,请在以下查询中使用 gcloud logging read命令 :

gcloud logging read \
    'resource.type="dataplex.googleapis.com/Task" AND
    logName=projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fprocess AND
    resource.labels.location=LOCATION AND
    resource.labels.lake_id=LAKE_ID AND
    resource.labels.task_id=TASK_ID'
    --limit 10

示例日志载荷

以下示例展示了不同类型的 Knowledge Catalog 日志的 JSON 载荷结构。您可以使用这些示例来了解日志的结构并构建日志过滤条件。

数据扫描事件日志

在 Knowledge Catalog 中,数据扫描包括 数据质量扫描、 数据分析扫描和 数据洞见扫描。当您运行数据扫描作业时,Knowledge Catalog 会在 Logging 中生成 data_scan 事件日志,其中汇总了作业的整体执行情况。 对于成功的数据洞见扫描(jsonPayload.type="DATA_DOCUMENTATION"), 事件日志还包含 billableTokenUsage 块。如需了解如何 查询和绘制数据洞见令牌消耗量图表,请参阅 监控数据洞见令牌用量。

以下示例展示了数据质量扫描的事件日志载荷:

{
  "insertId": "123456abcdef",
  "jsonPayload": {
    "dataQuality": {
      "passed": false,
      "rowsAnalyzed": "5000"
    },
    "dataSource": "//bigquery.googleapis.com/projects/my-project/datasets/my_dataset/tables/my_table"
  },
  "resource": {
    "type": "dataplex.googleapis.com/DataScan",
    "labels": {
      "datascan_id": "my-data-quality-scan",
      "location": "us-central1",
      "resource_container": "projects/1234567890"
    }
  },
  "severity": "INFO"
}

数据质量扫描规则结果日志

运行 数据质量扫描 时, Knowledge Catalog 会生成数据扫描事件日志,并为作业中评估的每个规则生成单独的数据质量扫描规则结果日志。

每个 data_quality_scan_rule_result 日志条目都包含有关特定规则的信息,包括规则配置、评估维度、状态和行数。

以下示例展示了数据质量扫描规则结果日志载荷:

{
  "insertId": "123456abcdef",
  "jsonPayload": {
    "jobId": "my-data-quality-scan-job-123",
    "dataSource": "//bigquery.googleapis.com/projects/my-project/datasets/my_dataset/tables/my_table",
    "column": "user_id",
    "ruleName": "user-id-not-null",
    "ruleType": "NON_NULL_EXPECTATION",
    "ruleDimension": "COMPLETENESS",
    "thresholdPercent": 100,
    "result": "PASSED",
    "evaluatedRowCount": "5000",
    "passedRowCount": "5000",
    "nullRowCount": "0"
  },
  "resource": {
    "type": "dataplex.googleapis.com/DataScan",
    "labels": {
      "datascan_id": "my-data-quality-scan",
      "location": "us-central1",
      "resource_container": "projects/1234567890"
    }
  },
  "severity": "INFO"
}

发现日志

以下示例展示了发现日志载荷:

{
  "insertId": "123456abcdef",
  "jsonPayload": {
    "message": "BigQuery table published successfully.",
    "lakeId": "my-lake",
    "zoneId": "my-zone",
    "assetId": "my-asset",
    "dataLocation": "gs://my-bucket/path/to/data",
    "type": "TABLE_PUBLISHED",
    "table": {
      "table": "projects/my-project/datasets/my_dataset/tables/my_table",
      "type": "EXTERNAL_TABLE"
    }
  },
  "resource": {
    "type": "dataplex.googleapis.com/Zone",
    "labels": {
      "lake_id": "my-lake",
      "zone_id": "my-zone",
      "location": "us-central1",
      "resource_container": "projects/1234567890"
    }
  },
  "severity": "INFO"
}

元数据作业日志

以下示例展示了元数据作业日志载荷:

{
  "insertId": "123456abcdef",
  "jsonPayload": {
    "resource": "projects/my-project/locations/us-central1/metadataJobs/my-metadata-job",
    "message": "Metadata import job completed successfully.",
    "type": "IMPORT",
    "importResult": {
      "state": "SUCCEEDED",
      "stage": "INGESTION",
      "mutatedEntryGroups": "1",
      "createdEntries": "50",
      "updatedEntries": "10",
      "deletedEntries": "5"
    }
  },
  "resource": {
    "type": "dataplex.googleapis.com/MetadataJob",
    "labels": {
      "metadata_job_id": "my-metadata-job",
      "location": "us-central1",
      "resource_container": "projects/1234567890"
    }
  },
  "severity": "INFO"
}

进程日志

以下示例展示了进程日志载荷:

{
  "insertId": "123456abcdef",
  "jsonPayload": {
    "message": "Spark job completed successfully.",
    "jobId": "my-task-job-123",
    "startTime": "2026-08-13T10:00:00Z",
    "endTime": "2026-08-13T10:05:00Z",
    "state": "SUCCEEDED",
    "type": "SPARK",
    "service": "DATAPROC",
    "serviceJob": "projects/my-project/regions/us-central1/jobs/dataproc-job-123",
    "executionTrigger": "TASK_CONFIG"
  },
  "resource": {
    "type": "dataplex.googleapis.com/Task",
    "labels": {
      "task_id": "my-task",
      "lake_id": "my-lake",
      "location": "us-central1",
      "resource_container": "projects/1234567890"
    }
  },
  "severity": "INFO"
}

设置基于日志的提醒

您可以设置基于日志的提醒,以便在发生特定 Knowledge Catalog 事件(例如数据质量扫描失败)时收到通知。

如需创建基于日志的提醒,您必须具有日志配置写入器 (roles/logging.configWriter) 和 Monitoring AlertPolicy Editor (roles/monitoring.alertPolicyEditor) 角色,或者具有同等权限。

  1. 在 日志浏览器 中运行查询,以定位失败条件(例如: resource.type="dataplex.googleapis.com/DataScan" AND NOT jsonPayload.dataQuality.passed=true)。
  2. 在查询结果窗格上方,点击创建提醒 。
  3. 在创建基于日志的提醒 面板中,输入提醒政策名称和说明。
  4. 点击下一步 并配置通知渠道。
  5. 点击保存 。

如需了解更多详细信息,请参阅创建基于日志的提醒。

后续步骤