You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Cloud Monitoring等方式获取Cloud Spanner与Bigtable服务端错误率指标

GCP Spanner与Bigtable服务端错误率采集方案

前置逻辑说明

两个服务的官方监控指标都没有直接透出预计算的错误率指标,你可以通过原生的请求计数指标结合标签筛选,自行计算得到服务端错误率。

Cloud Bigtable 错误率计算

  • 使用指标:bigtable.googleapis.com/server/request_count
  • 该指标自带response_code(响应状态码)、request_method(请求类型)标签,支持按维度拆分统计
  • 计算规则:服务端错误率 = 时间窗口内response_code >= 500的请求数总和 / 时间窗口内总请求数总和
  • 你可以直接用Monitoring API拉取两类数据后自行计算,也可以通过MQL直接查询预计算的错误率,MQL示例如下:
fetch bigtable_instance
| metric 'bigtable.googleapis.com/server/request_count'
| group_by [resource.instance_id, metric.response_code, metric.request_method], sum(value)
| group_by [instance_id, request_method], 
  [server_error_rate: sum_if(val(), metric.response_code >= 500) / sum(val())]

Cloud Spanner 错误率计算

  • 使用指标:spanner.googleapis.com/request_count
  • 该指标自带response_code(响应状态码)、method(操作类型)、database_id(数据库ID)标签,支持细粒度拆分统计
  • 计算规则和Bigtable一致:服务端错误率 = 时间窗口内5xx响应请求数总和 / 总请求数总和
  • 对应MQL查询示例:
fetch spanner_instance
| metric 'spanner.googleapis.com/request_count'
| group_by [resource.instance_id, resource.database_id, metric.response_code, metric.method], sum(value)
| group_by [instance_id, database_id, method],
  [server_error_rate: sum_if(val(), metric.response_code >= 500) / sum(val())]

补充说明

  • 若不需要按请求类型、库/实例拆分统计,去掉对应分组维度即可得到全局错误率
  • 两个指标的默认采样粒度为1分钟,监控延迟不超过2分钟,可满足近实时采集需求
  • 若调用Monitoring API时不想使用MQL,也可以分别拉取过滤了response_code >=500的请求数和全量请求数,在业务代码中自行做除法运算得到错误率

内容的提问来源于stack exchange,提问作者Anuraj Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 14:42:01