监控知识目录日志

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

通过在 Logging 中集中管理日志,您可以分析作业性能、针对故障或异常情况设置提醒,并将日志路由到其他 Google Cloud 服务(例如 BigQuery)以进行长期保留和分析。

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

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

如需停用所有日志或从 Logging 中排除日志,请参阅排除项过滤条件

如需将日志从 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。每条日志条目都包含有关操作或作业的详细信息,例如其状态、开始和结束时间、关联的资源(例如数据扫描或任务)以及结果。不同的操作类型(例如数据扫描、发现、元数据导入和数据处理)会生成不同的日志类型,您可以使用 Logging 中的 logName日志查询语言来查询这些日志。

您可以使用Google Cloud 控制台中的 Logs Explorer 访问和分析这些日志,也可以将这些日志路由到其他目标位置(例如 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。您可以使用 Logging 查询语言构建详细的查询。

必需的 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 事件日志,其中总结了作业的整体执行情况。

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

{
  "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 事件(例如数据质量扫描失败)时收到通知。

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

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

如需了解详情,请参阅创建基于日志的提醒

后续步骤