我不知道该怎么解释我的问题....但 我有两个RRD文件:

a.rrd
b.rrd

我想总结这两个文件,并在图中堆叠起来。 像:

my $bla = RRDs::graph "-",

    "--title","Test",
    "--imgformat=PNG",
    "--width=680",
    "--height=200",

    "DEF:Default0_=a.rrd:default:AVERAGE",
    "DEF:Real0_=a.rrd:real:AVERAGE",

    "DEF:Default1_=b.rrd:default:AVERAGE",
    "DEF:Real1_=b.rrd:real:AVERAGE",


    "CDEF:Default=Default0_,Default1_,+",        
    "CDEF:Real=Real0_,Real1_,+",


    'AREA:Default#00CF00:Default Test',
    'GPRINT:Default:MIN:Min\: %10.0lf%s',
    'GPRINT:Default:MAX:Max\: %10.0lf%s',
    'GPRINT:Default:AVERAGE:Average\: %10.0lf%s',
    'GPRINT:Default:LAST:Current\: %10.0lf%s \l',

    'STACK:Real#006699:Real Test',
    'LINE2:Real#000000',
    'GPRINT:Real:MIN:Min\: %10.0lf%s',
    'GPRINT:Real:MAX:Max\: %10.0lf%s',
    'GPRINT:Real:AVERAGE:Average\: %10.0lf%s',
    'GPRINT:Real:LAST:Current\: %10.0lf%s \l',

和我的结果是:

替代文字http://www.freeimagehosting.net/uploads/8d99a4a675.jpg

问题:它不能从文件a.rrd打印值,它只能从b.rrd文件的位置显示图形

的是这样的instide(仅第一部分将用零):

替代文字http://www.freeimagehosting.net/uploads/e036f93797.jpg

显然,这是因为在第二图表不具有Unix时间戳当第一曲线图一样。

所以我怎样才能用零补吗?或改变我的图表CONF?

有帮助吗?

解决方案

下面是解决你的问题:) http://oss.oetiker.ch/rrdtool/tut/cdeftutorial.en。 HTML 看看使用IF,时间,GT和等功能。 你可以试试这个: CDEF:真正= TIME,sometimestamp,GT,Real0_,Real0_,联合国,0,Real0_,如果,如果,时间,sometimestamp,GT,Real1_,Real1_,联合国,0,Real1_,如果,如果,+ 这意味着: 如果(TIME()> sometimestamp)     返回Real0_ 否则,如果(Real0_ == UN(这是RRD文件NaN值))     返回0 其他    返回Real0_ 请为Real1_同样的事情,使两个结果的总和。 希望我帮助:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top