關於rrdtool資料問題

來源:互聯網
上載者:User
每10秒寫一個資料,但讀出來的 卻和寫進去的不一樣,求解

建立的庫如下:

./bin/rrdtool create data/test.rrd --start 1365756520 --step 10 DS:myds:GAUGE:100:0:U RRA:LAST:0.5:1:100000


寫資料
./bin/rrdtool updatev data/test.rrd -t myds N:1028


讀資料
./bin/rrdtool fetch data/test.rrd LAST -s 1365756520

//返回 [1365766390]RRA[AVERAGE][1]DS[myds] = 1.0256558852e+03

這是什麼情況,好像被求平均值了??




回複討論(解決方案)

誰來解答一下啊

[1365766390]RRA[ AVERAGE][1]DS[myds] = 1.0256558852e+03
AVERAGE 平均

你要的不就是這個嗎?

但我 /bin/rrdtool fetch data/test.rrd LAST -s 1365756520

fetch 的是 LAST

[root@localhost shm]# /usr/local/rrdtool/bin/rrdtool create test.rrd --step 10 DS:myds:GAUGE:100:0:U RRA:LAST:0.5:1:100000[root@localhost shm]# /usr/local/rrdtool/bin/rrdtool updatev test.rrd -t myds N:1028return_value = 0[1365991710]RRA[LAST][1]DS[myds] = 1.0280000000e+03[root@localhost shm]# /usr/local/rrdtool/bin/rrdtool fetch test.rrd LAST | grep -v nan                           myds1365991710: 1.0280000000e+03[root@localhost shm]# /usr/local/rrdtool/bin/rrdtool -VRRDtool 1.4.7  Copyright 1997-2012 by Tobias Oetiker                Compiled Jul  5 2012 15:34:45


我這裡測試……沒出現這個問題誒……

而且很奇怪,按照你的create語句,是不應該存在AVERAGE這個CF的, 是不是你對這個test.rrd還有其他部分的操作?


[root@localhost shm]# /usr/local/rrdtool/bin/rrdtool create test.rrd --step 10 DS:myds:GAUGE:100:0:U RRA:LAST:0.5:1:100000[root@localhost shm]# /usr/local/rrdtool/bin/rrdtool info test.rrd filename = "test.rrd"rrd_version = "0003"step = 10last_update = 1365991934header_size = 584ds[myds].index = 0ds[myds].type = "GAUGE"ds[myds].minimal_heartbeat = 100ds[myds].min = 0.0000000000e+00ds[myds].max = NaNds[myds].last_ds = "U"ds[myds].value = 0.0000000000e+00ds[myds].unknown_sec = 4rra[0].cf = "LAST"rra[0].rows = 100000rra[0].cur_row = 82401rra[0].pdp_per_row = 1rra[0].xff = 5.0000000000e-01rra[0].cdp_prep[0].value = NaNrra[0].cdp_prep[0].unknown_datapoints = 0

另外,有一種情況,關於曆史資料會被如何處理,這個要測試下看看……不過我覺得按你的create應該也不會有合并平均的情況才對。

這個,前面幾個資料update是正常的,但後面幾個就變亂了,

而且很奇怪,按照你的create語句,是不應該存在AVERAGE這個CF的, 是不是你對這個test.rrd還有其他部分的操作?


PHP code?12345678910111213141516171819202122[root@localhost shm]# /usr/local/rrdtool/bin/rrdtool create test.rrd --st……

其實我就想把它當資料庫來使用 ,存入什麼資料, 取出也就什麼資料

[root@localhost rrdtool]# ./bin/rrdtool updatev data/test.rrd -t myds N:1028
return_value = 0
[ 1366011870]RRA[LAST][1]DS[myds] = 1.0011771028e+03
[ 1366011890]RRA[LAST][1]DS[myds] = 1.0011771028e+03
[root@localhost rrdtool]#

更鬱悶的是,為啥返回兩行 ,兩個時間截?

重新再試,情況依舊
./bin/rrdtool create data/test.rrd --start 1365768603 --step 10 DS:myds:GAUGE:100:0:U RRA:LAST:0.5:1:100000


./bin/rrdtool updatev data/test.rrd -t myds N:1028


./bin/rrdtool updatev data/test.rrd -t myds N:102


[root@localhost rrdtool]# ./bin/rrdtool updatev data/test.rrd -t myds N:76
return_value = 0
[1366095920]RRA[LAST][1]DS[myds] = 7.3762737333e+01
[1366095940]RRA[LAST][1]DS[myds] = 7.3762737333e+01


------以下為info內容----
[root@localhost rrdtool]# ./bin/rrdtool info data/test.rrd
filename = "data/test.rrd"
rrd_version = "0003"
step = 10
last_update = 1366095930
header_size = 584
ds[myds].index = 0
ds[myds].type = "GAUGE"
ds[myds].minimal_heartbeat = 100
ds[myds].min = 0.0000000000e+00
ds[myds].max = NaN
ds[myds].last_ds = "76"
ds[myds].value = 5.9394532000e+01
ds[myds].unknown_sec = 0
rra[0].cf = "LAST"
rra[0].rows = 100000
rra[0].cur_row = 79575
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0

有人解答沒...

求解........

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.