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

У нас есть метрика 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 сделать это, если имена меток различаются?

1 Ответ

0 голосов
/ 05 марта 2019

Вы можете использовать функцию 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", "(.*)"
    )
  ) 
...