質問

私は....私の問題を説明する方法を知りませんが、 私は2つの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',

そして、私の結果は次のとおりです。

ALTテキストhttp://www.freeimagehosting.net/uploads/8d99a4a675.jpg

問題:それはファイルa.rrdから値を印刷しない、それだけでb.rrdファイルの位置からグラフを表示

このような何かのinstide(最初の部分のみゼロでになります):

ALTテキストhttp://www.freeimagehosting.net/uploads/e036f93797.jpg

明らかに、これは2番目のグラフは、最初のグラフがない場合、UNIXタイムスタンプを持っていないためである。

ので、どのように私はゼロでそれを埋めることができますか?または変更私のグラフのconf?

役に立ちましたか?

解決

ここにあなたの問題を解決する:) http://oss.oetiker.ch/rrdtool/tut/cdeftutorial.en。 HTML の IF、TIME、GTおよびその他の機能の使用を見てみましょう。 あなたはこれを試すことができます。 CDEF:レアル= TIME、sometimestamp、GT、Real0_、Real0_、UN、0、Real0_、IF、IF、TIME、sometimestamp、GT、Real1_、Real1_、UN、0、Real1_、IF、IF、+ これの意味は: もし(TIME()> sometimestamp)     リターンReal0_ それ以外の場合(Real0_ == UN(これはRRDファイル内のNaN値です))     0を返します 他    リターンReal0_ Real1_のため同じものを作成し、2つの結果の合計を作ります。 希望私が助けた:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top