Grafana 在GROUPBY语句中计算值

Grafana 在GROUPBY语句中计算值,grafana,prometheus,promql,Grafana,Prometheus,Promql,用例: 我有10个Kubernetes节点(将它们视为VM),它们有7到14个可分配的CPU核心,Kubernetes吊舱可以请求这些核心。因此,我想展示一张显示 可分配CPU核 请求的CPU核心数 请求/可分配CPU内核的比率 按节点分组 问题 为前2个需求创建表很容易。我只是在Grafana中创建了一个表,并添加了以下两个指标: sum(kube_pod_container_resource_requests_cpu_cores) by (node) sum(kube_node_status

用例:

我有10个Kubernetes节点(将它们视为VM),它们有7到14个可分配的CPU核心,Kubernetes吊舱可以请求这些核心。因此,我想展示一张显示

  • 可分配CPU核
  • 请求的CPU核心数
  • 请求/可分配CPU内核的比率
  • 按节点分组

    问题

    为前2个需求创建表很容易。我只是在Grafana中创建了一个表,并添加了以下两个指标:

    sum(kube_pod_container_resource_requests_cpu_cores) by (node)
    sum(kube_node_status_allocatable_cpu_cores) by (node)
    
    然而,第三个问题让我很为难。我尝试了这个查询,但显然没有返回任何数据:

    sum(kube_pod_container_resource_requests_cpu_cores / kube_node_status_allocatable_cpu_cores) by (node)
    
    问题


    在我的示例中,如何在group by语句中计算两个不同的度量值?

    这里的问题是这两个度量值有不同的标签,因此您需要聚合额外的度量值:

      sum by (node)(kube_pod_container_resource_requests_cpu_cores) 
    / 
      sum by (node)(kube_node_status_allocatable_cpu_cores)