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

时间:2018-05-14 03:42:05

标签: prometheus promql

我在kubernetes中部署了prometheus2.0,然后我需要了解每个pod的内存使用情况。 我找到两个指标: container_memory_usage_bytes kube_pod_container_resource_limits_memory_bytes sum(container_memory_usage_bytes)by(pod_name)显示pod已使用的内存已用字节数, sum(kube_pod_container_resource_limits_memory_bytes)by(pod)显示由kubernetes配置的pods内存限制,我只是计算这两个值然后我可以获得所有pod内存使用情况。

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

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来使用这两个指标?

1 个答案:

答案 0 :(得分:1)

您可以通过以下几种方式处理。最好的是使用metric_relabel_configs(因为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