计算 Group By 语句中的值

ken*_*tor 5 grafana prometheus promql

使用案例:

我有 10 个 Kubernetes 节点(将它们视为虚拟机),它们有 7 到 14 个可分配的 CPU 核心,可由 Kubernetes Pod 请求。因此我想展示一个表格来显示

  1. 可分配的CPU核心
  2. 请求的CPU核心
  3. 请求/可分配 CPU 核心的比率

按节点分组。

问题

为前两个要求创建表很容易。我只是在 Grafana 中创建了一个表并添加了这两个指标:

sum(kube_pod_container_resource_requests_cpu_cores) by (node)
sum(kube_node_status_allocatable_cpu_cores) by (node)
Run Code Online (Sandbox Code Playgroud)

然而我在第三个方面遇到了困难。我尝试了这个查询,但它显然没有返回任何数据:

sum(kube_pod_container_resource_requests_cpu_cores / kube_node_status_allocatable_cpu_cores) by (node)
Run Code Online (Sandbox Code Playgroud)

问题

在我给定的示例中,如何实现 group by 语句中两个不同指标的计算?

bri*_*zil 5

这里的问题是两者有不同的标签,因此您需要汇总额外的内容:

  sum by (node)(kube_pod_container_resource_requests_cpu_cores) 
/ 
  sum by (node)(kube_node_status_allocatable_cpu_cores)
Run Code Online (Sandbox Code Playgroud)