August 28, 2003

rrdtool create

Categories:  RRDtoolData Migration
Entries:

柄にもなく、rrdtool createの オプションの解説をしてみましょう:-P

rrdtool createに与えるパラメータは、 大きく三つに分類されます。 DS (Data Source) のパラメータ、RRA (Round Robin Archive) のパラメータ、 そしてそれ以外のRRDファイル名や、開始時刻、ステップ数です。

DSは、RRDに記録したいソースの設定です。 DSのパラメータは、次の5つのレコードを取ります:

rrdtool create DS:ds-name:DST:heartbeat:min:max
ds-nameは、DSの識別子です。 DSTは、DSの型で、GAUGEDERIVECOUNTERABSOLUTEのいずれかを指定します。 RRD Gallery
RRD Gallery
にあるサンプルを見て、どの型を指定したらよいか決めると良いでしょう。 heartbeatは、 DSの更新が途絶えたときに指定の間隔だけはソースが活動中であると識別させるパラメータです。 この指定以上の間隔で更新が途絶えると、 RRDの登録値は*UNKNOWN*というステータスに落ちます。 普通は--stepで指定する値の倍の値を使います。 minmaxは、DSの最小値と最大値です。 これらのパラメータは、rrdtool tuneサブコマンドで すべて再調整できますので、気楽に設定しましょう。 ただし、RRDにDSの追加登録は出来ませんので、そこは要注意です。

RRAは、DSをどの頻度でどのような統計処理をしてどの程度記録するかを指定します。 RRAのパラメータは、次の4つのレコードを取ります。

rrdtool create RRA:CF:xff:steps:rows
CF (consolidation function: 合算関数) は、 複数のレコードを統合して記録するときに、どのような処理を行うかを指定します。 指定できるのは、 AVERAGEMINMAXLASTです。 xffは、合算に際して、対象となるレコードの指定割合が *UNKNOWN*ステータスの時に 合算後のレコードも*UNKNOWN*とするかを指定します。 通常は0.5を指定していますね。 stepsは、レコードの更新時に合算するステップ数、 rowsは、記録するレコード数を指定します。 例えば--steps 1800 RRA:AVERAGE:0.50:48:797は、 1,800 (秒) × 48 (ステップ) = 86,400 (秒) = 24 (時間) 毎の平均値を 797 レコード分、 すなわちおおよそ2年2ヶ月分記録します (前年同月比を比較したかったので最初は1年1ヶ月分を指定してあったのを、 それじゃ短いと思って単純に倍にしたんでしょうね:-P)。 rrdtool resizeサブコマンドでレコード数の調整は出来ますが、 それ以外のパラメータは変更できません。 また、RRDにRRAを追加することもできません。

RRDファイルには、生成時にDSの数×RRAの数だけのスロットが用意されます。 このため、どんなに長期間RRDToolを運用しても、RRDファイルのサイズは不変で、 ディスク容量不足で記録が途絶えるということは起こりません。

Posted by Manabu Higashida at August 28, 2003 02:40 PM
Comments