Kubernetes:比较 Prometheus / PromQL 中 Pod 的 RSS 内存使用和 Pod 内存需求
Posted
技术标签:
【中文标题】Kubernetes:比较 Prometheus / PromQL 中 Pod 的 RSS 内存使用和 Pod 内存需求【英文标题】:Kubernetes: Comparing RSS Memory Usage of Pods and Pod Memory Requirements in Prometheus / PromQL 【发布时间】:2019-07-26 16:47:14 【问题描述】:我们有一个来自 cadvisor 的指标 container_memory_rss
和一个来自 Kubernetes 本身的指标 kube_pod_container_resource_requests_memory_bytes
。
是否可以将指标相互结合,以便我们可以直接比较两个指标的比率?更具体地说,我想基本上“加入”以下指标:
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)
“加入”将在 pod 名称和命名空间上。
鉴于标签名称不同,PromQL 可以做到这一点吗?
【问题讨论】:
【参考方案1】:您可以使用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", "(.*)"
)
)
【讨论】:
以上是关于Kubernetes:比较 Prometheus / PromQL 中 Pod 的 RSS 内存使用和 Pod 内存需求的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes第七篇:使用kubernetes部署prometheus+grafana监控系统(Kubernetes工作实践类)
Kubernetes第七篇:使用kubernetes部署prometheus+grafana监控系统(Kubernetes工作实践类)
Linux企业运维——Kubernetes(二十)Prometheus监控
Linux企业运维——Kubernetes(二十)Prometheus监控
Kubernetes_08_使用kubernetes部署prometheus+grafana监控系统(Kubernetes工作实践类)