RRDToolはレートを記録するときに最も効果的です。したがって、COUNTER
DSタイプを使用すると、定期的なkWhの合計をデータベースのポイントインタイムW値に変更できます。
たとえば、1分ごとにサンプリングする場合は、kWhに3600000を掛けて(ワット秒またはジュールにする)、RRDToolでCOUNTER型を使用して秒単位のレートに変換するか、ワット(わかりやすくシンプルにするために、SI単位でデータを格納する方が常に良い)。
これで、ステップサイズを掛けて表示または計算することができます。
たとえば、1日に使用されるkWhのグラフを表示するには、RRAを1日単位で定義する必要があります。次に、特定のデータ精度でrrdtool fetch
またはrrdtool graph
を使用してデータをフェッチし、平均ワットにインターバルを掛けて3600000で割ってkWhにすることによって計算された値を得ることができます。
これは、ワットを保存するために、1分のサンプルレートでRRDファイルを作成します。
rrdtool create power.rrd --step 60 \
DS:watts:COUNTER:120:0: \
RRA:AVERAGE:0.5:1:86400 \
RRA:AVERAGE:0.5:1440:400
これはRRDを更新するには、月の上に、これはキロワット時で、毎日の使用状況を、グラフ化します
JOULES=`expr $KWH \* 3600000`
rrdtool update power.rrd N:$JOULES
キロワット時の最新のサンプルを与え
rrdtool graph graph.png \
--end now --start "end-1month" --step 86400 \
--title "Power usage per day" --vertical-label "kWh" \
--units-exponent 0 \
DEF:watts=power.rrd:watts:AVERAGE:step=86400 \
CDEF:kwh=watts,STEPWIDTH,*,3600,/,1000,/ \
VDEF:totkwh=watts,TOTAL,3600000,/ \
GRPINT:totkwh:"Total kWh this month: %.0lf kWh"
することができます、のもちろん、これをあなたのニーズに合わせて修正してください。異なるRRAやグラフ作成ステップ、または集計が必要な場合があります。