2

我只想表示 POD 的 CPU 指标如下

在此处输入图像描述

我能够用 CPU 核心来表示 CPU 请求和限制,这些核心可以通过 prometheus 抓取指标直接获得。

但是在普罗米修斯中,我看不到任何直接指标来获取 POD 使用的 CPU 内核,所以,有人可以给我一个解决方法或一种方法来表示 POD 的 CPU 使用率,以 CPU 内核的形式。

提前致谢

4

1 回答 1

3

您正在寻找的查询是这个:

sum(rate(container_cpu_usage_seconds_total{container_name!="POD"}[1m])) by (pod_name)

这里是解释(从内到外,普罗米修斯计算这个查询):

  • container_cpu_usage_seconds_total它告诉你 CPU 被占用了多长时间。1s = 一个核心持续一秒
  • {container_name!="POD"}忽略元 cGroups。
  • rate(....[1m])为您提供定义间隔内的值变化,此处为 1 分钟
  • sum(....) by (pod_name)将包含相同 pod 名称的所有值相加,如果我们在同一个 pod 中有多个容器,就会出现这种情况

有关 Kubernetes 中 Prometheus 的更多信息,您可以在此处阅读此博客:https ://blog.freshtracks.io/a-deep-dive-into-kubernetes-metrics-part-3-container-resource-metrics-361c5ee46e66

于 2020-05-10T10:07:46.730 回答