输出日志
collectd.conf
LoadPlugin "logfile" <Plugin "logfile"> LogLevel "info" File "/var/log/collectd.log" Timestamp true </Plugin>
collectd-exec 插件执行的脚本标准错误输出(stderr)会出现在日志文件中(/var/log/collectd.log)。
通过分析日志可以查出统计脚本本身的问题。
网络抓包
使用 tcpdump 抓包
tcpdump -i any host <collectd server ip> -XX -tttt -nnnn -s 0 -w ~/<collectd server ip>.pcap
请将 <collectd server ip>
替换为 collectd.conf 中 network
插件中的 Server
值。
使用 wireshark 查看抓到的包,右键菜单中选择 Decode As...
,弹出的列表中选择按 collectd
协议进行解析。
检查上报的数据是否有问题。
如果上报的数据是正常的,则有可能是以前上报了有问题的数据导致,请尝试从 collectd 服务器上直接将相应的 rrd 文件删除。
分析 rrd 文件
collectd 是使用 RRDtool 进行数据存储,直接查看 rrd 文件数据是最直接的诊断方法。
rrdtool fetch /var/lib/collectd/localhost/test/gauge.rrd AVERAGE --start 1464585532 --end N
RRDtool 的用法请参考 RRDtool - rrdtutorial