我在我的 ubuntu 12.04 上使用 sudo apt-get install collectd 安装了 collectd,但它只在 rrd 文件中收集 NaN 值。例如,对于名为 memory-used.rrd 的文件,这是它保存的值。
0003 10 1366005779
<ds>
<name> value </name>
<type> GAUGE </type>
<minimal_heartbeat>20</minimal_heartbeat>
<min>0.0000000000e+00</min>
<max>2.8147497671e+14</max>
<!-- PDP Status -->
<last_ds>1807986688.000000</last_ds>
<value>1.6271880192e+10</value>
<unknown_sec> 0 </unknown_sec>
</ds>
<!-- Round Robin Archives -->
<rra>
<cf>AVERAGE</cf>
<pdp_per_row>1</pdp_per_row> <!-- 10 seconds -->
<params>
<xff>1.0000000000e-01</xff>
</params>
<cdp_prep>
<ds>
<primary_value>1.8075664384e+09</primary_value>
<secondary_value>0.0000000000e+00</secondary_value>
<value>NaN</value>
<unknown_datapoints>0</unknown_datapoints>
</ds>
</cdp_prep>
<database>
<!-- 2013-04-15 07:13:00 IRDT / 1365993780 --> <row><v>NaN</v></row>
<!-- 2013-04-15 07:13:10 IRDT / 1365993790 --> <row><v>NaN</v></row>
<!-- 2013-04-15 07:13:20 IRDT / 1365993800 --> <row><v>NaN</v></row>
<!-- 2013-04-15 07:13:30 IRDT / 1365993810 --> <row><v>NaN</v></row>
<!-- 2013-04-15 07:13:40 IRDT / 1365993820 --> <row><v>NaN</v></row>
<!-- 2013-04-15 07:13:50 IRDT / 1365993830 --> <row><v>NaN</v></row>
.........
</database>
</rra>
答案1
解决 collectd 问题的一个非常有效的方法:
启用尽可能少的读取插件(例如你的情况记忆)
LoadPlugin memory
使能够源文件写插件
LoadPlugin csv <Plugin csv> DataDir "/tmp/collectd-csv" </Plugin>
使能够日志档案插入
<Plugin logfile> File STDOUT ## Only available if compiled using --enable-debug # LogLevel debug ## LogLevel info </Plugin>
跑步收集在前景中
collectd -C /path/to/collectd.conf -f
看看你的源文件目录,如果有任何报告
如果一切正常,下一步就是排除故障rrd工具插入。