首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用prometheus统计k8s集群的cpu/内存使用率

使用prometheus统计k8s集群的cpu/内存使用率
EN

Stack Overflow用户
提问于 2019-02-25 20:59:00
回答 2查看 2.9K关注 0票数 3

我想用prometheus计算k8s集群的cpu/内存使用率(而不是k8s pod使用率),这样我就可以在grafana中显示。

我使用sum (container_memory_usage_bytes{id="/"})来获取k8s集群使用的内存,使用topk(1, sum(kube_node_status_capacity_memory_bytes) by (instance))来获取整个k8s集群的内存,但由于topk函数不返回值而是向量,所以它们不能相除。

我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-26 10:28:22

我的主要问题是topk(1, sum(kube_node_status_capacity_memory_bytes) by (instance))不能返回值,但现在我发现使用sum()来隐藏它可以工作,整个查询如下所示:

代码语言:javascript
复制
sum(sum (container_memory_usage_bytes{id="/"})by (instance))/sum(topk(1, sum(kube_node_status_capacity_memory_bytes) by (instance)))*100
票数 1
EN

Stack Overflow用户

发布于 2019-02-26 00:17:06

我已经通过gcloud默认应用程序在google Cloud上安装了Prometheus。仪表板随安装自动部署。以下查询用于群集的内存和CPU使用率:

按命名空间划分的CPU使用率:

代码语言:javascript
复制
sum(irate(container_cpu_usage_seconds_total[1m])) by (namespace)

命名空间的内存使用量(无缓存):

代码语言:javascript
复制
sum(container_memory_rss) by (namespace)

CPU请求承诺:

代码语言:javascript
复制
sum(kube_pod_container_resource_requests_cpu_cores) / sum(node:node_num_cpu:sum)

内存请求提交:

代码语言:javascript
复制
sum(kube_pod_container_resource_requests_memory_bytes) / sum(node_memory_MemTotal)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54866777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档