如何在InfluxDB中获取Collectd测量的CPU使用百分比

enc*_*ush 5 collectd influxdb

我正在收集Collectd 5.4.0在jiffies中测量的cpu使用率,然后将结果存储在InfluxDB 0.9.4中.我使用以下查询从InfluxDB获取cpu百分比:

SELECT MEAN(value) FROM cpu_value WHERE time >= '' and time <= '' GROUP BY type,type_instance
Run Code Online (Sandbox Code Playgroud)

但是当我绘制结果时,没有任何意义.cpu使用中没有模式.如果我做错了,请告诉我.

谢谢

Tom*_*art 11

从Collectd 5.5开始,您可以获得百分比而不是jiffies的值:

<Plugin cpu>
  ReportByState = true
  ReportByCpu = true
  ValuesPercentage = true
</Plugin>
Run Code Online (Sandbox Code Playgroud)

然后你可以写如下查询:

SELECT mean("value") FROM "cpu_value" WHERE 
  "type_instance" =~ /user|system|nice|irq/ 
  AND "type" = 'percent' AND $timeFilter 
  GROUP BY time($interval), "host"
Run Code Online (Sandbox Code Playgroud)

如果你可以升级它可能是最简单的选择.否则你可以:

使用InfluxDB 0.12,您可以在以下字段之间执行算术运算:

SELECT MEAN(usage_system) + MEAN(usage_user) AS cpu_total
FROM cpu
Run Code Online (Sandbox Code Playgroud)

然而,对于使用这个你必须从collectd报告user|system|nice|irqFIELDSTAGS.