有没有什么方法可以使用普罗米修斯指标来表示 POD CPU 在 CPU 核心方面的使用情况
Is there any way to represent POD CPU usage in terms of CPU cores using prometheus metrics
我只想表示 POD 的 CPU 指标,如下所示
我能够根据 CPU 核心表示 CPU 请求和限制,这些核心可通过普罗米修斯抓取指标直接获得。
但是在 prometheus 中,我没有看到任何直接指标来获取 POD 使用的 CPU 核心,所以,有人可以给我解决方法或表示 CPU 用法的方法吗POD 的 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
从 Kuberntes 1.16 开始,container_name
和 pod_name
标签已重命名为 container
和 pod
- 有关详细信息,请参阅 this issue。因此,对于 Kubernetes 1.16+,必须使用以下 PromQL 查询来计算 per-pod CPU 在 CPU 核心中的使用情况:
sum(rate(container_cpu_usage_seconds_total{container!~"POD|"}[5m])) by (pod)
我只想表示 POD 的 CPU 指标,如下所示
我能够根据 CPU 核心表示 CPU 请求和限制,这些核心可通过普罗米修斯抓取指标直接获得。
但是在 prometheus 中,我没有看到任何直接指标来获取 POD 使用的 CPU 核心,所以,有人可以给我解决方法或表示 CPU 用法的方法吗POD 的 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
从 Kuberntes 1.16 开始,container_name
和 pod_name
标签已重命名为 container
和 pod
- 有关详细信息,请参阅 this issue。因此,对于 Kubernetes 1.16+,必须使用以下 PromQL 查询来计算 per-pod CPU 在 CPU 核心中的使用情况:
sum(rate(container_cpu_usage_seconds_total{container!~"POD|"}[5m])) by (pod)