Kubernetes Pod CPU使用率

时间:2018-08-22 06:43:10

标签: kubernetes prometheus

我尝试计算限制pod使用的cpu百分比。我尝试使用此表达式:

sum(irate(container_cpu_usage_seconds_total{cluster!="production",namespace="devops"}[2m])) by (pod_name) / kube_pod_container_resource_limits_cpu_cores{cluster!="production",namespace="devops"}

但是显示0系列。左右表达式返回标量值。

2 个答案:

答案 0 :(得分:0)

我认为问题在于并非每个pod容器都有CPU内核的资源限制。因此,您会得到两个长度不同的向量,并且表达式失败而没有错误消息。

您可以通过以下方式验证我的猜测:

count(sum(irate(container_cpu_usage_seconds_total{cluster!="production",namespace="devops"}[2m])) by (pod_name))

和:

count(kube_pod_container_resource_limits_cpu_cores{cluster!="production",namespace="devops"})

这两个值应该相同,如果不相同,这是您的查询不起作用的原因。

答案 1 :(得分:0)

您可以使用下面的prometheus表达式来给出CPU使用率百分比-

sum(rate(container_cpu_usage_seconds_total{container_name="abc"}[5m])) by (container_name) /sum(container_spec_cpu_quota{container_name="abc"}/container_spec_cpu_period{container_name="abc"}) by (container_name) *100 

您可以在Grafana中创建自己的自定义信息中心,以获取过去x天的数据。

相关问题