使用 RRD4J 和 XML 创建图形



我有一个家庭作业,我需要研究RRD4J并使用RRD4J库创建图形。我的老师只给了我xml文件。那么,我可以将XML与RRD4J一起使用来绘制图形以及如何绘制图形吗?

没有更多的信息,很难回答你的问题。这些常规步骤可能会帮助您了解应该做什么来解决问题:

1) 根据您希望具有的粒度(以及您在 XML 文件中的数据频率)创建 RRD

例如,如果您希望拥有每小时和每天的数据,则存档创建应如下所示:

RrdDef rrdDef = new RrdDef(fileName, 60); // 60 is step, means you expect data to enter at 60 seconds interval
rrdDef.setStartTime(...); // Set initial timestamp here (must be 10 digit epoch timestamp) 
rrdDef.addDatasource(DATASOURCE_NAME, DsType.GAUGE, 120, 0, Double.NaN); // DATASOURCE_NAME is the name of your variable in time series, DsType - is the type of data (always increasing, increasing and decreasing, etc), 120 is the timeout for new data entry, (i.e if no data enters in 120 seconds, NaN will be added to database), max and min values 
rrdDef.addArchive(ConsolFun.AVERAGE, 0.99, 1, 60);
rrdDef.addArchive(ConsolFun.AVERAGE, 0.99, 24, 240);
RrdDb rrdDb = new RrdDb(rrdDef);
rrdDb.close();

(所有这些配置都来自您正在使用的时间序列的详细分析,如果不查看数据,就很难预测某些事情)

2)使用SAX解析XML文件(我想这个会更好,因为在插入RRD数据库后,您将不再需要访问解析的值)

3) 解析 XML 时,更新 RRD

RrdDb rrdDb = new RrdDb(fileName);
Sample sample = rrdDb.createSample();
sample.setAndUpdate(timestamp+":"+value);
rrdDb.close();

4)当所有数据都插入时,生成一些图表(查看RRD4J网站上的示例和选项)

P.S(使用与MongoDB的集成,它的性能多次优于RRD4J,他们的页面上也有一个例子)

希望这有帮助:-)

这个XML是一个模板吗?http://rrd4j.googlecode.com/git/javadoc/org/rrd4j/core/XmlTemplate.html

rrd4j 的最佳配置是文件和版本 2 rrd。

相关内容

  • 没有找到相关文章

最新更新