Kubernetes: сравнение использования RSS-памяти модулями и требований к памяти модуля в Prometheus / PromQL

У нас есть метрика container_memory_rss из 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)

«Присоединиться» будет к имени модуля и пространству имен.

Может ли PromQL это сделать, учитывая, что названия меток различаются?


person Johannes Gehrs    schedule 05.03.2019    source источник


Ответы (1)


Для изменения меток на одной стороне выражение такое, что они совпадают:

  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", "(.*)"
    )
  ) 
person tom.wilkie    schedule 05.03.2019