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