Prometheus 有没有任何方法可以用普罗米修斯的指标来表示POD的CPU使用情况

Prometheus 有没有任何方法可以用普罗米修斯的指标来表示POD的CPU使用情况,prometheus,grafana,promql,kubernetes-metrics,Prometheus,Grafana,Promql,Kubernetes Metrics,我只想表示POD的CPU指标,如下所示 我能够通过prometheus scrape metrics直接提供的CPU核心来表示CPU请求和限制 但在普罗米修斯,我看不到任何直接的指标来衡量一个吊舱使用的CPU核心,所以,有人能给我一个解决办法,或者用CPU核心来表示吊舱的CPU使用情况 提前感谢您要查找的查询是: sum(rate(container_cpu_usage_seconds_total{container_name!="POD"}[1m])) by (pod_name) 以下是解

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

我能够通过prometheus scrape metrics直接提供的CPU核心来表示CPU请求和限制

但在普罗米修斯,我看不到任何直接的指标来衡量一个吊舱使用的CPU核心,所以,有人能给我一个解决办法,或者用CPU核心来表示吊舱的CPU使用情况


提前感谢

您要查找的查询是:

sum(rate(container_cpu_usage_seconds_total{container_name!="POD"}[1m])) by (pod_name)
以下是解释(从内到外,普罗米修斯计算此查询):

  • container\u cpu\u usage\u seconds\u total
    它给出cpu被占用的时间。1s=一整秒钟的单芯
  • {container\u name!=“POD”}
    忽略元cgroup
  • rate(....[1m])
    提供定义间隔内的值变化,此处为1分钟
  • sum(..)by(pod_name)
    将包含相同pod名称的所有值相加,如果在同一pod中有多个容器,则会出现这种情况

关于库伯内特斯的普罗米修斯的更多信息,你可以在这里阅读这个博客:

谢谢你提供的信息,但当我应用上述原理时,我观察到如下图表所示的情况[pod cpu uage]:尽管cpu使用率没有接近cpu限制(即使在我将结果值乘以100之后)cpu开始节流。因此,我认为您提到的上述原则并不准确,或者请帮助我了解我是否做了任何错误,以下是我的pod资源配置资源:请求:内存:“64Mi”cpu:“250m”限制:内存:“128Mi”cpu:“500m”上述普罗米修斯查询工作正常,但在Minikube中,即使CPU使用量不接近定义的限制,pod也会开始节流。