MRTGは、ネットワークの負荷を監視するツールです。MRTGは現在のネットワークのトラフィックの状態を示すグラフィックイメージを含むHTMLページを生成し、グラフ化してくれます。MRTGが出力するデータを活用する事で、ネットワークトラブルの早期発見にも繋がります。
|
|
■MRTGのダウンロード
■MRTGのインストール
MRTG を上記のサイトからダウンロードしてきてください。執筆時点での最新バージョンは、mrtg-2.10.11 です。なお、webalizerを使うにはgd、zlib、libpngが必要になります。以下のコマンドを実行し、インストールされていないものがあれず各自で予めインストールしておいてください。
#rpm -q zlib gd libpng
db4 |
|
ソースを展開し、カレントディレクトリを変更します。configure オプションは、gd、zlib、libpngをRPMパッケージでインストールしてある方は、prefix
だけ指定してください。configure 時に、ordering CD from http://people.ee.ethz.ch/~oetiker/wish
.... just kidding ;-) というギャグ(?)が入ってました(゚_゚i)タラー・・・
$ cd /usr/local/src
$ tar xzvf mrtg-2.9.29.tar.gz
$ cd mrtg-2.9.29
$ ./configure --prefix=/usr/local/mrtg-2
\
--with-gd=/usr/local/src/gd \
--with-z=/usr/local/src/zlib \
--with-png=/usr/local/src/libpng
$ make
$ su
# make install |
|
以上で、/usr/local/mrtg-2 にインストールされました。
■設定ファイルの作成
MRTGには、設定ファイルの作成ツールとして、
cfgmakerが用意されており、これによって監視対象となる設定ファイルを容易に作成することができます。書式は以下のとおりです。cfgmaker
の用法については、
MRTG
公式日本語サイトに詳しく解説されているので参考にしてください。
cfgmaker [ オプション
] [ コミュニティ名@ホスト名 ] |
|
オプションとして、WorkDir には、Apache で指定したドキュメントルート下にmrtg ディレクトリを作成し、そこにHTMLや画像が出力されるように指定しています。output
は、
# /usr/local/mrtg-2/bin/cfgmaker
public@172.16.50.2 \
--global 'WorkDir:
/home/kororo/public_html/mrtg' \
--output=/usr/local/mrtg-2/lib/mrtg.cfg
--base: Get Device Info on public@172.16.50.2:
--base: Vendor Id:
--base: Populating confcache
--snpo: confcache public@172.16.50.2: Descr
lo --> 1
--snpo: confcache public@172.16.50.2: Descr
eth0 --> 2
--snpo: confcache public@172.16.50.2: Ip
127.0.0.1 --> 1
--snpo: confcache public@172.16.50.2: Ip
172.16.50.2 --> 2
--snpo: confcache public@172.16.50.2: Type
24 --> 1
--snpo: confcache public@172.16.50.2: Type
6 --> 2
--snpo: confcache public@172.16.50.2: Eth
--> 1
--snpo: confcache public@172.16.50.2: Eth
00-50-04-be-ea-b5 --> 2
--base: Get Interface Info
--base: Walking ifIndex
--base: Walking ifType
--base: Walking ifAdminStatus
--base: Walking ifOperStatus
--base: Walking ifSpeed
--base: Writing /usr/local/mrtg-2/lib/mrtg.cfg
|
|
cfgmakerによって設定ファイルが作成されると output で指定した場所に、mrtg.cfg
が作成されているので開いてみましょう。設定ファイルの中身は以下のとおりになっているはずです。この中で、WrokDir
は必須項目なのでcfgmakerコマンド実行時に指定しなかった方は最下段に追加しておきましょう。また、デフォルトで使用する言語をEUC-JPにするため、
Language:
eucjp も追記します。IconDir はHTMLと共に出力されるデフォルトアイコンの格納先を指定します。URLがhttp://linux.kororo.jp/
であるならば、そこからの相対パスを記述します(http://linux.kororo.jp
/mrtg/icons/)。
### Interface 2 >>
Descr: 'eth0' | Name: '' | Ip: '172.16.50.2'
| Eth: '00-50-04-be-ea-b5' ###
Target[172.16.50.2_2]: 2:public@172.16.50.2:
SetEnv[172.16.50.2_2]: MRTG_INT_IP="172.16.50.2"
MRTG_INT_DESCR="eth0"
MaxBytes[172.16.50.2_2]: 12500000
Title[172.16.50.2_2]: Traffic Analysis
for 2 -- ns1.kororo.jp
PageTop[172.16.50.2_2]: <H1>Traffic
Analysis for 2 -- ns1.kororo.jp</H1>
<TABLE>
<TR><TD>System:</TD>
<TD>ns1.kororo.jp in Right here,
right now.</TD></TR>
<TR><TD>Maintainer:</TD>
<TD>KORORO <root@kororo.jp></TD></TR>
<TR><TD>Description:</TD><TD>eth0
</TD></TR>
<TR><TD>ifType:</TD>
<TD>ethernetCsmacd (6)</TD></TR>
<TR><TD>ifName:</TD>
<TD></TD></TR>
<TR><TD>Max Speed:</TD>
<TD>12.5 MBytes/s</TD></TR>
<TR><TD>Ip:</TD> <TD>172.16.50.2
(ns1.kororo.jp)</TD></TR>
</TABLE>
WorkDir: /home/kororo/public_html/mrtg
Language: eucjp
IconDir: /mrtg/icons/
|
|
なお、/mrtg/icons ディレクトリはまだ存在しないので予め作成しておきます。また、icons
ディレクトリにはMRTG(以下後述)に自動で作成されるわけではないのでソースディレクトリからコピーしておきます。
$ mkdir /home/kororo/public_html/mrtg/icons
$ cp /usr/local/src/mrtg-2.9.29/images/*.png
/home/kororo/public_html/mrtg/icons/ |
|
■MTRGを実行する
ここまでの作業を終えたら、引数に設定ファイルを指定し、MTRGを実行します。初回と2度目のコマンドはファイルが存在しないために、WARNING
と表示されますが、問題ないので気にせず3度コマンドを実行してください。
# /usr/local/mrtg-2/bin/mrtg
mrtg.cfg //1度目
Rateup WARNING: /usr/local/mrtg-2/bin/rateup
could not read the primary log file for
172.16.50.2_2
Rateup WARNING: /usr/local/mrtg-2/bin/rateup
The backup log file for 172.16.50.2_2 was
invalid as well
Rateup WARNING: /usr/local/mrtg-2/bin/rateup
Can't remove 172.16.50.2_2.old updating
log file
Rateup WARNING: /usr/local/mrtg-2/bin/rateup
Can't rename 172.16.50.2_2.log to 172.16.50.2_2.old
updating log file
# /usr/local/mrtg-2/bin/mrtg mrtg.cfg
//2度目
Rateup WARNING: /usr/local/mrtg-2/bin/rateup
Can't remove 172.16.50.2_2.old updating
log file
# /usr/local/mrtg-2/bin/mrtg mrtg.cfg
//3度目 |
|
MTRG を実行すると指定したディレクトリにPNGファイル4つと、html ファイル、Target.log、Target.old
の7つのファイルが作成されます。出力場所をApacheのドキュメントルートに設定したならば、クライアントからブラウザでアクセスすることができます。言うまでもありませんが、Apache
のhttpd.conf で
Indexesオプションを付けていない方は、http://サーバー名/mrtg
ではアクセスできないので注意してください。http://サーバー名/mrtg/172.16.50.2_2.html
の形でアクセスしてくださいね(゚ー゚;
■cron による自動実行
例のごとく自動で統計情報が更新されるわけではないので、cron で定期的に実行するようにしておきます。RunAsDaemonでも自動実行できるようにできますが、どっちでも可能ならば楽な方を選びました(笑)。下記では5分ごとに更新するように設定しています。
# crontab -e
*/5 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/lib/mrtg.cfg |
|