gpt4 book ai didi

kubernetes - 使用 PromQL 划分组

转载 作者:行者123 更新时间:2023-12-02 11:48:28 25 4
gpt4 key购买 nike

我想通过使用的核心数除以 CPU 限制(可分配的核心数)来计算容器的实际 CPU 使用率。因此,我得到了 4 个 pod 的两个不同指标:

  • 每个 pod 使用的内核数
  • 每个 pod 的可用内核数

我的问题:

我想获取每个容器的 CPU 使用率(已用内核数/可用内核数)。

我尝试了什么:

这两个查询中的每一个都返回我想要的:

  1. 每个 pod 当前使用的内核数:

(我正在使用 label_replace,因为一个指标使用 pod_name 作为指标名称,而另一个使用 pod)

label_replace(sum(rate(container_cpu_usage_seconds_total{pod_name=~"rewe-bd-palantir-vernemq.*", container_name="vernemq"}[1m])) by (pod_name), "pod", "$1", "pod_name", "(.*)")

响应:https://monosnap.com/direct/6EPuLF59HBJaYsAmKG6CM0fRPyUXDk

  1. 每个 pod 的可用内核数:

sum(kube_pod_container_resource_limits_cpu_cores{pod=~"rewe-bd-palantir-vernemq.*", container="vernemq", job="kubernetes-pods"}) by (pod)

响应:https://monosnap.com/direct/dRBfitwcxHIrTRYDmYHwV5YkomYJjH

此查询无效(未返回任何数据点):

label_replace(sum(rate(container_cpu_usage_seconds_total{pod_name=~"rewe-bd-palantir-vernemq.*", container_name="vernemq"}[1m])) by (pod_name), "pod", "$1", "pod_name", "(.*)") / sum(kube_pod_container_resource_limits_cpu_cores{pod=~"rewe-bd-palantir-vernemq.*", container="vernemq", job="kubernetes-pods"}) by (pod)

我的问题:

我如何实现返回每个 pod 的 CPU 使用率(已用内核数/可用内核数)的查询?

最佳答案

您还需要使用 on() 函数。所以它会像这样。

label_replace(sum(rate(container_cpu_usage_seconds_total{pod_name=~"rewe-bd-palantir-vernemq.*", container_name="vernemq"}[1m])) by (pod_name), "pod", "$1", "pod_name", "(.*)") / on(pod) sum(kube_pod_container_resource_limits_cpu_cores{pod=~"rewe-bd-palantir-vernemq.*", container="vernemq", job="kubernetes-pods"}) by (pod)

关于kubernetes - 使用 PromQL 划分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52258900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com