我想用 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
函数不返回值而是向量。
我该怎么做?
最佳答案
我已经通过 gcloud 默认应用程序在 google Cloud 上安装了 Prometheus。仪表板随安装自动部署。以下查询用于集群的内存和 CPU 使用情况:
命名空间的 CPU 使用情况:
sum(irate(container_cpu_usage_seconds_total[1m])) by (namespace)
按命名空间划分的内存使用情况(无缓存):
sum(container_memory_rss) by (namespace)
CPU 请求 promise :
sum(kube_pod_container_resource_requests_cpu_cores) / sum(node:node_num_cpu:sum)
内存请求 promise :
sum(kube_pod_container_resource_requests_memory_bytes) / sum(node_memory_MemTotal)
关于kubernetes - 使用 prometheus 计算 k8s 集群 cpu/内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54866777/