RRD用于测量CPU和内存使用情况

时间:2011-05-20 14:50:39

标签: java rrdtool rrd

我想在持续集成期间测量服务器的CPU和内存使用情况,我会将它们表示为几个图形。我使用循环数据库文件(* .rrd)在带有RRD4J库的java中执行此操作。

我不知道如何定义Round Robin Archives ... 我尝试过这种RRA:

rrdDefCPU.addDatasource("CPU", DsType.COUNTER, 150, 0, 100);
rrdDefCPU.addArchive("RRA:AVERAGE:0.5:8:300"); 

rrdDefCPU.addDatasource("CPU", DsType.COUNTER, 600, 0, 100);
rrdDefCPU.addArchive("RRA:AVERAGE:0.5:1:600"); 

在这两种情况下,我每秒记录一个小节,但我仍然在图表上有2个点,持续5分钟。我想要一个在同一时期有更多值的图表。

1 个答案:

答案 0 :(得分:0)

如果您在5分钟的时间间隔内没有看到更多详细信息,那么我猜您的步长为5分钟,您可以通过复制演示代码获得它。请在您的问题中显示您的RrdDef构造函数。

RrdDef rrdDef = new RrdDef(rrdPath, startTime, 300); // step size 300s

另外,你可能想要一个用于cpu /内存使用的GAUGE,而不是一个仅上升的COUNTER。如果您错误地使用COUNTER,则会得到尖锐的输出,因为RRD将向下移动解释为溢出并为该观察添加了非常大的量。

在您的代码中,您改变了Heartbeat大小,它与Xff结合以确定输入中容许的大小差距。如果您有连续数据,则不会看到更改HB的任何影响。