本文档介绍了如何使用 Cloud Monitoring 跟踪 Knowledge Catalog(以前称为 Dataplex Universal Catalog)服务健康状况、优化性能,以及了解数据平台的运行状况。主动监控有助于确保数据应用的可靠性,并就资源分配和成本管理做出明智的决策。
如需了解费用,请参阅 Monitoring 价格。
如需详细了解指标数据保留,请参阅 Monitoring 配额和限制。
使用场景
您可以在 Cloud Monitoring 中使用 Knowledge Catalog 指标来支持以下使用情形:
- 确保数据流水线的可靠性:监控 Knowledge Catalog 任务(例如数据注入或数据质量作业)的成功率和失败率。针对故障或异常时长配置提醒,以最大限度地减少关键工作负载的停机时间。
- 优化性能:跟踪作业时长和资源利用率指标,以识别并解决数据处理、数据质量和数据探索工作负载中的性能瓶颈。
- 管理费用:在监控中监控 Knowledge Catalog 资源消耗情况(例如数据湖、数据区和资产),并使用 Cloud Billing 导出到 BigQuery 来归因数据质量、数据分析和数据沿袭工作负载的无服务器计算 (DCU) 费用。
- 维护数据治理:跟踪与元数据发现和目录丰富相关的指标,以确保数据资产根据您的治理政策进行扫描和标记。
工作原理
Knowledge Catalog 与 Cloud Monitoring 集成,后者可从 Knowledge Catalog 服务中收集指标、事件和元数据。这些指标可提供有关作业执行状态、API 使用情况和资源健康状况等方面的分析洞见。您可以使用 Cloud Monitoring 中的工具(例如 Metrics Explorer、自定义信息中心和提醒)来分析这些指标。借助这些工具,您可以直观呈现服务的行为、识别性能趋势,并创建提醒政策,以便在性能偏离定义的阈值或发生故障时收到通知。
访问 Monitoring 中的服务指标
Knowledge Catalog 服务会自动启用 Knowledge Catalog 服务资源指标。如需查看这些指标,请使用 Monitoring。
您可以通过Google Cloud 控制台或使用 Monitoring API 访问 Monitoring。
如果您无法查看监控图或无法创建提醒,则可能需要额外的 Monitoring 权限。
控制台
在 Google Cloud 控制台中,前往 Metrics Explorer 页面。
在选择指标菜单中,选择
Cloud Dataplex资源。选择指标类别,然后从列表中选择一个指标。
如需显示有关指标的信息,请将指针悬停在该指标名称上。
点击应用。
可选:选择过滤条件、按指标标签分组依据、执行聚合,以及选择图表显示选项。
REST
如需捕获并列出由 filter 表达式定义的指标,请使用 Monitoring timeSeries.list 方法。
如需发送 API 请求并显示响应,请在 API 页面上使用试用此 API 模板。
Monitoring 中的 Knowledge Catalog 服务指标
Knowledge Catalog 服务指标有助于监控服务健康状况。
通过 Cloud Billing 导出功能监控和归因 Dataplex DCU 费用
由于 Knowledge Catalog 数据扫描(包括自动数据质量和数据分析)和数据沿袭不会向 Cloud Monitoring 发布时序指标,因此您可以使用 Cloud Billing 导出到 BigQuery 来跟踪、监控和归因各个项目、扫描和数据资源的 Data Compute Unit (DCU) 用量和费用。
Dataplex 结算标签
Knowledge Catalog 会自动将系统标签附加到为数据扫描和数据沿袭发出的结算记录。您可以在 Cloud Billing 导出表的 labels 数组中查询这些标签:
| 标签键 | 工作负载 | 说明 |
|---|---|---|
goog-dataplex-datascan-id |
数据质量、数据分析 | 数据扫描的 ID 或名称。 |
goog-dataplex-datascan-job-id |
数据质量、数据分析 | 数据扫描作业的特定执行 ID。 |
goog-dataplex-datascan-data-source-project |
数据质量、数据分析 | 包含扫描的数据源的 Google Cloud 项目。 |
goog-dataplex-datascan-data-source-region |
数据质量、数据分析 | 扫描的数据源的 Google Cloud 区域。 |
goog-dataplex-datascan-data-source-bigquery-dataset |
数据质量、数据分析 | 扫描表的 BigQuery 数据集 ID。 |
goog-dataplex-datascan-data-source-bigquery-table |
数据质量、数据分析 | 扫描到的 BigQuery 表 ID。 |
goog-dataplex-datascan-data-source-dataplex-lake |
数据质量、数据分析 | Dataplex 数据湖 ID(如适用)。 |
goog-dataplex-datascan-data-source-dataplex-zone |
数据质量、数据分析 | Dataplex 数据区域 ID(如适用)。 |
goog-dataplex-datascan-data-source-dataplex-entity |
数据质量、数据分析 | Dataplex 实体 ID(如果适用)。 |
goog-dataplex-datascan-data-source-biglake-catalog |
数据质量、数据分析 | BigLake 目录 ID(如适用)。 |
goog-dataplex-datascan-data-source-biglake-namespace |
数据质量、数据分析 | BigLake 命名空间(如果适用)。 |
goog-dataplex-datascan-data-source-biglake-table |
数据质量、数据分析 | BigLake 表 ID(如适用)。 |
goog-dataplex-workload-type |
数据沿袭 | 标识工作负载。设置为 LINEAGE 表示数据沿袭处理费用。 |
示例查询
在运行这些查询之前,请确保您已启用 Cloud Billing 数据导出到 BigQuery。 在示例查询中,替换以下占位符:
PROJECT_ID:托管 BigQuery 结算导出数据集的 Google Cloud 项目 ID。DATASET_NAME:包含结算导出表的 BigQuery 数据集的名称。BILLING_ACCOUNT_ID:您的 Cloud Billing 账号 ID(以带下划线的格式表示,例如012345_567890_ABCDEF)。
查询 1:按 DataScan 和目标表划分的 DCU 属性费用和用量
此查询会按 DataScan ID 和目标 BigQuery 表汇总过去 30 天的 Dataplex 处理费用和高级处理费用:
SELECT project.id AS project_id, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-id') AS datascan_id, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-data-source-project') AS data_source_project, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-data-source-bigquery-dataset') AS data_source_dataset, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-data-source-bigquery-table') AS data_source_table, sku.description AS sku_description, SUM(usage.amount) AS total_usage, usage.unit AS usage_unit, SUM(cost) AS total_cost, currency FROM `PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID` WHERE service.description = 'Dataplex' AND EXISTS (SELECT 1 FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-id') AND _PARTITIONDATE >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) GROUP BY project_id, datascan_id, data_source_project, data_source_dataset, data_source_table, sku_description, usage_unit, currency ORDER BY total_cost DESC;
查询 2:按工作负载类型(沿袭与 DataScan)归因 Dataplex 费用
此查询按工作负载类别(例如数据沿袭与 DataScan)细分了所有项目的 Dataplex SKU 费用:
SELECT project.id AS project_id, sku.description AS sku_description, COALESCE( (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-workload-type'), IF(EXISTS(SELECT 1 FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-id'), 'DATASCAN', 'OTHER') ) AS workload_type, SUM(usage.amount) AS total_usage, usage.unit AS usage_unit, SUM(cost) AS total_cost, currency FROM `PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID` WHERE service.description = 'Dataplex' AND _PARTITIONDATE >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) GROUP BY project_id, sku_description, workload_type, usage_unit, currency ORDER BY total_cost DESC;
查询 3:每次 DataScan 作业执行的每日 DCU 用量和费用趋势
此查询可跟踪过去 7 天内各个 DataScan 作业执行的每日 DCU 消耗量和费用:
SELECT DATE(usage_start_time) AS usage_date, project.id AS project_id, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-id') AS datascan_id, (SELECT value FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-job-id') AS job_id, SUM(usage.amount) AS total_usage, usage.unit AS usage_unit, SUM(cost) AS total_cost, currency FROM `PROJECT_ID.DATASET_NAME.gcp_billing_export_v1_BILLING_ACCOUNT_ID` WHERE service.description = 'Dataplex' AND EXISTS (SELECT 1 FROM UNNEST(labels) WHERE key = 'goog-dataplex-datascan-id') AND _PARTITIONDATE >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) GROUP BY usage_date, project_id, datascan_id, job_id, usage_unit, currency ORDER BY usage_date DESC, total_cost DESC;
构建自定义 Monitoring 信息中心
您可以构建自定义 Monitoring 信息中心,以显示选定的 Knowledge Catalog 服务指标的图表。如需详细了解如何创建信息中心,请参阅创建和管理自定义信息中心。为信息中心内的 widget 选择指标时,请选择 Cloud Dataplex 资源,然后选择 Knowledge Catalog 指标。
使用 Monitoring 提醒
您可以创建 Monitoring 提醒,以便在 Knowledge Catalog 服务或作业指标超过指定阈值时收到通知。
创建提醒
如需创建提醒,请按照创建指标阈值提醒政策中的说明进行操作。选择要监控的时序时,请选择一个 Cloud Dataplex 资源,然后选择一个 Knowledge Catalog 指标。
查看提醒
指标阈值条件触发提醒时,Monitoring 会创建一个突发事件和相应的事件。
如需查看突发事件,请按照以下步骤操作:
在 Google Cloud 控制台中,前往提醒页面。
如果您在提醒政策中定义了通知机制(例如电子邮件或短信通知),Monitoring 还会发送突发事件通知。
如需详细了解提醒,请参阅基于指标的提醒的突发事件。
后续步骤
- 详细了解 Cloud Monitoring。
- 了解如何将 Cloud Billing 数据导出到 BigQuery。
- 了解如何使用自动数据质量。
- 了解如何使用数据分析。
- 了解如何使用数据沿袭。