繁体   English   中英

如何从外部 node.js 脚本获取 GKE 上 Kubernetes pod 的使用指标

[英]How to get usage metrics for Kubernetes pods on GKE from external node.js script

我需要为我的 Kubernetes pod 获取使用指标(CPU 和 RAM),但由于我的应用程序的其他组件使用这些数据,我需要通过 Node.js 查询它,而不是使用 GCP 控制台上的 Metrics explorer 下拉菜单来查看在图表中可视化的数据。 我已经在https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/query尝试了 API,这似乎最像我正在寻找的。 但是,在对我的项目进行测试后,我得到了一个空响应,即使 Metrics Explorer 中的相同查询在图表上显示了数据。 如果有人有关于如何正确使用此 API 的提示,我将不胜感激。

我已经复制了您的用例并成功执行了查询,并以纳秒为单位获得了所有内核上消耗的 CPU 时间的累积量,响应为 200 OK

  1. 创建 GKE 集群后,导航到指标资源管理器和 select 指标, metric.type="kubernetes.io/container/cpu/core_usage_time" ,您可以在图表中看到集群的数据。 现在单击“MQL”按钮以在 MQL 语法中获得相同的查询。

  2. 现在要通过调用projects.timeSeries.query来获取相同的数据,请在 API Explorer 的“Try this API”框中尝试使用名称参数中的projects/[PROJECT_ID]格式输入项目的 ID。 确保将[PROJECT_ID]替换为您的项目 ID。

  3. 在请求正文中将查询添加为
    "query": "fetch k8s_container::kubernetes.io/container/cpu/core_usage_time| within 5m"

请求正文的语法:

{

 "query": "fetch k8s_container::kubernetes.io/container/cpu/core_usage_time| within 5m"
  

}

现在,单击Execute按钮以获取所有核心上消耗的 CPU 时间的累积量,响应为 200 OK。

有关使用 timeseries.query 检索数据的更多信息,请参阅链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM