本页介绍了如何使用 Cloud Monitoring 和 Spanner 审核日志来监控和分析 Spanner Data Boost 使用情况。
Cloud Monitoring 可让您跟踪一段时间内的总使用量,并按用户对此使用量进行细分。Spanner 审核日志支持更灵活的使用情况分析,包括按用户或 BigQuery 作业 ID 提供指标。
使用 Cloud Monitoring 跟踪流量提升功能的使用情况
如需跟踪总数据流量提升用量,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往 Monitoring。
前往“监控” - 如果导航菜单中显示 Metrics Explorer,请选择它。 否则,请点击 Resources,然后选择 Metrics Explorer。
- 在页面顶部,选择一个时间间隔。
- 在指标下拉列表的按资源或指标名称过滤字段中,输入
spanner
并按Enter
以缩小搜索范围。 在指标列表中,依次选择 Cloud Spanner 实例 > 实例 > 处理单元/秒,然后点击应用。
这会创建一个折线图,显示所有 Spanner 实例的 Data Boost 用量汇总。
如需查看特定实例的使用情况,请按以下步骤操作:
- 使用过滤条件字段添加过滤条件,例如实例 ID。
- 点击 + 添加其他属性。
如需按所有实例查看使用情况明细,请按以下步骤操作:
- 点击过滤条件字段旁边的 X 图标,可清除所有过滤条件。
- 在 Aggregation 运算符下拉列表中,选择 Sum,然后选择按 instance_id 进行分组。
如需按正文细分使用情况,请在汇总运算符下拉菜单中选择总和,然后选择按 credential_id 进行分组。
使用审核日志分析流量增强功能的使用情况
借助 Spanner 审核日志,您可以更灵活地分析 Data Boost 使用情况。除了像 Cloud Monitoring 一样按实例或正文对一段时间内的使用情况进行细分之外,Spanner 审核日志(如果已启用且可用)还允许按数据库或 BigQuery 作业 ID 对一段时间内的使用情况进行细分。
启用审核日志可能会产生额外费用。如需了解 Logging 价格,请参阅 Google Cloud Observability 价格:Cloud Logging。
启用 Data Boost 使用情况审核日志
您必须先为 Spanner 启用数据访问审核日志,然后才能收集 Data Boost 的使用情况数据。请按以下步骤操作:
- 按照使用 Google Cloud 控制台配置数据访问审核日志中的说明操作。
- 为 Spanner API 服务启用数据读取日志类型。
- 如需按 BigQuery 作业 SQL 文本获取数据提升功能的使用情况,请确保也启用了 BigQuery 的审核日志。
按主账号查看用量
如需查询审核日志以查看按用户的数据流量提升使用情况,请按以下步骤操作:
前往 Google Cloud 控制台中的日志浏览器。
在导航菜单中,点击 Log Analytics。
如需按用户和数据库显示过去 7 天的使用情况,请运行以下查询。如需更改显示用量的时段,请修改
WHERE
子句中的timestamp
表达式。SELECT SUM(CAST(JSON_VALUE(labels.data_boost_usage) AS INT64)) AS usage, REGEXP_EXTRACT( proto_payload.audit_log.resource_name, 'projects/[^/]+/instances/[^/]+/databases/[^/]+') AS database, proto_payload.audit_log.authentication_info.principal_email AS principal_email FROM `PROJECT_NAME.global._Default._AllLogs` WHERE timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND resource.type = 'spanner_instance' AND operation.last IS NULL AND JSON_VALUE(labels.data_boost_usage) != '' GROUP BY database, principal_email;
将
PROJECT_NAME
替换为您的项目名称。
以下示例展示了 4 个正文在处理单元中的用量。
按 BigQuery 作业 ID 查看使用情况
如需查询审核日志以按数据库、用户和 BigQuery 作业 ID 查看数据提升功能的使用情况,请按以下步骤操作:
前往 Google Cloud 控制台中的日志浏览器。
在导航菜单中,点击 Log Analytics。
请运行以下查询:
SELECT SUM(CAST(JSON_VALUE(labels.data_boost_usage) AS INT64)) AS usage, REGEXP_EXTRACT( proto_payload.audit_log.resource_name, 'projects/[^/]+/instances/[^/]+/databases/[^/]+') AS database, proto_payload.audit_log.authentication_info.principal_email AS principal_email, IFNULL(JSON_VALUE(labels.data_boost_workload_id), 'not from BQ') AS job_id FROM `PROJECT_NAME.global._Default._AllLogs` WHERE timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND resource.type = 'spanner_instance' AND operation.last IS NULL AND JSON_VALUE(labels.data_boost_usage) != '' GROUP BY database, principal_email, job_id;
将
PROJECT_NAME
替换为您的项目名称。
以下示例显示了按 BigQuery 作业 ID 的使用情况。
按 BigQuery SQL 文本查看使用情况
如需按 BigQuery 作业的 SQL 文本汇总多个 BigQuery 作业的 Data Boost 用量,请按以下步骤操作:
前往 Google Cloud 控制台中的日志浏览器。
在导航菜单中,点击 Log Analytics。
请运行以下查询:
SELECT SUM( CAST( JSON_VALUE(db.labels.data_boost_usage) AS INT64)) AS usage, JSON_VALUE( bq.proto_payload.audit_log.metadata.jobInsertion.job.jobConfig.queryConfig.query) AS bq_query FROM `PROJECT_NAME.global._Default._AllLogs` db, `PROJECT_NAME.global._Default._AllLogs` bq WHERE db.timestamp > TIMESTAMP_SUB( CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND db.resource.type = 'spanner_instance' AND JSON_VALUE(db.labels.data_boost_usage) != '' AND db.operation.last IS NULL AND bq.timestamp > TIMESTAMP_SUB( CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND bq.proto_payload.audit_log.method_name = 'google.cloud.bigquery.v2.JobService.InsertJob' AND bq.resource.type = 'bigquery_project' AND JSON_VALUE( bq.proto_payload.audit_log.metadata.jobInsertion.job.jobConfig.queryConfig.query) IS NOT NULL AND JSON_VALUE(db.labels.data_boost_workload_id) = REGEXP_EXTRACT(bq.proto_payload.audit_log.resource_name, '[^/]*$') GROUP BY bq_query ORDER BY usage DESC
将
PROJECT_NAME
替换为您的项目名称。
以下示例展示了按 SQL 文本使用数据提升功能的情况。
创建 Data Boost 提醒
如需创建在 Data Boost 用量超过预定义阈值时发出的提醒,请参阅为 Data Boost 用量设置提醒。
后续步骤
- 如需了解 Data Boost,请参阅 Data Boost 概览。