如何结合CPU资源限制计算容器CPU使用率百分比?为何计算无数据?
容器CPU使用率相对于资源限制的计算问题
获取CPU资源限制的PromQL
我用来获取容器CPU资源限制的PromQL语句如下:
avg_over_time(kube_pod_container_resource_limits{container="udf",namespace="rwc-g1hhgcv4t0f0k8cr19qbl8coqk-test", unit="core"}[1m]) * 60
容器请求的限制资源数量。建议使用kube-scheduler暴露的kube_pod_resource_limits指标,因为它更精确。
由于kube_pod_resource_limits不可用,我只能用上述语句。乘以60是因为每分钟有60秒,当前所有容器均分配1核,即每分钟最大可用CPU时间为60秒,后续该配置可能会变化。
获取实际CPU使用率的PromQL
实际CPU使用率我采用container_cpu_usage_seconds_total指标(该指标为用户态与内核态CPU时间总和),同样按1分钟取平均值:
avg_over_time(container_cpu_usage_seconds_total{container="some-container",namespace="some-ns"}[1m])
问题:计算使用率百分比返回“no data”
我尝试用以下语句计算CPU使用率百分比(每分钟实际CPU占用时间与可用时间的占比),但结果显示“no data”:
avg_over_time(container_cpu_usage_seconds_total{container="some-container",namespace="some-ns"}[1m]) / (avg_over_time(kube_pod_container_resource_limits{container="udf",namespace="rwc-g1hhgcv4t0f0k8cr19qbl8coqk-test", unit="core"}[1m]) * 60) * 100
内容的提问来源于stack exchange,提问作者User12547645
相关产品推荐
相关产品推荐

