如何统计Cloud Run服务过去28天内的2xx成功请求总数
如何统计Cloud Run服务过去28天内的2xx成功请求总数
嗨,这个需求完全可以实现!Cloud Run的request_count指标虽然是60秒采样一次,但只要用对聚合方式,就能准确算出过去28天的成功请求总数。我给你两种常用的方法,按需选择就行:
方法一:用Cloud Monitoring可视化控制台操作
这是最直观的方式,不用写命令就能搞定:
- 打开Cloud Monitoring控制台,进入「Metrics Explorer」页面
- 在指标选择器里,依次选「Cloud Run」→「Revision」→「Request Count」(如果要统计整个服务的所有修订版,也可以直接选「Service」级别的指标)
- 添加过滤器:筛选
response_code_class等于2xx,这样就只统计成功请求了 - 时间范围选择「过去28天」
- 聚合方式选「Sum」,时间聚合用「Cumulative」——因为
request_count是计数器,Cumulative会自动把所有采样周期的增量加总,最终在图表上方就能看到准确的总数,还能导出成CSV或PDF存档
方法二:用gcloud命令行快速查询
如果习惯用命令行或者要做自动化统计,这个方法更高效:
执行下面的命令,记得替换成你自己的服务名和部署区域:
gcloud monitoring query \ --query='sum(increase(cloud_run_revision_request_count{response_code_class="2xx", service_name="你的服务名称", location="你的服务部署区域"}[28d]))'
这里解释下关键细节:
sum():把该服务下所有修订版的请求数加总(如果只需要统计单个修订版,可以去掉sum(),再加revision_name的过滤条件)increase(...[28d]):专门用来计算计数器指标在指定时间范围内的增量总和,还能自动处理实例重启导致的计数器重置问题,比手动取首尾值相减更可靠response_code_class="2xx"的过滤条件确保只统计2xx类的成功请求
两种方法都能准确得到你要的28天成功请求总数,控制台适合快速可视化查看,命令行适合自动化脚本或批量统计场景~
备注:内容来源于stack exchange,提问作者JPFrancoia
相关产品推荐
相关产品推荐

