以下是 rrdtool create 中的參數,決定要存的筆數

我的 step 是 300 秒,所以

"RRA:AVERAGE:0.5:1:600",     # 5 分鐘存 600 筆
"RRA:AVERAGE:0.5:6:700",     # 30 分鐘存 700 筆
"RRA:AVERAGE:0.5:24:775",    # 兩小時存 775 筆
"RRA:AVERAGE:0.5:288:797",   # 一天的存 797 筆

# 0.5 代表 50% 的 consolidated points 可能為 UNKNOWN
1 代表 1 * 300s / 60s = 5 minutes
# 6 代表 6 * 300s / 60s = 30 minutes
# 600 代表存 600 筆

這是讓 rrd 檔裡會有四大區塊存我要的資料, keyword 就是 <pdp_per_row>1</pdp_per_row> <!– 300 seconds –>,這是 5分鐘,30 分鐘就是 1800 seconds,依此類推

我拿一個 rrd 檔來看它的內容  (用 rrdtool dump xxx.rrd 查看)

Daily (5 Minute Average) 就是日報表,每 5 分鐘一行資料,時間是從 2013-08-09 10:50:00 到 2013-08-11 12:45:00,約兩天的份量
Weekly (30 Minute Average) 是週,每 30 分鐘一行資料,時間從 2013-07-27 23:00:00 到 2013-08-11 12:30:00,約兩個禮拜的量
Monthly (2 Hour Average) 是月,每 2 小時一行資料,時間從 2013-06-08 00:00:00 到 2013-08-11 12:00:00,約兩個月的量
Yearly (1 Day Average) 是年,每 1 天一行資料,時間從 2011-06-07 08:00:00 到 2013-08-11 08:00:00,約兩年的量

也就是說,今天假如我要看兩天以前的資料,其實就不再是每 5 分鐘的了,可能是每 30 分鐘,而兩個禮拜以前的就是每兩個小時的平均,完全取決於那個時間點已是什麼的平均,下圖就是差別

rrdtool (昨天的圖)

rrdtool(前天的圖)

所以我就想這麼作

"RRA:AVERAGE:0.5:1:105120",
"RRA:MAX:0.5:1:105120",

沒錯,RRA 就這兩行而已,這樣子我取任何時間點都是 5 分鐘的平均值了,105120是 一天 288 筆 x 365 天

但這會有兩種情況
  1.  rrd 裡的筆數超多
  2. rrd 檔存在 1 年份 每 5 分鐘時,大小為 3.3 Mbytes,原本的存法就只有 93Kbytes

效能方面,除了一開始產生 rrd 檔時慢了點,update 及 graph 其實不會很慢

還有呢 rrd 裡的數值 1.1509575283e+06,怎麼換算

1.1509575283e+06
= 1.1509575283 * 10 的六次方,再 *8,再 / 1000 就是 Kbps 了
Related posts 相關文章
解決 RRDTOOL 的圖突然有很大的值
More...
collectd 監控主機,把資料丟給 influxdb + grafana
More...
最近我把網站流量導到 CDN 服務上
More...
rrdtool 的 ds name 有長度限制
More...

作者

留言

Yearly (1 Day Average) 是年,每 1 天一行資料,時間從 2011-06-07 08:00:00 Why is 08:00 can I change it ?

作者

訂正 >>> 數值 1.1509575283e+06,怎麼換算

版大你好: 看了您這篇文章後,我有幾個問題想請問: 1.請問您是用cacti下去畫的嗎!? 2.如果是的話,cacti下它預設用的幾塊根據rrdtool而來的資料的部份,您是直接產生一個新的RRD檔來進行的嗎!? 3.如果已經產生存有的rrd檔,我是否能夠更改舊的rrd檔來達成您所寫的這樣的目的,因為小弟看update的指令好像沒有辦法改到pdp_per_row這個參數。 謝謝版大!!

    作者

    不是咧,我不是用 cacti 畫,因為 cacti 不符我的需求 sory,幫不到你,你說的我不是很熟

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。