3

我想使用 Stackdriver 监控来监视我的 GKE 节点的 CPU/内存百分比使用情况。

但是,在查看 Stackdriver Monitoring UI 时,似乎没有任何此类选项可用(以百分比表示)。

另一方面,对于(似乎是)绝对内存使用情况,似乎有 2 个极其相似的指标(它们的描述是相同的)。(附截图)。

有谁知道如何提供 GKE 节点上使用的内存和 CPU 的百分比?(不是容器)

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

5

每个https://cloud.google.com/monitoring/api/metrics_kubernetes

node/memory/allocatable_utilization并且node/cpu/allocatable_utilization 似乎在做你想做的事:

  • node/memory/allocatable_utilization- [BETA] 内存可分配利用率

    • 描述:实例上当前正在使用的可分配内存的比例。此值不能超过 1,因为使用量不能超过可分配的内存字节。每 60 秒采样一次。采样后,最长 120 秒内数据不可见。
    • 种类:GAUGE,类型:DOUBLE,单位:1
    • 监控资源:k8s_node
    • 标签:
      • memory_type:要么evictable要么non-evictable。可驱逐内存是内核可以轻松回收的内存,而不可驱逐内存则不能。
      • component:相应系统守护进程的名称。
  • node/cpu/allocatable_utilization- [BETA] CPU 可分配利用率。

    • 描述:实例上当前正在使用的可分配 CPU 的比例。每 60 秒采样一次。采样后,最长 240 秒内数据不可见。
    • 种类:GAUGE,类型:DOUBLE,单位:1
    • 监控资源:k8s_node

不过,这两个指标都标记为BETA


提到的原始答案:container/cpu/limit_utilizationcontainer/memory/limit_utilization

于 2020-01-08T21:08:55.627 回答
2

不幸的是,这是不可能的。请查看文档页面,您可以在其中找到可以从 Google Kubernetes Engine 收集然后与 Stackdriver Monitoring 一起使用的指标列表。此外,您还可以查看这些文档以查找有关可用指标的一些额外信息。

同时,您可以在Kubernetes Engine-> Clusters-> Cluster-> Nodes->找到使用率,Node details或者只使用命令行:

kubectl top nodes                                            
NAME                                       CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
gke-test-cluster-default-pool-cd22e088-29sd   45m          4%     647Mi           24%       
gke-test-cluster-default-pool-cd22e088-8xsg   93m          9%     693Mi           26%       
gke-test-cluster-default-pool-cd22e088-t1h0   41m          4%     625Mi           23%  

此外,您可以使用其他 3rd 方监控解决方案来解决此问题。

于 2020-01-08T13:06:26.840 回答