领悟rrdtool
rrdtool編程,我斷斷續(xù)續(xù)學(xué)了有一個星期了.今天,我來總結(jié)下我學(xué)習(xí)的經(jīng)驗,以供路人和我參考.
rrdtool重要的也就是create,update,graph
create就是創(chuàng)建一個rrd數(shù)據(jù)庫,在這里我們要注意幾點:
(1)心中要有圖,只有心中有圖,才知道要什么樣的結(jié)果.
(2)研究數(shù)值,以便你知道定義什么類型的DS,如果DST定義的不正確,不管是update,graph都是白搭.
?? 補(bǔ)充DST的類型:counter,derive,absolute,gauge,compute(常用的counter,gauge)
?? 補(bǔ)充PDP的定義
PDP :Primary Data Point 。正常情況下每個 interval RRDtool 都會收到一個值;RRDtool 在收到腳本給來的值后會計算出另外一個值(例如平均值),這個 值就是 PDP ;這 個值代表的一般是“xxx/秒”的含義。注意,該值不一定等于RRDtool? 收到的那個值。除非是GAUGE ,可以看下面的例子:
?????
Values = 300, 600, 900, 1200??????
# 假設(shè) RRDtool 收到4個值,分別是300,600,900,1200 Step = 300 seconds???????????????????
# step 為 300 COUNTER = 1,1, 1,1???????????????????????
?# (300-0)/300,(600-300)/300,(900-600)/300,(1200-900)/300 ,所以結(jié)果為 1,1,1,1 DERIVE = 1,1,1,1???????????????????????? # 同上 ABSOLUTE = 1,2,3,4??????????????????
# (300-0)/300,(600-0)/300 , (900-0)/300, (1200-0)/300,所以結(jié)果為 1,2,3,4 GAUGE = 300,600,900,1200????????? # 300 , 600 ,900 ,1200 不做運算,直接存入數(shù)據(jù)庫 所以第一行的 values 并不是 PDP ,后面4行才是 PDP (3)rra的作用,就像是一個庫里的表,這個表是用來存儲CDP的數(shù)據(jù),每張表根據(jù)定義的粒度不同,所存儲的數(shù)據(jù)是不一樣的,有的粒度是5分鐘,有的是30分鐘,有的是.......他們都是 根據(jù)參數(shù)的定義而不同的.如:
RRA:AVERAGE:0.5:1:600???????
# 1 表示對1個 PDP 取平均。實際上就等于 PDP 的值
RRA:AVERAGE:0.5:4:600????????
# 4 表示每4個 PDP 合成為一個 CDP,也就是20分鐘。方法是對4個PDP取平均,
RRA:AVERAGE:0.5:24:600?
# 同上,但改為24個,也就是24*5=120分鐘=2小時。
RRA:AVERAGE:0.5:288:730??????
# 同上,但改為288個,也就是 288*5=1440分鐘=1天
我們要知道以后的graph所取的值都是來自rra的.
(4)注意rra定義下的CF,這個CF在我看來有兩個作用,第一個作用是用來如何處理pdp的數(shù)據(jù),如
RRA:AVERAGE:0.5:4:600?? 這是表示每4個 PDP 合成為一個 CDP(取平均值),其實CF還有min,max,last(我們看字面意思也就知道什么作用了.)
第二個作用是用來為graph時定義畫圖的值來自哪個RRA.
update更新rra,需要注意幾點
(1)根據(jù)create時定義的DS數(shù)量,需要按照一定的順序(用冒號分開).如:
update rrdfile,timestamp:value1,value2...(注意value1,value2...對應(yīng)的是create創(chuàng)建時的dsname1,dsname2(順序重要))
graph畫圖需要注意幾點
(1)為什么還有一個 CF 字段?因為 RRA 有多種? CF 類型,有些 RRA 可能用來保存平均值、有些 RRA 可能用于統(tǒng)計最大值、最小值等等。所以你必須同時指定使用什么 CF 類型 的 RRA的數(shù)據(jù)。
知識點補(bǔ)充
解釋度(Resolution)(這個告訴我們應(yīng)該取那個RRA的數(shù)據(jù)了(定義了那么多RRA,有用處了吧!嘎嗄…)) 這里要提到一個 Resolution 的概念,在官方文檔中多處提到 resolution 一詞。Resolution 究竟是什么?Resolutino 有什么用? 舉個例子,如果我們要繪制1小時的數(shù)據(jù),也就是60分鐘,那么我們可以從第一個RRA 中取出12個 CDP 來繪圖;也可以從第2個 RRA中取出3個 CDP 來繪圖。到底 RRDtool 會使用那個呢? 讓我們看一下 RRA 的定義 :RRA:AVERAGE:0.5:4:600 。 Resolution 就等于 4 * step = 4 * 300 = 1200 ,也就是說 ,resolution 是每個CDP 所代表的時間范圍,或者說 RRA 中每個 CDP(記錄)之間的時間間隔。所以第一個 RRA 的 resolution 是 1* step=300,第2是 1200,第三個是 24*300=7200,第4個 RRA 是 86400 。 默認(rèn)情況下,RRDtool 會自動挑選合適的 resolution 的那個 RRA 的數(shù)據(jù)來繪圖。我們大可不必關(guān)心它。但如果自己想取特定 RRA 的數(shù)據(jù),就需要用到它了。
rrdtool重要的也就是create,update,graph
create就是創(chuàng)建一個rrd數(shù)據(jù)庫,在這里我們要注意幾點:
(1)心中要有圖,只有心中有圖,才知道要什么樣的結(jié)果.
(2)研究數(shù)值,以便你知道定義什么類型的DS,如果DST定義的不正確,不管是update,graph都是白搭.
?? 補(bǔ)充DST的類型:counter,derive,absolute,gauge,compute(常用的counter,gauge)
?? 補(bǔ)充PDP的定義
PDP :Primary Data Point 。正常情況下每個 interval RRDtool 都會收到一個值;RRDtool 在收到腳本給來的值后會計算出另外一個值(例如平均值),這個 值就是 PDP ;這 個值代表的一般是“xxx/秒”的含義。注意,該值不一定等于RRDtool? 收到的那個值。除非是GAUGE ,可以看下面的例子:
?????
Values = 300, 600, 900, 1200??????
# 假設(shè) RRDtool 收到4個值,分別是300,600,900,1200 Step = 300 seconds???????????????????
# step 為 300 COUNTER = 1,1, 1,1???????????????????????
?# (300-0)/300,(600-300)/300,(900-600)/300,(1200-900)/300 ,所以結(jié)果為 1,1,1,1 DERIVE = 1,1,1,1???????????????????????? # 同上 ABSOLUTE = 1,2,3,4??????????????????
# (300-0)/300,(600-0)/300 , (900-0)/300, (1200-0)/300,所以結(jié)果為 1,2,3,4 GAUGE = 300,600,900,1200????????? # 300 , 600 ,900 ,1200 不做運算,直接存入數(shù)據(jù)庫 所以第一行的 values 并不是 PDP ,后面4行才是 PDP (3)rra的作用,就像是一個庫里的表,這個表是用來存儲CDP的數(shù)據(jù),每張表根據(jù)定義的粒度不同,所存儲的數(shù)據(jù)是不一樣的,有的粒度是5分鐘,有的是30分鐘,有的是.......他們都是 根據(jù)參數(shù)的定義而不同的.如:
RRA:AVERAGE:0.5:1:600???????
# 1 表示對1個 PDP 取平均。實際上就等于 PDP 的值
RRA:AVERAGE:0.5:4:600????????
# 4 表示每4個 PDP 合成為一個 CDP,也就是20分鐘。方法是對4個PDP取平均,
RRA:AVERAGE:0.5:24:600?
# 同上,但改為24個,也就是24*5=120分鐘=2小時。
RRA:AVERAGE:0.5:288:730??????
# 同上,但改為288個,也就是 288*5=1440分鐘=1天
我們要知道以后的graph所取的值都是來自rra的.
(4)注意rra定義下的CF,這個CF在我看來有兩個作用,第一個作用是用來如何處理pdp的數(shù)據(jù),如
RRA:AVERAGE:0.5:4:600?? 這是表示每4個 PDP 合成為一個 CDP(取平均值),其實CF還有min,max,last(我們看字面意思也就知道什么作用了.)
第二個作用是用來為graph時定義畫圖的值來自哪個RRA.
update更新rra,需要注意幾點
(1)根據(jù)create時定義的DS數(shù)量,需要按照一定的順序(用冒號分開).如:
update rrdfile,timestamp:value1,value2...(注意value1,value2...對應(yīng)的是create創(chuàng)建時的dsname1,dsname2(順序重要))
graph畫圖需要注意幾點
(1)為什么還有一個 CF 字段?因為 RRA 有多種? CF 類型,有些 RRA 可能用來保存平均值、有些 RRA 可能用于統(tǒng)計最大值、最小值等等。所以你必須同時指定使用什么 CF 類型 的 RRA的數(shù)據(jù)。
知識點補(bǔ)充
解釋度(Resolution)(這個告訴我們應(yīng)該取那個RRA的數(shù)據(jù)了(定義了那么多RRA,有用處了吧!嘎嗄…)) 這里要提到一個 Resolution 的概念,在官方文檔中多處提到 resolution 一詞。Resolution 究竟是什么?Resolutino 有什么用? 舉個例子,如果我們要繪制1小時的數(shù)據(jù),也就是60分鐘,那么我們可以從第一個RRA 中取出12個 CDP 來繪圖;也可以從第2個 RRA中取出3個 CDP 來繪圖。到底 RRDtool 會使用那個呢? 讓我們看一下 RRA 的定義 :RRA:AVERAGE:0.5:4:600 。 Resolution 就等于 4 * step = 4 * 300 = 1200 ,也就是說 ,resolution 是每個CDP 所代表的時間范圍,或者說 RRA 中每個 CDP(記錄)之間的時間間隔。所以第一個 RRA 的 resolution 是 1* step=300,第2是 1200,第三個是 24*300=7200,第4個 RRA 是 86400 。 默認(rèn)情況下,RRDtool 會自動挑選合適的 resolution 的那個 RRA 的數(shù)據(jù)來繪圖。我們大可不必關(guān)心它。但如果自己想取特定 RRA 的數(shù)據(jù),就需要用到它了。
總結(jié)
- 上一篇: Oracle_9i常用管理命令
- 下一篇: 三层交换(VLAN间互通+路由功能)+V