首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将单独的RRD文件组合成一个图

将单独的RRD文件组合成一个图
EN

Stack Overflow用户
提问于 2016-02-05 15:12:42
回答 1查看 699关注 0票数 0

使用rrd4j,如何将多个.rrd文件组合成单个.rrd或(理想情况下)到单个图中?

更多详细信息:

我有几个基本上相同的.rrd的副本。每个文件记录几个传感器数据读取,所有的名称为sensor-1sensor-2跨文件。因此,data1.rrddata2.rrd都将包含sensor-1等数据源。

DS的定义如下。

代码语言:javascript
复制
DS:sensor-1:GAUGE:35:U:U DS:sensor-2:GAUGE:35:U:U DS:sensor-3:GAUGE:35:U:U

我可以为每个人单独生成一个图,方法是向这样的图中添加一个数据源;

代码语言:javascript
复制
val graph = new RrdGraphDef()
graph.datasource("sensor-1", data1.rrd", "sensor-1", AVERAGE)
graph.datasource("sensor-2", data1.rrd", "sensor-1", AVERAGE)
graph.line("sensor-1", green)
graph.line("sensor-2", red)

但是,如果我对data2.rrd做同样的操作(将另一个数据源添加到同一个graph实例中),那么它似乎只是松散了前面的数据和图形--只是文件的一个数据。

我怀疑跨文件的每个DS都有相同的名称,这可能是一个问题。

关于如何使用常规RRD工具实现相同的建议也可能有帮助,因为我可能会将其转换为rrd4j。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-05 21:28:31

这个语句:graph.datasource("varname", "filename.rrd", "dsname", AVERAGE)定义了一个名为varname的新变量,它对应于文件filename.rrd中的DS dsname,使用AVERAGE合并函数进行合并。

显然,在同一个图中不能有两个变量具有相同的名称;但是,没有什么可以阻止您从多个不同的RRD文件中提取数据,也没有什么可以阻止您使用不同的变量名到DS名称。

但是,您应该只在变量名中使用字母数字--特别是避免“-”,即使它应该正常工作。下划线没问题。

因此,这是完全有效的:graph.datasource("sensora", "sitea.rrd", "sensor", AVERAGE) graph.datasource("sensorb", "siteb.rrd", "sensor", AVERAGE),并将在两个不同的RRD文件中定义两个变量,sensorasensorb对应于相同的命名为DS。

不要使用sensor-1作为变名,因为它包含“-”符号。

没有看到失败的RRD4j代码,我不能肯定地说,但我怀疑这可能是因为您没有重命名变量名,使两个变量共享相同的名称并覆盖另一个变量,或者因为变量名中的'-‘。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35227433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档