名称 rrdtool - ラウンドロビンデータベースツール ------------------------------------------------------------------------------- 書式 rrdtool - | 機能 ------------------------------------------------------------------------------- 解説 概要 部屋の温度からルーターのFDDIインターフェイスを通過するパケット量まで、 いろいろな事象の状態を表す情報を集めるのはとても簡単です。しかし、 これらの情報を効率的かつ、系統的に保存することは容易なことではありません。 rrdtoolはその手助けをします。rrdtoolはあなたが種々のデータソース(DS)から 集めたデータを記録し解析してくれます。rrdtoolのデータ解析部はある期間に 集められたデータのグラフィカルな出力を高速に生成する機能より 構成されています。 このマニュアルにはラウンドロビンデータベースツール(rrdtool)の構成及び 機能について一般的な事柄が書かれています。rrdtoolの個々の機能のより詳細な 解説についてはそれぞれのマニュアルを参照してください。 rrdtoolを使うためのチュートリアルについては「rrdtutorialマニュアル」を 見てください。 機能 コマンドラインスイッチの解説に当たってrrdtoolを動作させるのに 覚えておいてもらわなければならないことがあります。それはrrdtoolはパイプを 通して遠隔操作することができるということです。これはrrdtoolに多くの事を 高速に処理させたい場合に起動に要する合計時間を短縮してくれます。ずっと下の 「遠隔操作」セクションを見てください。またrrdtoolには多くの言語と親和性が ありperl、python、tcl、phpなどから直接操作することができます。 create 新しいラウンドロビンデータベース(RRD)を作成します。 「rrdcreateマニュアル」を見て下さい。 update RRDに新しいデータを保存します。「rrdupdateマニュアル」を見て下さい。 graph 一つもしくは複数のRRDに保存されているデータからグラフを作成します。 グラフの生成以外に標準出力へのデータの抽出も行います。 「rrdgraphマニュアル」を見て下さい。 dump ASCIIでRRDの内容を出力します。restoreと組み合わせて使うと あるRRDから別のRRDへデータを移動することができます。 「rrddumpマニュアル」を見て下さい。 restore XMLフォーマットのRRDデータをバイナリのRRDへ格納します。 「rrdrestoreマニュアル」を見て下さい。 fetch ある期間のデータをRRDから取得します。graph機能はRRDからデータを 取得するのにfetchを用います。「rrdfetchマニュアル」を見て下さい。 tune RRDの設定を変更します。「rrdtuneマニュアル」を見て下さい。 last RRDの最終更新時刻を取得します。「rrdlastマニュアル」を見て下さい。 rrdresize 個々のRRAのサイズを変更します…危険です!「rrdresizeマニュアル」を 見て下さい。 xport 1つもしくは複数のRRDからデータをエクスポートします。 「rrdxportマニュアル」を見て下さい。 rrdcgi オンデマンドでRRDのグラフを生成する独立したツールです。 「rrdcgiマニュアル」を見て下さい rrdtoolはどのような動作をするか? データ取得 システムの状態を監視する場合、一定間隔ごとにデータを取得できれば都合が よいでしょう。しかし不幸にも必ずしも正確な時刻に取得できるとは 限りません。そのためrrdtoolは好きなときにログファイルを更新できるように なっています。入力されたデータソース(DS)からの値は自動的に希望する 時間間隔のものに調整され、その値がログに書き込まれます。オリジナルの データもログに記録され次のデータ取得時に参照されます。 データ統合 データを1分間隔で記録するとしても、去年1年間に渡るデータの変遷を 知りたいことがあるでしょう。単純に1分間隔で1年分のデータを記録する ことでもできますが、ディスクの空きを気にしなければなりませんし1年分の グラフを生成するための解析に時間がかかります。rrdtoolはこの問題を 解決する手段としてデータ統合機能を提供します。ラウンドロビンデータベース (RRD)を設定するときにデータ統合を行う間隔とどのような統合方法(CF) (平均、最小、最大、最終)で統合データを作るかを決定します (rrdcreateを見て下さい)。1つのRRDには複数の異なる統合設定をすることが できます。これらはRRDに新しいデータが格納されるときに同時に調整されます。 ラウンドロビンアーカイブ ある統合設定の値は全て1つのラウンドロビンアーカイブ(RRA)に 格納されます。常に一定のディスクスペースを使うようにすることで データの格納を一定の時間で行うことができるようなります。 これは次のように動作します:例えば5分間隔で1000個の値を格納する場合、 rrdtoolはヘッダーと1000個のデータを格納するのに必要なディスク領域を 確保します。ヘッダには最後に値が書き込まれた場所へのポインタが 格納されます。新しい値は―あなたが予想している通り―ラウンドロビンの やり方に従ってラウンドロビンアーカイブに書き込まれます。このやり方では 格納されているデータは自動的に最後の1000個に制限されます。1つのRRDには 複数のRRAを定義できるので2時間間隔で750個のデータを格納するもう1つの RRAを定義して低い時間解像度でではあるもののログを2ヶ月間保持するように することもできます。 RRAの挙動は設定した時間以上のデータをRRDが格納しないこと及び古いデータが 自動的に削除されることを保障します。統合機能を使って時間解像度を徐々に 下げていくことで非常に長い間ログを保持することができます。種々の 統合関数(CF)を用いて本当に必要な情報を正確な値で格納することが できます。(LANの1分間のトラフィックの最大値、ワインセラーの最低温度、 利用不能時間の合計、…) 不明データ 前に述べたようにRRDはデータを一定間隔で格納しますが、RRDにデータを 格納すべき時刻に何らかの理由によりデータが取得できないことが 起こりえます。このような事態が起きたときrrdtoolは*UNKNOWN*値を データベースに記録します。*UNKNOWN*値はデータベースの全ての機能で サポートされています。*UNKNOWN*値を含むデータが統合される場合 新しい統合値がラウンドロビンアーカイブに書き込む準備が整った時点で その値に含まれる*UNKNOWN*値の割合が設定値を超えているかどうかの 適正判断が行われます。もしそうであればRRAには*UNKNOWN*が書き込まれます。 グラフ rrdtoolでは1つまたは複数のRRDに格納されているデータを基に数値もしくは グラフィカルな図による統計を生成することができます。グラフ機能は、 大きさ、色、グラフの内容など非常に多くの設定が可能です。より多くの 情報はrrdgraphマニュアルを見て下さい。 ------------------------------------------------------------------------------- 遠隔操作 rrdtoolをコマンドラインオプションに「-」を指定して起動した場合、 標準入力からの入力を待ちます。この機能を使ってパイプを通して他のプロセス (例の一つがmrtgです)からrrdtoolに接続する事でパフォーマンスを 向上させることができます。パイプを通してrrdtoolはコマンドラインと同じ引数を 受け付けます。コマンドが完了すると「OK」に続き、 「u:ユーザー時間 s:システム時間」のような形式のタイミング情報を出力します。 タイミング情報の値は共にrrdtoolが起動してからの動作時間です。エラーが起こると 「ERROR: エラーの説明」が出力され、可能なら強制終了せずにERROR行に続いて OK行を出力します。 ------------------------------------------------------------------------------- 以下も見よ rrdcreate,rrdupdate,rrdgraph,rrddump,rrdfetch,rrdtune,rrdlast,rrdxport ------------------------------------------------------------------------------- バグ バグ?仕様ですよ。 ------------------------------------------------------------------------------- 著者 Tobias Oetiker