一.rrdtool update|updatev
1.功能:向由rrdtool create所创建的rrd文件提供数据;
2.使用
rrdtool update|updatev file_name [--template|-t ds_name[:ds_name]...] [--] N|timestamp:value[:value...]
3.选项及参数
file_name:指定文件名;
--template|-t:指定数据源及其顺序;
N|timestamp:value:value...:N表示当前时间,timestamp指定时间戳,后跟的value对应数据源顺序插入数据,当然,只有一个数据源或者按数据源原有顺序提供数据时,可以不用--template|-t;
二.rrdtool graph
1.功能:绘图;
2.使用
rrdtool graph|graphv pic_file_name [option...] [data definition...] [data calculation...] [variable definition] [graph element...] [print element...]
3.选项及参数
1)[option...]:
pic_file_name:指定生成图片名称,格式默认为.png;
--start|-s time:指定开始时间;
--end|-e time:指定结束时间;
--step|-S second:指定解析度;
--title|-t string:指定图片标题;
--vertical-label|-v string:指定纵坐标标签;
--width|-w pixels:指定图像宽度的像素;
--height|-h pixels:指定图像高度的像素;
--only-graph|-j:只绘制预览图;
--full-size-mode|-D:图像能根据空间自动缩放;
--upper-limit|-u value:指定图像取值上限;
--lower-limit|-l value:指定图像取值下限;
--rigid|-r:取值超过上下限时取到最上点或最下点,保持不变,即不能自动缩放;
--alt-autoscale|-A:自动缩放;
--alt-autoscale-min|-J:自动缩放最小值;
--alt-autoscale-max|-M:自动缩放最大值;
--no-gridfit|-N:不显示网格线;
--x-grid|-x GTM:GST:MTM:MST:LTM:LST:LPR:LFM:八个参数分别指定横轴副网格线绘制的单位,时间,主网格线绘制的单位,时间,标签显示的单位,时间,最后两个指定时间格式;
如:-x MINUTE:10:HOUR:1:HOUR:4:0:%X:每十分钟画一条副网格线(灰色线),每1小时画一条主网格线(红色线),横轴标签每4小时显示一个;
--y-grid|-y grid step:label factor:step指定每多长指定一个刻度,label_factor指定每隔多长时间显示一个
--imgformat|-a PNG|SVG|EPS|PDF:指定图片格式;
2)[data definition...]
DEF:vname=rrdfile:ds_name:CF[:step=step][:start=time][:end=time]
DEF:关键字;
vname=rrdfile:ds_name:CF:将rrdfile中的DS通过聚合后的数据保存在变量vname,该变量长度小于256,只能包含[a-zA-Z0-9];
3)[graph element...]
线条图和面积图
LINE[width]:vname[#color] [:[legend][:STACK]]:LINE是关键字,表示画线条图,width表示线条粗细1-3,vname就是上面定义的数据变量,color指定颜色,如ff0000表示红色,000000表示黑色,legend表示该线条的指示字符;
AREA:vname[#color] [:[legend][:STACK]]:AREA是关键字,表示面积图;
4)[print element...]
GPRINT:vname:CF:string
GPRINT:关键字;
vname:定义的数据变量;
CF:聚合函数;
string:需要打印的内容和格式(出现冒号要转义);
4.实例
rrdtool graph test.png --step 300 -s 1341664750 -t Test -v vtest DEF:vtest=test.rrd:testds:AVERAGE LINE1:vtest#ff0000:"testline"
解释:画图,图片名称为test.png,指定解析度为300s(也可以在DEF中指定step=300),指定绘图起始时间1341664750,标签为Test,垂直标签为vtest,将数据变量vtest绘制成图像,线条用LINE1,颜色为红色,该线条的指示字符为testline;
rrdtool graph test.png -s 1341664750 -t Test -v vtest DEF:vtest=test.rrd:testds:AVERAGE:step=5 DEF:vtest2=test.rrd:testds:AVERAGE:step=50 LINE1:vtest#ff0000:"testline" LINE1:vtest2#00ff00:"testline2" GPRINT:vtest:AVERAGE:"iftraffic1 \: %6.2lf" GPRINT:vtest2:AVERAGE:"iftraffic2 \: %6.2lf;
解释:指定了两个变量,分别是5s和50s的数据,绘制了两条线在同一张图上,分别为红色和绿色,分别显示平均值。