首页 > 解决方案 > 如何使用 promethus 获取 pod 的 CPU 和内存使用百分比

问题描述

我想使用 promql/Prometheus 以以下格式显示 pod 详细信息。

图片1

此外,我想使用 promql 以以下格式显示应用程序/组件的 CPU 和内存利用率

图片2

promql 查询:sum(container_memory_working_set_bytes) by (pod)

我可以使用上面的查询通过 pod 获取消耗的内存。

如何计算使用的内存百分比?我无法使用 promql 获取有状态 Pod 的内存限制您能否建议任何查询/API 详细信息?

标签: kubernetesmonitoringprometheusgrafanapromql

解决方案


我用它来记忆:

round(max by (pod)(max_over_time(container_memory_usage_bytes{namespace="$namespace",pod=~".*" }[5m]))/ on (pod) (max by (pod) (kube_pod_container_resource_limits)) * 100,0.01)

这对于 CPU :

max by (pod) (sum(rate(container_cpu_usage_seconds_total{namespace="$namespace",container_name!="POD",container_name!="",container!="monitoring-daemon"}[5m])) / sum(kube_pod_container_resource_limits{namespace="$namespace", resource="cpu"})) * 100

推荐阅读