RRDtool
跳转到导航
跳转到搜索
RRDtool是一套TSDB。
概念
主要的两个概念是DS与RRA。
DS
Data Sources(DS)比较好理解,定义资料,依照官方的说明是:
DS:ds-name:{GAUGE | COUNTER | DERIVE | DCOUNTER | DDERIVE | ABSOLUTE}:heartbeat:min:max
其中:
DS
表示这是DS。ds-name
是自己定义的名称。GAUGE
这串挑一个用。heartbeat
表示单一一个数字表示的有效时间,平常用不太到,但遇到前后有缺资料的时候会使用者个设定。min
与max
表示这个资料的范围区间。
所以像是这样的DS定义就是将foo
定成uint32,有效区间五分钟:
DS:foo:COUNTER:5m:0:4294967295
RRA
Round Robin Archive(RRA)是定义要存的资料量,最基础的定义是:
RRA:{AVERAGE | MIN | MAX | LAST}:xff:steps:rows
其中:
RRA
表示这是一个RRA。AVERAGE
这串挑一个用。xff
需要设定为的值(也就是“大于等于0但小于1”的值),常常用0.5
(取中间)。steps
表示取样数量。rows
表示产出数量(保留在RRD资料库的数量)。
举例来说,我想要有小时平均值的数据,然后保留一天:
RRA:AVERAGE:0.5:1h:1d
安装
一般透过系统的套件就可以直接安装:
sudo apt install -y rrdtool; sudo apt clean
范例
先建立一个test.rrd
:
rrdtool create test.rrd --start 19800101 --step 5m DS:foo:COUNTER:5m:0:4294967295 RRA:AVERAGE:0.5:1h:1d
马上就可以dump成XML:
rrdtool dump test.rrd
加入资料:
rrdtool update test.rrd N:100