import rrdtool
import time
cur_time=str(int(time.time()))
rrd=rrdtool.create(‘Flow.rrd‘,‘--step‘,‘300‘,‘--start‘,cur_time, #Flow.rrd 文件名,--step表示写数据的频率,--start表示第一条记录的起始时间
‘DS:eth0_in:COUNTER:600:0:U‘, #DS定义数据源,网卡eth0入流量,counter表示递增(DST定义数据类型),后面的表示600秒表示心跳值,满600秒没有收到数据,会用unknown代替,0为最小值,U为最大值
‘DS:eth0_out:COUNTER:600:0:U‘, #DST有的类型:DERIVE(可增可减),ABSOLUTE(假定前一个的时间间隔为0,再计算平均值),GUAGE(收到值后直接存入RRA),COMPUTE(定义表达式,引用DS并自动计算出某个值)
‘RRA:AVERAGE:0.5:1:600‘, #RRA定义数据存储格式
‘RRA:AVERAGE:0.5:6:700‘, #CF统计合并数据,方式有AVERAGE、max、min,last最新值
‘RRA:AVERAGE:0.5:24:775‘, #数字0.5表示一个CDP中的PDP值如果超过一半为UNKNOWN就被标为UNKNOWN,
‘RRA:AVERAGE:0.5:288:797‘, #存储时间计算为0.5后的值乘以300秒,最后的值表示存值的次数
‘RRA:MAX:0.5:1:600‘,
‘RRA:MAX:0.5:6:700‘,
‘RRA:MAX:0.5:24:775‘,
‘RRA:MAX:0.5:444:797‘,
‘RRA:MIN:0.5:1:600‘,
‘RRA:MIN:0.5:6:700‘,
‘RRA:MIN:0.5:24:775‘,
‘RRA:MIN:0.5:444:797‘)
if rrd:
print(rrdtool.error())
原文地址:http://blog.51cto.com/xiaoshanzi/2121035