# cd /usr/local/src
# wget ftp://ftp.ayamura.org/pub/rrdtool/rrdtool-1.0.48.tar.gz
# wget http://www.bigfield.com/~hiroshi/software/rrdtool-1.0.33-kanji.patch.gz
# gunzip rrdtool-1.0.33-kanji.patch.gz
# tar zxvf rrdtool-1.0.48.tar.gz
# cd rrdtool-1.0.48
# patch -p0 < ../rrdtool-1.0.33-kanji.patch
# ./configure
# make
# make install
# make site-perl-install
rrdtool create データベースファイル名 DS:データソース指定 RRA:ラウンドロビアーカイブ指定
例えば、1日、1週間、1ヶ月、1年での表示が可能なようにデータを持つようにすると良い。
RRA:AVERAGE:0.5:1:600
RRA:AVERAGE:0.5:6:700
RRA:AVERAGE:0.5:24:775
RRA:AVERAGE:0.5:288:797
rrdtool create test.rrd -s 300 →test.rrdという名前でRRD作成(30秒間隔)
--start 1111371985
DS:record_count:COUNTER:600:U:U →600秒以上はUNKNOWNとする
RRA:AVERAGE:0.5:1,24 →5分×1の平均(つまりそのまま)×24で2時間分
RRA:AVERAGE:0.5:6:10 →5分×6で30分毎の平均を10個で5時間分
-s 秒数 →データ間隔(秒)、デフォルトは300秒
date +%s
print time();
print Time.now.to_i
print time();
DS:データ名:データ種別:データ取得間隔(秒):最小:最大
RRA:結合関数:無効許容率:データ母数:保管データ数
rrdtool update RRDファイル名 時間指定 データ1 データ2 ...
rrdtool fetch RRDファイル名 --start 開始時間指定 --end 修了時間指定
rrdtool graph 画像ファイル名 --start 開始時間 -- end 修了時間
DEF:データソース名定義
CDEF:データソース名定義
グラフ種別:グラフ表示指定
DEF:変数名=RRDファイル名:データ名:結合関数
CDEF:変数名=逆ポーランド記法で式を記述(,区切り)
グラフ種別:変数名#色指定[:凡例名]
GPRINT:変数名:結合関数:"フォーマット文字列"
rrd_file = "/home/www/log/temp.rrd"
rrdtool create temp.rrd
DS:t1:GAUGE:1200:U:U DS:t2:GAUGE:1200:U:U DS:t3:GAUGE:1200:U:U
RRA:AVERAGE:0.5:1:600 RRA:AVERAGE:0.5:6:700
RRA:AVERAGE:0.5:24:775 RRA:AVERAGE:0.5:288:797
--start 1078000000`
rrdtool update temp.rrd 1111481346:100:20:30
rrdtool graph temp.rrd -s -64day -w 640 -h 120
-x DAY:1:WEEK:1:WEEK:1:0:%m/%d
DEF:t1=temp.rrd:t1:AVERAGE
DEF:t3=temp.rrd:t3:AVERAGE
CDEF:t1x=-0.0055,t1,*,t1,*,1.9235,t1,*,+,138.25,-
CDEF:z=t1,0,*
LINE2:z#000000"
LINE2:t1x#ff0000:'外気温'
LINE2:t3#0000ff:'室温'"
> rrdtool dump temp.rrd > 070808.xml
> rrdtool restore 070708.xml temp.rrd