【发布时间】:2017-11-13 12:21:49
【问题描述】:
我有一个 .rrd 数据库,它正在从温度计收集数据。现在我有了第二个仪表,所以我想将这个新仪表添加到现有的 .rrd 数据库中。我用“rrdtool tune”命令尝试了很多次,但在那之后我在我的数据库上运行了一个“rrdtool info”,我发现没有我尝试插入的最后一个数据源(另一个仪表)。
我该怎么做?
【问题讨论】:
标签: datasource rrdtool gauge rrd
我有一个 .rrd 数据库,它正在从温度计收集数据。现在我有了第二个仪表,所以我想将这个新仪表添加到现有的 .rrd 数据库中。我用“rrdtool tune”命令尝试了很多次,但在那之后我在我的数据库上运行了一个“rrdtool info”,我发现没有我尝试插入的最后一个数据源(另一个仪表)。
我该怎么做?
【问题讨论】:
标签: datasource rrdtool gauge rrd
正如您所说,您需要的命令是rrdtool tune。该文档可通过https://oss.oetiker.ch/rrdtool/doc/rrdtune.en.html在线获取
仅在 RRDTool 1.4 后期才添加了扩展 RRA 以及添加或删除 DS 的功能。检查您是否使用的是旧版本的 RRDTool,如果您使用的是旧版本,则在升级之前您将无法使用此功能。
【讨论】:
我刚刚检查过,我发现我使用的是 RRDTOOL 1.4,所以我不会遇到问题。无论如何,事实是我使用了这个命令:
/usr/bin/rrdtool tune TEMPCucina.rrd DS:METEOTEMPEXT:GAUGE:1200:U:U RRA:AVERAGE:0.5:1:180000
我从电脑上得到了这个:
DS[TEMPCucina] typ: GAUGE hbt: 1200 min: nan max: nan
但我似乎无法写入 TEMPCucina.rrd 如果我尝试执行以下命令:
rrdtool info TEMPCucina.rrd
我刚刚得到以下,似乎没有创建新的仪表
filename = "TEMPCucina.rrd"
rrd_version = "0003"
step = 60
last_update = 1510780261
header_size = 556
ds[TEMPCucina].index = 0
ds[TEMPCucina].type = "GAUGE"
ds[TEMPCucina].minimal_heartbeat = 1200
ds[TEMPCucina].min = NaN
ds[TEMPCucina].max = NaN
ds[TEMPCucina].last_ds = "18"
ds[TEMPCucina].value = 1,8000000000e+01
ds[TEMPCucina].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 30000
rra[0].cur_row = 1304
rra[0].pdp_per_row = 1
rra[0].xff = 0,0000000000e+00
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
(当我尝试写作时,我明白了,但我现在不知道如何继续)
ERROR: TEMPCucina.rrd: illegal attempt to update using time 1510780527 when last update time is 1510780527 (minimum one second step)
【讨论】:
我终于做到了,但我无法使用 rrdtool tune 功能。
我终于找到here如何执行数据库的转储,如何修改它,最后将它恢复到原来的位置(这样我也可以更正一些数据)。
这不是我要寻找的,但它解决了我的问题,所以我想分享它。
【讨论】: