「RRDtool」:修訂間差異
跳至導覽
跳至搜尋
(未顯示同一使用者於中間所作的 7 次修訂) | |||
第24行: | 第24行: | ||
=== RRA === | === RRA === | ||
Round Robin Archive(RRA)是定義要存的資料量,最基礎的定義是: | |||
<pre>RRA:{AVERAGE | MIN | MAX | LAST}:xff:steps:rows</pre> | |||
其中: | |||
* <code>RRA</code>表示這是一個RRA。 | |||
* <code>AVERAGE</code>這串挑一個用。 | |||
* <code>xff</code>需要設定為<math>[0,1)</math>的值(也就是「大於等於0但小於1」的值),常常用<code>0.5</code>(取中間)。 | |||
* <code>steps</code>表示取樣數量。 | |||
* <code>rows</code>表示產出數量(保留在RRD資料庫的數量)。 | |||
舉例來說,我想要有小時平均值的數據,然後保留一天: | |||
<pre>RRA:AVERAGE:0.5:1h:1d</pre> | |||
== 安裝 == | == 安裝 == | ||
第38行: | 第54行: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
rrdtool create test.rrd --start | rrdtool create test.rrd --start 19800101 --step 5m DS:foo:COUNTER:5m:0:4294967295 RRA:AVERAGE:0.5:1h:1d | ||
</syntaxhighlight> | </syntaxhighlight> | ||
第45行: | 第61行: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
rrdtool dump test.rrd | rrdtool dump test.rrd | ||
</syntaxhighlight> | |||
加入資料: | |||
<syntaxhighlight lang="bash"> | |||
rrdtool update test.rrd N:100 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
於 2024年6月6日 (四) 03:50 的最新修訂
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