Kubernetes:比较Prometheus / PromQL中Pod的RSS内存使用情况和Pod内存需求

时间:2019-03-05 09:07:18

标签: kubernetes prometheus cadvisor promql

我们有来自cadvisor的指标kube_pod_container_resource_requests_memory_bytes和来自Kubernetes本身的指标sum(kube_pod_container_resource_requests_memory_bytes) by (pod, namespace) sum(container_memory_rss) by (container_label_io_kubernetes_pod_name, container_label_io_kubernetes_pod_namespace)

是否可以将指标相互关联,以便我们可以直接比较两个指标的比率?更具体地说,我想基本上“加入”以下指标:

update

“ join”将在pod名称和名称空间上。

考虑到标签名称的不同,PromQL可以这样做吗?

1 个答案:

答案 0 :(得分:1)

您可以使用label_replace函数来修改表达式一侧的标签,使它们匹配:

  sum by (pod_name, namespace) (container_memory_rss) 
/ 
  sum by (pod_name, namespace) (
    label_replace(
      kube_pod_container_resource_requests_memory_bytes, 
      "pod_name", "$1", "pod", "(.*)"
    )
  )