I use nagiostat for everything from free space in Oracle tablespaces to network traffic.
I'll just include a portion of my nagiostat.conf file, that might help you in case you decide to use it. I suggest that you do, since almost every service check you make, can be graphed and has helped me immensely in finding hidden problems that you really never see without a graph.
GraphTimeTemplate 5year -1hour:-0min:"Hourly graph" -24hours:-0min:"Daily graph" -7days:-0min:"Weekly graph" -1month:-0min:"Montly graph" -1year:-0min:"Yearly graph" -5year:-0min:"5 Year graph"
RRDCreateTemplate ifrate_5min --step 300 DS:in:GAUGE:600:U:U DS:out:GAUGE:600:U:U RRA:AVERAGE:0.5:1:396 RRA:AVERAGE:0.5:7:336 RRA:AVERAGE:0.5:24:480 RRA:AVERAGE:0.5:234:480
PlotTemplate ifrate --start $s --end $e DEF:in=$f:in:AVERAGE DEF:out=$f:out:AVERAGE AREA:in#00D000:\"Inbound traffic (kbit/s)\" LINE2:out#0000A0:\"Outbound traffic (kbit/s)\" GPRINT:in:MAX:\"IN MAX\: %.4lg kbit/s\" GPRINT:in:MIN:\"IN MIN\: %.4lg kbit/s\" GPRINT:in:AVERAGE:\"IN average\: %.4lg kbit/s\" GPRINT:out:MAX:\"OUT MAX\: %.4lg kbit/s\" GPRINT:out:MIN:\"OUT MIN\: %.4lg kbit/s\" GPRINT:out:AVERAGE:\"OUT average\: %.4lg kbit/s\"
ValueRegexTemplate ifrate_in_out "output:in:/\[IN\]=([0-9.]+) kbit/" "output:out:/\[OUT\]=([0-9.]+) kbit/"
InsertValue PP-NHR-1-3p8-ifrate.rrd ifrate_5min /PP-NHR-1-3p8/ /"if-traffic"/ ifrate_in_out