我们有来自cadvisor的公制container_memory_rss
和来自Kubernetes本身的公制kube_pod_container_resource_requests_memory_bytes
。
是否可以将指标相互加入,以便我们可以直接比较两个指标的比率?更具体地说,我想基本上“加入”以下指标:
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)
'join'将位于pod名称和名称空间上。
PromQL可以这样做,因为标签名称有所不同吗?
您可以使用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", "(.*)"
)
)