如何使用 PromQL 来使用这两个指标?

how could I get usage with this two metrics by using PromQL?

我在kubernetes中部署了prometheus2.0,然后我需要知道每个pods的内存使用情况。 我找到两个指标:container_memory_usage_byteskube_pod_container_resource_limits_memory_bytes,以及 sum(container_memory_usage_bytes) by (pod_name) show pods memory used bytes which already consumed ,sum(kube_pod_container_resource_limits_memory_bytes) by (pod) 显示 pods 由 kubernetes 配置的内存限制,我只是计算这两个值然后我可以获得所有 pods 内存使用情况。

但这两个指标显示不同的矢量名称,见下文

sum(kube_pod_container_resource_limits_memory_bytes) by (pod)
Element     Value
{pod="calico-node-lwmk4"}   536870912
{pod="security-1-0-1857679549-cbg5m"}   4294967296
{pod="msi-joomla-1-0-2319985720-kvjlg"} 536870912

sum(container_memory_usage_bytes) By (pod_name)
Element     Value
{pod_name="calico-node-lwmk4"}  90996736
{pod_name="security-1-0-1857679549-cbg5m"}  627601408
{pod_name="msi-joomla-1-0-2319985720-kvjlg"}    59744665

如何使用 PromQL 使用这两个指标?

您可以通过以下几种方式处理此问题。最好的是 metric_relabel_configs 用于 cadvisor(因为 cadvisor 不遵循命名约定):

metric_relabel_configs:
  - source_labels: [pod_name]    # Copy pod_name to pod
    target_label: pod
  - replacement: ''              # Remove pod_name label by setting it to empty
    target_label: pod_name