我在理解為什么在 Prometheus/Grafana 中為同一個 pod 獲得多個結果時遇到了一些麻煩。
我正在嘗試通過rate(container_cpu_usage_seconds_total{namespace=~". -test", pod=~"my-server-. ", image!~"|.*pause.*", container!="POD"}[5m])
.
該container
標簽不包括與結果POD
字串。我發現那些是指在容器啟動之前保存命名空間和其他東西的暫停容器。
但是我在image
標簽中得到了暫停容器。所以我把它們從那個標簽中排除了。
然后我發現了一些沒有image
標簽的容器,我在標簽中插入了一個或 ( |
) 來排除它們image
。
在某些情況下,容器的CPU利用率沒有image
標簽是比“正確的”容器(具有正確的一個較低image
和container
標簽),而在其他情況下,它是非常相似,但絕不相同。
例子:
服務器 1 影像
服務器 2 影像
我想了解這些容器是什么以及它們指的是什么。
附注。指標來自cadvisor
.
uj5u.com熱心網友回復:
試試這個查詢:
rate(container_cpu_usage_seconds_total{container!="POD", container=~". "}[5m])
簡而言之,CPU 使用率有多種解析度(容器、pod、QoS 類),上面的這個查詢有效地消除了除您明確定義的容器之外的所有內容。!="POD"
洗掉暫停容器并container=~". "
表示“非空”。除了“每個容器”之外,沒有任何解析度有這個標簽。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/401723.html
標籤:Kubernetes 容器 普罗米修斯 程序 管理员