如何使用Grafana计算kubernetes的内存使用情况

问题描述

我已经安装了一个新的grafana板,用于监视Kubernetes节点的内存使用情况。我建立了可以单独监视的指标。

所有节点的总内存:

sum (machine_memory_bytes{kubernetes_io_hostname=~"^$Node$"}) by (kubernetes_io_hostname)

以及节点的内存使用情况:

sum (container_memory_working_set_bytes{id="/",kubernetes_io_hostname=~"^$Node$"}) by (kubernetes_io_hostname)

两个指标均显示我期望的值。但是我要存档的是百分比用法

 metric-1 / metric-2 * 100

类似的东西:

sum (container_memory_working_set_bytes{id="/",kubernetes_io_hostname=~"^$Node$"})  
/ 
sum (machine_memory_bytes{kubernetes_io_hostname=~"^$Node$"}) 
* 100
by (kubernetes_io_hostname)

但是这没有用。因为该指标现在无效。我该如何实现?

解决方法

是的,我认为不可能将两次除以平均值。为此,可以使用“ AsPercent”之类的功能,或者如果您正在使用Prometheus

sum(rate(rate(container_memory_working_set_bytes {id =“ /”,kubernetes_io_hostname =〜“ ^ $ Node $”}))[1m])/总和(machine_memory_bytes {kubernetes_io_hostname =〜“ ^ $ Node $”})* 100 由(kubernetes_io_hostname)

此链接可能有帮助https://github.com/camilb/prometheus-kubernetes