我想用prometheus计算k8s集群的cpu/内存使用率(而不是k8s pod使用率),这样我就可以在grafana中显示。
我使用sum (container_memory_usage_bytes{id="/"})来获取k8s集群使用的内存,使用topk(1, sum(kube_node_status_capacity_memory_bytes) by (instance))来获取整个k8s集群的内存,但由于topk函数不返回值而是向量,所以它们不能相除。
我该怎么做呢?
发布于 2019-02-26 10:28:22
我的主要问题是topk(1, sum(kube_node_status_capacity_memory_bytes) by (instance))不能返回值,但现在我发现使用sum()来隐藏它可以工作,整个查询如下所示:
sum(sum (container_memory_usage_bytes{id="/"})by (instance))/sum(topk(1, sum(kube_node_status_capacity_memory_bytes) by (instance)))*100发布于 2019-02-26 00:17:06
我已经通过gcloud默认应用程序在google Cloud上安装了Prometheus。仪表板随安装自动部署。以下查询用于群集的内存和CPU使用率:
按命名空间划分的CPU使用率:
sum(irate(container_cpu_usage_seconds_total[1m])) by (namespace)命名空间的内存使用量(无缓存):
sum(container_memory_rss) by (namespace)CPU请求承诺:
sum(kube_pod_container_resource_requests_cpu_cores) / sum(node:node_num_cpu:sum)内存请求提交:
sum(kube_pod_container_resource_requests_memory_bytes) / sum(node_memory_MemTotal)https://stackoverflow.com/questions/54866777
复制相似问题