MRTG ======== the Multi Router Traffic Grapher -------- {{TOC 3-}} ### MRTG とは グラフツールです。シンプルな設定で、2値のグラフを描画して、ブラウザベースで閲覧できる HTML ページを生成することができます。 サーバの監視目的で SNMP とともに語られることが多いですが、ここでは純粋に MRTG の機能に的を絞って解説します。 ### MRTG インストール CentOS なら yum で一撃インストール可能です。 $ sudo yum install mrtg インストール先: * /usr/bin/mrtg * /usr/bin/indexmaker * /etc/mrtg/mrtg.cfg ### /usr/bin/mrtg と /etc/mrtg/mrtg.cfg /usr/bin/mrtg が各種グラフ画像と、HTML ページを生成するコマンドです。 その際に使用される設定を、/etc/mrtg/mrtg.cfg に記述します。 /etc/mrtg/mrtg.cfg ### Global Config Options WorkDir: /path/to/mrtg/publish/dir Title[^]: Foo's MRTG Options[^]: noinfo, growright ### graph settings # traffic Target[traffic]: `cat /path/to/mrtg/data/traffic` YLegend[traffic]: Traffic LegendI[traffic]: RX(in) LegendO[traffic]: TX(out) Title[traffic]: Network Traffic PageTop[traffic]: Network Traffic 以下のように実行します $ /usr/bin/mrtg /etc/mrtg/mrtg.cfg 最初の実行と、2回目は、無事に実行できてもいくらかの warn が出力されます。 これは、MRTG が過去2回分のログを利用して動作するためです。 3回目の実行以降は、無事動作すれば何も出力されなくなります。 WorkDir に設定した /path/to/mrtg/publish/dir に画像や HTML が生成されていれば動作しています。 ### 設定ファイルの文法 設定ファイルの書き方は、以下のようになります。 設定[識別子]: 設定内容 例えば、以下のようです。 Title[^]: Foo's MRTG Options[_]: noinfo Target[traffic]: `cat /path/to/mrtg/data/traffic` #### 識別子の意味 全てのグラフに対して設定内容を指定するには識別子を `[_]` アンダーバーにします。 この場合、各設定よりも、`[_]` の設定が優先されます デフォルト設定を指定するには、識別子に `[^]` を指定します。 この設定は、個別の設定で上書いすることができます。 それぞれの設定内容を優先し、全体設定も追加で有効にするには識別子に `[$]` を指定します。 識別子が指定されると、その文字列でグラフなどファイル一式が出力されます。 ### 設定項目 #### 基本設定 ---------| ----------- | Target | 統計データの対象 | MaxBytes | データがとりうる最大値 | Title | Webページを出力した時の<TITLE>タグの内容 | PageTop | グラフの前に表示するHTMLテキスト | Options | グラフの描画オプション | [] #### グラフの設定 ---------| ----------- | AbsMax | グラフの絶対的な最大値を指定する。このオプションを指定しない場合,取得したデータの値に応じて縦軸が適時拡大縮小される。 | UnScaled | データに合わせて拡大縮小しない。 | WithPeak | 平均値ではなく,ピーク値をとる。 | Suppress | 日グラフ(d),週グラフ(w),月グラフ(m),年グラフ(y)どの種類のグラフを作成するのかを設定する。Suppress で指定したグラフが作成されない。例えば、Suppress[_] my とすると、月、年グラフが作成されない。 | MaxBytes1 | データ1の最大値を設定 | MaxBytes2 | データ2の最大値を設定 | XSize | 作成するグラフの画像ファイルの横幅のピクセル数を指定する。20~600まで指定できる。デフォルトは400 | YSize | 作成するグラフの画像ファイルの縦幅のピクセル数を指定する。20以上の値を指定できる。デフォルトは100 | XZoom | 横軸の拡大縮小率を指定 | YZoom | 縦軸の拡大縮小率を指定 | XScale | 横軸の拡大縮小率を指定する。画像ファイルのサイズは変更されない。 | YScale | 縦軸の拡大縮小率を指定する。画像ファイルのサイズは変更されない。 | YTics | 1つのグラフに4本以上の線を描画するときに設定 | YTicsFactor | Y軸のデータにここで指定した値を乗算する | Factor | 取得したデータにここで指定した値を乗算する | Step | データの描画間隔を指定する。デフォルトは300秒 | Colours | グラフの描画色を設定 | YLegend | Y軸の軸の名前(ラベル)を指定 | ShortLegend | Y軸の軸の単位(ラベル)を指定 | Legend1 | データ1(受信データ)のグラフ名(ラベル)を指定 | Legend2 | データ2(送信データ)のグラフ名(ラベル)を指定 | Legend3 | データ1(受信データ)の百分率グラフ名(ラベル)を指定 | Legend4 | データ2(送信データ)の百分率グラフ名(ラベル)を指定 | LegendI | データ1(受信データ)のラベルを指定 | LegendO | データ2(送信データ)のラベルを指定 | kilo | キロの単位を切り替える。デフォルトは1000 | kMG | k(キロ),M(メガ),T(テラ)などの単位を変更 | Timezone | タイムゾーンを設定 | Weekformat | 週の表示形式を変更する | SetEnv | 外部プログラムを呼び出すときに設定する環境変数を指定 | [] #### HTML出力設定 ---------| ----------- | PageFoot | Webページの一番下に表示されるHTMLテキストを指定 | AddHead | <HEAD>タグと<BODY>タグのあいだに指定したいHTMLテキストを指定 | BodyTag | <BODY>タグを変更する場合に指定 | Background | 背景色を変更 | Extension | 作成されるファイルの拡張子を変更 | [] #### Options で指定できる内容(Options[_]: XXXXX) ---------| ----------- | growright | グラフの横軸(時間)を左から右方向にする | bits | 値を8倍し、ビットとして扱う | perminute | 分単位のグラフを表示するときに値を60倍する | perhour | 時間単位のグラフを表示するときに値を3600倍する | noinfo | 出力するWebページにデバイス名や時刻情報を出力しない | nopercent | パーセント表示しない | transparent | グラフ画像の背景を透明にする | integer | 値を整数化する | dorelpercent | 百分率にしたグラフを重ねて表示する | gauge | データの値の差をとらない | absolute | データの値を時間で割らない | unknaszero | 取得できなかった部分のデータを0として扱う | withzeroes | 0であるデータを無視しない | [] ### index ページの作成 いくつかのグラフを生成すると、それらを一覧できて、個別の HTML にリンクする index ページが欲しくなります。 /usr/bin/indexmaker コマンドでそれが可能です。 こちらに、man の日本語訳があります。[[http://www.mrtg.jp/doc/indexmaker.html indexmaker]] ### SEE ALSO * $ man mrtg * $ man indexmaker