通过命令 line/bash 脚本将 CPU 利用率等指标提取到报告中?

Extracting metrics such as CPU utilization into reports via command line/bash scripts?

例如,在 Azure 中,我创建了一些 bash 脚本,使用命令行工具为 any/all 虚拟机提供任何时间段内的平均每日 CPU 利用率.

我似乎不知道如何在 Google 云中执行此操作,除非手动使用控制台(自动生成的每日使用情况报告似乎没有给我任何 CPU 信息要么),到目前为止,无数的搜索告诉我,使用 google 云控制台中的监控功能基本上是我能做到这一点的唯一方法,因为 cli“gcloud”只会报告配额,这并不是真的我在这里追求的是什么。我还没有为 ops agent 安装而烦恼,因为我的理解是这只是为了添加额外的指标(到控制台)而不是 google 云 cli 的功能。到目前为止,我只管理过 Azure 和一些 AWS,所以也许我想做的事情在 Google 云中是不可能的?

CLI 似乎忽略了监控(以前称为 Stackdriver)(gcloud)。

gcloud monitoring "group" but even the gcloud alpha monitoring and gcloud beta monitoring 命令是有限的(并且不包括指标等)。

也就是说,gcloud 实现了 Google 的底层(服务)API,对于 CLI 尚未实现 API及其方法,可以直接使用APIs Explorer to find the underlying e.g. Monitoring服务。

可以通过 query over the underlying time-series data, e.g. projects.timeseries.query 访问指标。该接口提供了一种形式,使您也可以从浏览器调用服务方法。

然后您可以使用例如curl to construct the queries you need for your bash scripts and other tools (e.g. jq) 到 post-process 数据。

或者,如果您想要更好的 error-handling 编程体验并控制输出格式,您可以使用任何 language-specific SDK (client libraries)。

如果有人没有编写 CLI 工具来补充 gcloud 监控,我会感到惊讶,因为这是合理的需要。

可能值得在 Google 的问题跟踪器上提交功能请求。我不确定它是否最好放在 Cloud CLI or Monitoring 下。也许试试 Monitoring.