我只想表示 POD 的 CPU 指标如下
我能够用 CPU 核心来表示 CPU 请求和限制,这些核心可以通过 prometheus 抓取指标直接获得。
但是在普罗米修斯中,我看不到任何直接指标来获取 POD 使用的 CPU 内核,所以,有人可以给我一个解决方法或一种方法来表示 POD 的 CPU 使用率,以 CPU 内核的形式。
提前致谢
我只想表示 POD 的 CPU 指标如下
我能够用 CPU 核心来表示 CPU 请求和限制,这些核心可以通过 prometheus 抓取指标直接获得。
但是在普罗米修斯中,我看不到任何直接指标来获取 POD 使用的 CPU 内核,所以,有人可以给我一个解决方法或一种方法来表示 POD 的 CPU 使用率,以 CPU 内核的形式。
提前致谢
您正在寻找的查询是这个:
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