Lets say we have two metrics with sample data points as below
kube_pod_container_resource_requests{managed_cluster:"id1", namespace:"ns1", resource="cpu", pod:"pod1"...} 0.5
kube_pod_container_resource_requests{managed_cluster:"id1", namespace:"ns1", resource="cpu", pod:"pod2"...} 1
kube_pod_container_resource_requests{managed_cluster:"id1", namespace:"ns1", resource="memory", pod:"pod1"...} 17898878
kube_pod_container_resource_requests{managed_cluster:"id1", namespace:"ns1", resource="memory", pod:"pod2"...} 67656776
node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{managed_cluster:"id1", namespace:"ns1", pod:"pod1"...} 0.3
node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{managed_cluster:"id1", namespace:"ns1", pod:"pod2"...} 0.2
Now below are the requirements
- I want to filter only “cpu” data points from kube_pod_container_resource_requests
- Sum all data points based on namespace and managed_cluster for both metrics
- combine both data points based on namespace and managed_cluster
Finally I want result data like below.
{managed_cluster:"id1", namespace:"ns1", cpu_request: 1.5, cpu_usage: 0.5}
Can you help me to write PROMQL query for this scenario. I am not sure how to combine metric and get the values into property like cpu_request/cpu_usage.