我正在使用Prometheus工具来监控我的Kubernetes集群。
我在我的部署中设置了一个资源限制(内存限制),并且需要配置一个面板来显示可用内存总量。请让我知道在Prometheus中运行以获取我的部署可用的总内存限制所需的查询。
发布于 2018-10-01 17:44:54
可以使用指标kube_pod_container_resource_limits_memory_bytes (由kube-state-metrics提供)和container_memory_usage_bytes (由kubelet/cAdvisor提供)
label_replace(
label_replace(
kube_pod_container_resource_limits_memory_bytes{},
"pod_name",
"$1",
"pod",
"(.+)"
),
"container_name",
"$1",
"container",
"(.+)"
)
-
on(pod_name,namespace,container_name)
avg(
container_memory_usage_bytes{pod_name=~".+"}
)
by (pod_name,namespace,container_name)对查询的一点解释:它是内存限制和实际使用量的减去。需要label_replace函数来匹配这两个指标的标签名称,因为它们是从不同的目标获得的。avg用于获取实例重启之间的平均值,因为每次实例重启都会创建一个新指标。{pod_name=~".+"}用于过滤container_memory_usage_bytes中不适用于此情况的指标
https://stackoverflow.com/questions/52584773
复制相似问题