kubernetes - 使用 prometheus 计算 k8s 集群 cpu/内存使用情况

标签 kubernetes grafana prometheus

我想用 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/

相关文章:

kubernetes - 与 Pod 一起自动创建服务

linux - 如何获得流入数据库中当前值和先前值之间的差异

mysql - 如何将内置时间浏览器过滤器反射(reflect)到 Grafana 中的 mysql 查询中?

kubernetes - Kube-state-metrics 是新的指标还是格式良好的指标?

grafana - 如何在 Prometheus 中每小时正确抓取和查询指标

kubernetes - k8s hpa获取不到cpu信息

docker - “gcloud docker”是否支持某种sudo(例如--user root?)

docker - kubernetes 中的多行 Fluentd 日志

oauth - grafana 与 gitlab oauth2 login.OAuthLogin(NewTransportWithCode)

kubernetes - 使用HTTP和HTTPS端口的Prometheus刮刮kubernetes容器的指标