问题描述
我想使用promql / Prometheus以以下格式显示窗格详细信息。
此外,我想使用promql以以下格式显示应用程序/组件的cpu和内存使用情况
promql查询:(pod)求和(container_memory_working_set_bytes)
如何计算已用内存的百分比?我无法使用Promql提取有状态Pod的内存限制 您能否提出任何查询/ API详细信息?
解决方法
用于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
关于内存百分比
avg((avg (container_memory_working_set_bytes{pod="<Podname>"}) by (container_name,pod ))/ on (container_name,pod)(avg (container_spec_memory_limit_bytes>0 ) by (container_name,pod))*100)
,
我将其用于记忆:
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(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