簡體   English   中英

可視化 K8S CPU 資源 Prometheus 和 Grafana

[英]Visualizing K8S CPU resources Prometheus and Grafana

我是 Prometheus 和 Grafana 等監控工具的新手,我想創建代表當前requests and limits resources和使用的儀表板。 此外,這個 pod 里面有 2 個容器。

我的第一個容器的資源如下所示:

 resources:
    requests:
      cpu: "3800m"
      memory: "9500Mi"
    limits:
      cpu: "6500m"
      memory: "9500Mi"

對於第二個容器:

resources:
   limits:
     cpu: 100m
     memory: 100Mi
   requests:
     cpu: 50m
     memory: 50Mi

在 Prometheus 中執行此查詢時:

rate(container_cpu_usage_seconds_total{pod=~"MY_POD"}[5m])我得到: 在此處輸入圖像描述 老實說,我不知道這些返回的數據對資源是否有效。 在 Grafana 上,它看起來像這樣: 在此處輸入圖像描述

此外,我想向儀表板添加有關requests and limits的信息,但我不知道如何縮放儀表板以顯示所有數據。

當我執行此查詢時: kube_pod_container_resource_requests{pod=~"MY_POD"}我得到:

在此處輸入圖像描述

與我的資源相比,這看起來很有效。 我也有適當的限制值,但我想在儀表板上表示所有這些數據(使用情況、請求、限制)。 有人可以給我任何提示如何實現這一目標嗎?

很簡單,只需再添加 2 個查詢

如果您不知道在哪里添加,請在 Metrics Browser 和 Options 選項卡下找到 + 符號以添加更多查詢

container_cpu_usage_seconds_total這個指標是一個計數器,它會給你核心的 CPU 使用率。

kube_pod_container_resource_requests{pod=~"MY_POD"}kube_pod_container_resource_limits{pod=~"MY_POD"} 如果它只有一個 Pod 意味着沒有問題。 但是,如果您有多個 Pod,則意味着嘗試使用Sum

  • 查詢 A: sum(rate(container_cpu_usage_seconds_total{pod=~"MY_POD"}[5m]))
  • 查詢 B: sum(kube_pod_container_resource_requests{pod=~"MY_POD"})
  • 查詢 C: sum(kube_pod_container_resource_limits{pod=~"MY_POD"})

如果沒有太多細節,這看起來不錯,對於更多細節,如容器明智的數據,只需為容器的請求、限制和使用情況再創建三個面板,並在每個查詢之后添加by(container)

另一種方法:

為 Pod 和容器創建變量,以便您可以 select 您想要查看的容器並在單個面板中添加 3 個查詢,以便面板看起來更動態且噪音更少

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM