繁体   English   中英

RRD工具图在一周和一年内都无法正确生成

[英]RRD Tool Graph is not generating correct for one week and yearly

我有一个收集SNMP数据并通过rrdtool将其存储的情况。

每天和每周的图表都正确,但是当我看到每月和每年时,它仅显示该天部分,如下图所示。

每日图表代码为:(工作正常)

/ usr / bin / rrdtool图/opt/elitecore/ManageEngine/AppManager11/working/graphs/daily-tps.png -v“ TPS” -t“ TIME” DEF:tps1 = / root / graphs / Total_TPS.rrd:TPS: MAX -s -86400 CDEF:tps2 = tps1,300,* LINE1:tps2#ff0000:TOTAL_TPS GPRINT:tps2:LAST:“ Cur:%5.2lf” GPRINT:tps2:AVERAGE:“平均:%5.2lf” GPRINT:tps2 :MAX:“最大:%5.2lf” GPRINT:tps2:MIN:“最小:%5.2lf \\ t \\ t \\ t”

每月图表代码为:(未按预期显示图表)

/ usr / bin / rrdtool图/opt/elitecore/ManageEngine/AppManager11/working/graphs/monthly-tps.png -v“ TPS” -t“ WEEK” DEF:tps1 = / root / graphs / Total_TPS.rrd:TPS: MAX -s -2592000 CDEF:tps2 = tps1,300,* LINE1:tps2#ff0000:TOTAL_TPS GPRINT:tps2:LAST:“ Cur:%5.2lf” GPRINT:tps2:AVERAGE:“平均:%5.2lf” GPRINT:tps2 :MAX:“最大:%5.2lf” GPRINT:tps2:MIN:“最小:%5.2lf \\ t \\ t \\ t”

年度图表代码为:(未按预期显示图表)

/ usr / bin / rrdtool图形/opt/elitecore/ManageEngine/AppManager11/working/graphs/yearly-tps.png -v“ TPS” -t“ MONTH” DEF:tps1 = / root / graphs / Total_TPS.rrd:TPS: MAX -s -31536000 CDEF:tps2 = tps1,300,* LINE1:tps2#ff0000:TOTAL_TPS GPRINT:tps2:LAST:“ Cur:%5.2lf” GPRINT:tps2:AVERAGE:“平均:%5.2lf” GPRINT:tps2 :MAX:“最大:%5.2lf” GPRINT:tps2:MIN:“最小:%5.2lf \\ t \\ t \\ t”

请让我知道我做错了什么。

您忠诚的

吉涅什·德洛基亚(Jignesh Dholakiya)

回答

该图仅在图中显示了五天的数据,因为那是RRD中所有的数据。 您的RRD配置为自动丢弃任何早于此的数据。

说明

该图显示您的RRD当前仅能显示6天的数据。 由于无法对没有的数据进行图形处理,因此图形将显示其具有的内容,而其余部分则什么也没有。

您的rrdtool info提供了有关RRA定义的信息(为清楚起见,已进行了修剪):

step = 300
rra[0].cf = "MAX" 
rra[0].rows = 1500 
rra[0].pdp_per_row = 1  
rra[0].xff = 5.0000000000e-01 

这意味着您只有一个RRA,类型为MAX,每行1pdp,每行1500行。

结果,您的RRA长(step)x(每行pdp)x(行数)长,即1500x300秒,超过5天。

由于您的RRD只有一个RRA,因此您所有的图形函数都将使用此函数-如有必要,可以即时进行其他合并。 因此,您的所有图形都使用此单个RRA。

但是,您的RRA只有5天零一天的时间。 因此,如果数据很旧,它将过期并被丢弃。 结果,在任何时候都只能使用最近5天和几天的数据来作图,这就是您在图中看到的。

解:

您需要将数据保留更长的时间。 有两种方法可以做到这一点 -

  1. 增加现有RRA的长度
  2. 创建其他RRA,以保存较低分辨率图形的合并数据。

选项1是最简单的,因为您可以使用rrdtool tune来增大RRA数字0的大小。但是,它在磁盘空间上非常昂贵(因为您将在整个时间段内保留详细数据),而且也很昂贵在CPU中(制作年度图表时,RRDtool必须实时整合)。 仅当您确实需要整个时间段的高分辨率数据时才建议使用此选项,例如,如果您要计算第95个百分位数。

选项2是最好的。 您将为每个希望创建的图形添加一个具有相同CF但更多pdp_per_row的新RRA。 对于每周图,请使用pdp_per_row = 6(半小时合并),对于每月使用24(两小时一次),对于年度使用288(每日合并)。 随着时间的流逝,数据将合并到这些新的RRA中,并且图形函数将优先使用它们。 这减少了计算开销,并使用了更少的磁盘空间。 但是,随着时间的流逝,您会丢失高分辨率数据,并且您的历史数据将不会自动合并到新的RRA中。 另外,您不能仅将新的RRA添加到现有的RRD文件中-您将需要创建新的RRD或使用rrdmerge之类的工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM