web-dev-qa-db-ja.com

rrdtoolまたは他の言語を使用して5サンプルごとの平均を計算します

平均5つのサンプルを作成し、単一の値を計算したいと思います。

現在の出力-5分の解像度を設定しましたが、5つのサンプルを受け取ります。

$ rrdtool fetch file.rrd  AVERAGE -r 300 --start 1200000000 --end 1200000300
1200000000: 1.3938888889e+00
1200000060: 4.9572222222e+00
1200000120: 7.1675000000e+00
1200000180: 1.0982500000e+01
1200000240: 7.6136111111e+00
1200000300: 7.2169444444e+00

望ましい結果:

$ rrdtool fetch file.rrd  AVERAGE -r 300 --start 1200000000 --end 1200000300
1200000000: 1.3938888889e+00
1200000300: x.xxxxxxxxxxe+00 - average

RrdtoolまたはPerl、bashなどの他の言語で計算したい...

3
Jaime

fetchコマンドは、生のRRAからのみデータを取得します。要求された粒度のRRAがない場合は、利用可能な最も近いものが使用されますが、追加の計算は実行されません。

1cdp == 5pdpルールを使用して、RRDファイルを作成するときに、RRDファイルに新しいRRAを追加します。例えば

    rrdtool create file.rrd -s 60 
        DS:ds0:GAUGE:120:0:100 
        RRA:AVERAGE:0.5:1:400 RRA:AVERAGE:0.5:5:400

この例では、400行を設定します。もっと使いたいと思うかもしれません。

5pdp RRAがある場合は、rrdtool fetch -r 300を使用できます。それ以外の場合、1pdp RRAしかない場合は、60の解像度(1ステップ)しか使用できません。

また、rrdtool xportを確認することもできます。これにより、(rrdtool graphと同じ方法で)要約になり得る出力計算値を定義できます。

   rrdtool xport  --step 300 --start 1200000000 --end 1200000300
        --maxrows 400
        DEF:value=file.rrd:ds0:AVERAGE
        XPORT:value

これは、DSがds0という名前であると想定しており、必要なRRAがすでにある場合はfetchを実行するほど効率的ではありません。

1
Steve Shipway