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

如何通过命令获取App Engine Flexible实例CPU利用率及实例数?

App Engine Flexible:获取CPU利用率与运行实例数

嘿,这个问题问得好!咱们来一步步解决这两个需求——毕竟控制台能看到你需要的指标,但你得用命令行拿到这些数据,才能给外部系统做决策嘛。

一、获取CPU利用率

遗憾的是,gcloud没有直接的单命令能一键调出控制台里的CPU利用率数值,但咱们可以借助Cloud Monitoring的命令行工具来查询,这是最靠谱的方式。

你可以用gcloud monitoring metrics read命令,指定App Engine Flexible的CPU利用率指标,同时过滤你的服务、版本(如果需要),并设置时间范围和聚合方式。比如查询默认服务最近5分钟的平均CPU利用率:

gcloud monitoring metrics read appengine.googleapis.com/flex/instance/cpu/utilization \
  --filter='metric.labels.module_id="default"' \
  --aggregation.alignmentPeriod=60s \
  --aggregation.perSeriesAligner=ALIGN_MEAN \
  --view=FULL \
  --start-time=$(date -u -d "-5 minutes" +"%Y-%m-%dT%H:%M:%SZ")

给你拆解下关键参数:

  • metric.labels.module_id="default":过滤出默认服务下的所有实例
  • --aggregation.alignmentPeriod=60s:把数据按60秒的周期对齐,避免数据点太零散
  • --aggregation.perSeriesAligner=ALIGN_MEAN:计算每个实例在周期内的平均CPU利用率,如果你想看峰值,换成ALIGN_MAX就行
  • --start-time:指定查询的起始时间,这里是最近5分钟,你可以根据需求调整

如果想要更简洁的输出(比如只看实例ID和对应的CPU值),可以加--format参数提取关键信息:

gcloud monitoring metrics read appengine.googleapis.com/flex/instance/cpu/utilization \
  --filter='metric.labels.module_id="default"' \
  --aggregation.alignmentPeriod=60s \
  --aggregation.perSeriesAligner=ALIGN_MEAN \
  --format="value(resource.labels.instance_id, value.doubleValue)"

二、统计运行实例数

你提到的gcloud app instances list -s default确实能列出所有实例,但咱们可以优化一下,直接输出总数,不用手动数:

gcloud app instances list -s default --format="value(id)" | wc -l

这个命令会把默认服务下的所有实例ID提取出来,再用wc -l统计行数,得到的就是实例总数。

另外,如果你的服务有多个版本在运行,想按版本查看实例数,可以用gcloud app versions describe命令:

gcloud app versions describe [你的版本ID] -s default --format="value(instance_count)"

把[你的版本ID]换成实际的版本ID,就能得到该版本的运行实例数。要是想批量看所有版本的实例数,用这个:

gcloud app versions list -s default --format="value(id, instance_count)"

这样就能看到每个版本的ID和对应的实例数,把这些数值加起来就是整个服务的总实例数啦。


内容的提问来源于stack exchange,提问作者Dhiraj Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:27:20