【问题标题】:How to compute kubernetes memory usage with Grafana如何使用 Grafana 计算 Kubernetes 内存使用量
【发布时间】:2020-12-07 09:01:30
【问题描述】:

我设置了一个新的 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)

但这不起作用。因为指标现在无效。我怎样才能做到这一点?

【问题讨论】:

    标签: kubernetes grafana


    【解决方案1】:

    是的,我认为不可能将两个时间序列分开以获得平均值。因为有像“AsPercent”这样的功能,或者如果你正在使用 Prometheus

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

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

    【讨论】:

    • 我试过了,但现在得到以下错误:“在 char 84 处解析错误:范围规范必须以度量选择器开头,但要跟在 *promql.Call 之后”
    • 现在我找到了以下解决方案: sum(container_memory_usage_bytes{id="/",kubernetes_io_hostname=~"^$Node$"}) by (kubernetes_io_hostname)/ on (kubernetes_io_hostname) machine_memory_bytes{kubernetes_io_hostname=~ "^$Node$"}
    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 2016-10-21
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多