[英]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
sum(rate(container_cpu_usage_seconds_total{pod=~"MY_POD"}[5m]))
sum(kube_pod_container_resource_requests{pod=~"MY_POD"})
sum(kube_pod_container_resource_limits{pod=~"MY_POD"})
如果沒有太多細節,這看起來不錯,對於更多細節,如容器明智的數據,只需為容器的請求、限制和使用情況再創建三個面板,並在每個查詢之后添加by(container)
另一種方法:
為 Pod 和容器創建變量,以便您可以 select 您想要查看的容器並在單個面板中添加 3 個查詢,以便面板看起來更動態且噪音更少
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.