本文档介绍了如何使用 Cloud Logging 访问、查询和解读 Knowledge Catalog(以前称为 Dataplex Universal Catalog)日志。通过访问 Knowledge Catalog 作业和服务日志,您可以排查问题并监控数据管理活动,包括 AI 赋能的数据发现和数据质量扫描。
通过在 Logging 中集中管理日志,您可以分析作业性能、为故障或异常设置提醒,并将日志路由到 BigQuery 等其他 Google Cloud服务,以便长期保留和分析。
如需了解费用,请参阅 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。每个日志条目都包含有关操作或作业的详细信息,例如其状态、开始和结束时间、关联的资源(例如数据扫描或任务)以及结果。不同类型的操作(例如数据扫描、发现、元数据导入和数据处理)会生成不同的日志类型,您可以使用 logName 或 Logging 中的日志记录查询语言进行查询。
您可以使用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 权限
如需查看和查询日志,您必须拥有 Logs Viewer (roles/logging.viewer) 角色或项目的同等权限。
在 Google Cloud 控制台中查看日志
在 Google Cloud 控制台中,前往可观测性 > 日志记录 > Logs Explorer 页面。
根据下表配置资源和日志名称过滤条件:
日志类型 资源选择 日志名称选择 数据扫描事件 已审核的资源 > 服务: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(可选)选择特定的子过滤条件(例如特定任务 ID)以缩小查询范围。
点击应用,然后点击运行查询。
日志过滤示例
您可以在 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 块。如需了解如何查询和绘制数据洞见 token 消耗图表,请参阅监控数据洞见 token 用量。
以下示例展示了数据质量扫描的事件日志载荷:
{
"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) 角色或同等权限。
- 在 Logs Explorer 中运行针对故障条件的查询(例如:
resource.type="dataplex.googleapis.com/DataScan" AND NOT jsonPayload.dataQuality.passed=true)。 - 在查询结果窗格上方,点击创建提醒。
- 在创建基于日志的提醒面板中,输入提醒政策名称和说明。
- 点击下一步,然后配置通知渠道。
- 点击保存。
如需了解详情,请参阅创建基于日志的提醒。
后续步骤
- 了解如何监控数据洞见 token 使用情况。
- 详细了解 Cloud Logging。
- 了解 Knowledge Catalog 监控。