RRD全称是Round Roubin Database,即环形数据库,他是一种循环使用存储空间的数据库,在创建的时候就一定定义好了大小(通过RRA),因此他所创建的数据库大小可控,不会线性增长。(一个rrd文件就是一个数据库文件)
创建一个rrd文件时需要设定以下几个参数:
创建 RRD 基本语法
rrdtool create filename
[–start|-b start-time]
[–step|-s step]
[DS:ds-name:DST:dst-arguments]
[RRA:CF:xff:step:rows]
其中:
–start指定存放数据的起始时间戳
–step设定数据存入的时间间隔
ds:数据源名称,是一个变量,通常设定为metric的名字
dst:数据源的类型,主要有以下几种:
GAUGE:保持上传的原始值
COUNTER:只能递增的数值(例如汽车里程,网卡流量),保存时保存的是平均值即变化率,计算方法:(本次值-上次值)/step
DRIVE:和COUNTER类似,数据可以递增也可以递减
ABSOLUTE:假定上一次的值为0,然后求变化率。计算方法:(本次值-0)/step
rra:归档模型,假如每秒上传一个值,每次上传的值都存储,一年后将有160秒60分24小时365天个数值,这么多个数据点根本无法通过图像展示。因此需要利用rra进行数据归档。
RRA:AVERAGE:0.5:2:8:表示保存平均值,有效因子为50%,即必须至少有一个周期的值是有效的才能计算得到最终的值,否则将归档为UNKNOWN。每2个周期保存一个值,一个保存8个值。
创建rrd文件举例:
rrdtool create test.rrd –start 920804400
DS:speed:COUNTER:600:U:U
RRA:AVERAGE:0.5:1:24
RRA:AVERAGE:0.5:6:10