容器-promQL語法之CPU指標


 k8s通過request(下限)和limit(上限)限制容器的CPU和內存的使用范圍

在容器運行的過程中需要實時監控容器對cpu的使用情況

1、 容器用戶態占用CPU的時間總和

container_cpu_user_seconds_total

2、 容器內核態占用CPU的時間總和

container_cpu_system_seconds_total

 3、 container_cpu_user_seconds_total與container_cpu_system_seconds_total的總和,代表容器占用CPU的總和

container_cpu_usage_seconds_total

 4、 由於這些指標都是計數器類型的,所以可以通過rate函數獲取樣本變化率

獲取5min的樣本變化率的表達式如下:

sum (rate(container_cpu_usage_seconds_total[5m])) by (container_name)

 5、容器的每次CPU消耗超過設置的上限后,都會以累加的方式得到記錄

在 container_cpu_cfs_throttled_seconds_total 指標中可以通過rate函數獲取變化率

sum (rate(container_cpu_cfs_throttled_seconds_total[5m])) by (container_name)

 如果容器的這個指標過高,則需要調整CPU的上限或者查看程序是有死循環等問題

 

6、 查詢容器相關的 數據:查詢所有POD的1min內CPU使用情況,用到的數據指標是<container_cpu_usage_seconds_total>

由於查詢到的數據都是容器相關的,所以最好按照Pod聚合,對應的promQL語句如下

sum by (pod) ( rate(container_cpu_usage_seconds_total{image!="",pod!=""}[1m]))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM