[英]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 。
创建 GKE 集群后,导航到指标资源管理器和 select 指标, metric.type="kubernetes.io/container/cpu/core_usage_time"
,您可以在图表中看到集群的数据。 现在单击“MQL”按钮以在 MQL 语法中获得相同的查询。
现在要通过调用projects.timeSeries.query
来获取相同的数据,请在 API Explorer 的“Try this API”框中尝试使用名称参数中的projects/[PROJECT_ID]
格式输入项目的 ID。 确保将[PROJECT_ID]替换为您的项目 ID。
在请求正文中将查询添加为"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.