为什么rrdtool图是空白的?

时间:2014-05-30 13:04:03

标签: rrdtool

我正在尝试让rrdtool工作以绘制ifInOctets。

我使用以下方法创建了数据库:

rrdtool create bandwidth.rrd --start N DS:in:COUNTER:60:U:U RRA:AVERAGE:0.5:1:432

我跑了一分钟:

 /usr/bin/rrdupdate /srv/www/htdocs/rrdtool/bandwidth.rrd N:`/usr/bin/snmpget -v 2c -Oqv -c secret 192.168.1.1 ifInOctets.2`

如果我跑

 /usr/bin/snmpget -v 2c -Oqv -c secret 192.168.1.1 ifInOctets.2 

它返回正确的结果。

然后我使用:

创建rrd图
 /usr/bin/rrdtool graph /srv/www/htdocs/mrtg/bandwidth.png -a PNG -w 785 -h 120 -s -129600 -v "Data Throughput" \
'DEF:in=/srv/www/htdocs/rrdtool/bandwidth.rrd:in:AVERAGE' \
'CDEF:kbin=in,1024,/' \
'AREA:in#00FF00:Bandwidth In'                              \
'GPRINT:kbin:LAST:Last Bandwidth In\:    %3.2lf KBps'      \
'GPRINT:kbin:AVERAGE:Average Bandwidth In\: %3.2lf KBps'

我有什么明显的遗失吗?

1 个答案:

答案 0 :(得分:1)

如果您每分钟收集数据,则需要使用--step = 60将RRD步骤设置为60s(默认值为300s)

此外,您还拥有Heartbeat用于' in' DS设置为60.通常,您应该将其设置为步长的两倍,否则您需要每59秒更新一次......发生的事情是每60秒发生一次更新,这是心跳时间,因此大多数都是被设定为未知。

将心跳更改为120,将步骤更改为60,它应该可以正常工作:

rrdtool create bandwidth.rrd --step 60 --start N DS:in:COUNTER:120:U:U RRA:AVERAGE:0.5:1:432