我需要使用Prometheus查询获取Kubernetes中Pod的CPU和内存使用情况,有人可以帮忙吗?
我需要使用Prometheus查询获取Kubernetes中Pod的CPU和内存使用情况,有人可以帮忙吗?
对于 CPU 使用百分比:
avg((sum (rate (container_cpu_usage_seconds_total {container_name!="" ,pod="<Pod name>" } [5m])) by (namespace , pod, container ) / on (container , pod , namespace) ((kube_pod_container_resource_limits_cpu_cores >0)*300))*100)
内存百分比
avg((avg (container_memory_working_set_bytes{pod="<pod name>"}) by (container_name , pod ))/ on (container_name , pod)(avg (container_spec_memory_limit_bytes>0 ) by (container_name, pod))*100)
您可以在查询中使用上面的PromQL和Pod名称。
sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name!=""}[5m])) without (container_name)
sum(container_memory_working_set_bytes{container_name!="POD",pod_name!=""}) without (container_name)
without (container_name)
后缀即可。我们过去通过监控 pod 的内存使用情况
avg(container_memory_working_set_bytes{container!="POD"}) by (pod) / (avg(kube_pod_container_resource_requests_memory_bytes{container!="POD"} > 0) by (pod)) *100
然而,我们遇到了 Pod 的 OOMKilled,并且从上述指标中未能发现任何异常。
通过 container_memory_max_usage_bytes
我们可以找到 Pod 的异常内存使用情况。
avg(container_memory_max_usage_bytes{ container!="POD"}) by (pod) / (avg(kube_pod_container_resource_requests_memory_bytes{ container!="POD"} > 0) by (pod)) *100