关于rrdtool数据问题

php中文网
发布: 2016-06-23 14:06:23
原创
1479人浏览过

每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

这是什么情况,好像被求平均值了??



Generative BI
Generative BI

无代码AI数据报表平台,通过提问即可分析数据并生成相关的数据模型和报告

Generative BI 75
查看详情 Generative BI

回复讨论(解决方案)

谁来解答一下啊

[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 <tobi@oetiker.ch>               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

有人解答没...

求解........

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号