在Grafana中查看Docker CPU使用率

时间:2018-08-03 21:36:13

标签: docker grafana

根据Docker Docs,cpu报告为 jiffies

  

对于每个容器,伪文件cpuacct.stat包含CPU使用率   由容器的过程累积,细分为用户   和系统时间。区别是:

     
      
  • 用户时间是指进程直接控制CPU,执行进程代码的时间。
  •   
  • 系统时间是内核代表进程执行系统调用的时间。
  •   
     

这些时间以1/100秒的刻度表示,也称为   “用户轻视”。每秒x86上有USER_HZ个“ jiffies”   系统中,USER_HZ为100。从历史上看,这完全映射到   每秒调度程序“滴答声”的数量,但频率更高   调度和无滴答内核使滴答声数量增加   不相关。

但是,我似乎无法弄清楚如何在grafana中将其显示为某种“容器cpu%使用率”,因为每个指标都在100ks以内。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

数学:

  1. 计算每秒的变化=每秒的速率(仅当TSDB中具有原始的抖动值时)
  2. 将结果乘以100

结果将是%CPU使用率。

默认情况下,您无法在Grafana中进行这种数学运算。这是您的TSDB的一项任务,Grafana只会可视化从TSDB返回的计算结果。

(未经测试的)InfluxDB(TSDB)示例:

SELECT 
  DERIVATIVE("jiffy_value_field",1s)*100 
FROM <measurement> 
WHERE ...