一)前言
可能你已經頗不亟待的想知道如何往 RRD 檔案插入資料、如何繪圖了吧?hoho,先别急,在你做這些事情之前,最好先思考以下幾個問題 :
A)如果給你一個 RRD 檔案,你能知道它的第一次/最後一次 update 的時間是在什麼時候嗎?
B)如果你很久之前建立了一個 RRD 檔案,現在因為工作原因需要對該 RRD 檔案進行一些修改。不過遺憾的是,
你已經不記得得當初設定的具體選項和參數了, 這時候該怎麼辦呢?
這兩個問題就對應今天要講的兩個操作 :first/last 、info 。
first 就是用于檢視該 RRD 檔案中某個 RRA 的第一個資料是在什麼時候插入的(或者說第一次更新);
last 就是檢視該 RRD 檔案的最近一次更新;
info就是檢視 rrd 檔案的結構資訊。
下面就以實際例子來看一下該怎麼用這三個指令 :
二)如何查詢一個 RRD 檔案的結構資訊
[[email protected] bob]# rrdtool info eth0.rrd (由于輸出資訊較多,截取了一部分)
filename = "eth0.rrd"
rrd_version = "0003"
step = 300 # RRDtool 希望每5分鐘收到一個資料
last_update = 1163862985 # 這是最近一次更新的 timestamp 。可以用 date 轉換為具體的時間
ds[eth0_in].type = "COUNTER" # 有一個名為 eth0_in 的 DS,DST是 COUNTER
ds[eth0_in].minimal_heartbeat = 600 # hearbeat 時間是600 秒
ds[eth0_in].min = 0.0000000000e+00 # eth0_in 的最小值是 0 (bytes)
ds[eth0_in].max = 1.2500000000e+07 # eth0_in 的最大值是 1250000000 (bytes)
ds[eth0_in].last_ds = "UNKN"
ds[eth0_in].value = 0.0000000000e+00
ds[eth0_in].unknown_sec = 85
ds[eth0_out].type = "COUNTER"
ds[eth0_out].minimal_heartbeat = 600
ds[eth0_out].min = 0.0000000000e+00
ds[eth0_out].max = 1.2500000000e+07
ds[eth0_out].last_ds = "UNKN"
ds[eth0_out].value = 0.0000000000e+00
ds[eth0_out].unknown_sec = 85
rra[0].cf = "AVERAGE" # 第一個 RRA 的編号是0,不是1。
rra[0].rows = 600 # 共儲存 600 個記錄
rra[0].pdp_per_row = 1 # 每個 CDP 由一個 PDP 統計得出
rra[0].xff = 5.0000000000e-01 # 隻要目前interval 的 PDP 為 unknown ,則該 CDP 的值也是unknown
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[1].cf = "AVERAGE" # 第二個 RRA 的編号是 1。同樣也是 AVERAGE 型。
rra[1].rows = 600 # 也是儲存 600 個記錄
rra[1].pdp_per_row = 4 # 每個 CDP 由4個 PDP 的求平均值得出
rra[1].xff = 5.0000000000e-01 # 每個 CDP 最多允許2個 PDP 為 unknown ,超過則該 CDP 為unknown
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 3
rra[1].cdp_prep[1].value = NaN
rra[1].cdp_prep[1].unknown_datapoints = 3
[[email protected] bob]#
[color=red]由于資訊太長,這裡截取了後面2個 RRA 的資訊。
三)第一次更新/最近一次更新
如果想知道最近一次更新發生在什麼時候,除了可以用上面的 info 操作,還可以用 last 操作
[[email protected] bob]# rrdtool last eth0.rrd
1163862985
[[email protected] bob]#
如果轉換成具體的時間就是 :
[[email protected] bob]# rrdtool last eth0.rrd |xargs -i date -d '1970-01-01 {} sec utc'
六 11月 18 23:16:25 CST 2006
[[email protected] bob]#
[[email protected] bob]# rrdtool first eth0.rrd
1163683200
[[email protected] bob]#
如果換成具體的時間就是 :
[[email protected] bob]# [[email protected] bob]# rrdtool first eth0.rrd |xargs -i date -d '1970-01-01 {} sec utc'
四 11月 16 21:20:00 CST 2006
[[email protected] bob]#
這三個指令的文法都非常簡單,但并不可以是以小看它們的功能,尤其是 info 操作。日後如果需要對 RRD 檔案進行調整,是經常需要用到的。 原文: http://blog.sina.com.cn/s/blog_4853c94e010008li.html