RAQ550にMRTG 備忘録

RAQ550にネットワーク解析ソフトMRTGインストール
MRTGは、SNMPエージェントを利用してルータ等のネットワークの監視情報の取得を行ない、その結果をグラフ表示します。そのためMRTGを動作させるには、ネットワーク上に最低1台のSNMPが動作している機器が必要となります。コバルトRAQでは管理画面から簡単にSNMPを起動させることが可能です。 
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/
http://www.mrtg.jp/doc/

■MRTGインストール

まずはコバルトRAQにログインします。

login as: admin
admin@192.168.1.50's password:
[admin admin]$ pwd
/home/.users/112/admin
[admin admin]$ 


[admin admin]$ wget http://www.mirrors.wiretapped.net/security/network-monitoring/mrtg/mrtg-2.9.29.tar.gz
[admin admin]$ tar xzf mrtg-2.9.29.tar.gz
[admin admin]$ cd mrtg-2.9.29

インストールする場所を下記のように/usr/local/mrtgに指定します。

[admin mrtg-2.9.29]$ ./configure --prefix /usr/local/mrtg --with-gd=/usr/local/src/gd --with-z=/usr/local/src/zlib --with-png=/usr/local/src/libpng
[admin mrtg-2.9.29]$ make
[admin mrtg-2.9.29]$ su
Password:
[root mrtg-2.9.29]# make install

続いて下記コマンドで日本語モジュールのコピーします。 
[root mrtg-2.9.29]# exit
exit
[admin mrtg-2.9.29]$ cd ./translate
[admin translate]$ ./mergelocale.pl skeleton.pm0 eucjp.pmd
[admin translate]$ ./mergelocale.pl skeleton.pm0 iso2022JP.pmd
[admin translate]$ su
Password:
[root translate]# cp locales_mrtg.pm /usr/local/mrtg/lib/
[root translate]#



■MRTGコンフィグファイル設定

MRTGのファイルは/usr/local/mrtgにインストールされています。


[root mrtg-2.9.29]# cd /usr/local/mrtg
[root mrtg]# ls
bin doc lib man share
[root mrtg]# cd bin

MRTG設定ファイルを保存する任意のディレクトリを作成します。

[root bin]# mkdir /home/mrtg
[root bin]# mkdir /home/sites/tips.mediaweb.biz/web/mrtg


/usr/local/mrtg/bin/にあるcfgmakerを使ってMRTGの設定ファイルを作成します。詳しい設定については下記リンクを参照ください。

http://www.mrtg.jp/doc/cfgmaker.html

[root bin]# ./cfgmaker --global 'Workdir: /home/sites/tips.mediaweb.biz/web/mrtg' --output /home/mrtg/mrtg.cfg public@192.168.1.150

Workdir:にはMRTGの出力ファイルを保存するディレクトリを指定します。public@192.168.1.150は、SNMPで設定されたコミュニティ名@IPアドレスを記述します。コミュニティ名とは、snmpuser名を指すものです。RAQ550であれば管理画面のSNMPの設定にあるSNMP コミュニティの名前となります。



SNMPが動作しているコバルトで下記のコマンドを実行するとその取得情報が表示されます。


[root admin]# /usr/bin/snmpwalk 192.168.1.150 public
system.sysDescr.0 = OCTET STRING: "Linux version 2.2.16C37_III (root@kbuild.sfbay.sun.com) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Sat Apr 12 14:54:32 PDT 2003"
system.sysObjectID.0 = OBJECT IDENTIFIER: enterprises.tubs.ibr.linuxMIB
system.sysUpTime.0 = Timeticks: (479612) 1:19:56
system.sysContact.0 = OCTET STRING: "Not Configured"
system.sysName.0 = OCTET STRING: "qube3.mediaweb.biz"
system.sysLocation.0 = OCTET STRING: "Not Configured"
system.sysServices.0 = INTEGER: 72
system.sysORLastChange.0 = Timeticks: (479613) 1:19:56
system.sysORTable.sysOREntry.sysORID.1 = OBJECT IDENTIFIER: enterprises.tubs.ibr.linuxMIB.1.1
system.sysORTable.sysOREntry.sysORDescr.1 = OCTET STRING: "LINUX agent"
system.sysORTable.sysOREntry.sysORUpTime.1 = Timeticks: (479613) 1:19:56

cfgmakerが成功すると下記のような画面が表示されます。

[root bin]# ./cfgmaker --global 'Workdir: /home/sites/tips.mediaweb.biz/web/mrtg' --global 'Options[_]: bits,growright' --output /home/mrtg/mrtg.cfg public@192.168.1.150
--base: Get Device Info on public@192.168.1.150:


--base: Get Device Info on public@192.168.1.150:
--base: Vendor Id:
--base: Populating confcache
--snpo: confcache public@192.168.1.150: Descr lo --> 1
--snpo: confcache public@192.168.1.150: Descr eth0 --> 2
--snpo: confcache public@192.168.1.150: Descr eth1 --> 3
--snpo: confcache public@192.168.1.150: Ip 0.0.0.0 --> 3
--snpo: confcache public@192.168.1.150: Ip 127.0.0.1 --> 1
--snpo: confcache public@192.168.1.150: Ip 192.168.1.150 --> 2
--snpo: confcache public@192.168.1.150: Type 24 --> 1
--snpo: confcache public@192.168.1.150: Type 6 --> 2
--snpo: confcache public@192.168.1.150: Type 6 --> 3 (duplicate)
--snpo: confcache public@192.168.1.150: Eth 00-00-00-00-00-00 --> 1
--snpo: confcache public@192.168.1.150: Eth 00-10-e0-01-af-96 --> 2
--snpo: confcache public@192.168.1.150: Eth 00-10-e0-01-af-95 --> 3
--base: Get Interface Info
--base: Walking ifIndex
--base: Walking ifType
--base: Walking ifAdminStatus
--base: Walking ifOperStatus
--base: Walking ifSpeed
--base: Writing /home/mrtg/mrtg.cfg

cfgmaker設定後、下記コマンドでテストランを行います。またできあがったMRTGの設定ファイルmrtg.cfgに RunAsDaemon: Yesという行を加えるとMRTGをデーモンプロセスとして動かすこともできます。MRTGの詳細については下記MRTG設定リファレンスを参照ください。

http://www.mrtg.jp/doc/reference.html

[root bin]# /usr/local/mrtg/bin/mrtg /home/mrtg/mrtg.cfg
Rateup WARNING: /usr/local/mrtg/bin/rateup could not read the primary log file for 192.168.1.150_2
Rateup WARNING: /usr/local/mrtg/bin/rateup The backup log file for 192.168.1.150_2 was invalid as well
Rateup WARNING: /usr/local/mrtg/bin/rateup Can't remove 192.168.1.150_2.old updating log file
Rateup WARNING: /usr/local/mrtg/bin/rateup Can't rename 192.168.1.150_2.log to 192.168.1.150_2.old updating log file


エラーがなくなるまで同コマンドを繰り返してください。

[root bin]# /usr/local/mrtg/bin/mrtg /home/mrtg/mrtg.cfg
Rateup WARNING: /usr/local/mrtg/bin/rateup Can't remove 192.168.1.150_2.old updating log file
[root bin]# /usr/local/mrtg/bin/mrtg /home/mrtg/mrtg.cfg
[root bin]#



■自動起動設定

続いてcronジョブを利用してmrtgを5分ごとに実行するようにします。

[root /etc]# vi /etc/crontab


crontabの文末に下記のように記述して保存してください。



02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
*/5 * * * * /usr/local/mrtg/bin/mrtg /home/mrtg/mrtg.cfg

ログ出力を指定するには下記のようにします。

*/5 * * * * /usr/local/mrtg/bin/mrtg /home/mrtg/mrtg.cfg --logging /var/log/mrtg.log


mrtg.cfgでRunAsDaemon: Yesとした場合init.d等に起動スクリプト設置するには下記のようにします。


[root bin]# vi /home/mrtg/mrtg.cfg


Workdir: /home/sites/tips.mediaweb.biz/web/mrtg
Options[_]: bits,growright
RunAsDaemon: Yes

下記コマンドでデーモンとして起動しているか確認します。

[root bin]# /usr/local/mrtg/bin/mrtg /home/mrtg/mrtg.cfg --logging /var/log/mrtg.log &
[root bin]# ps ax| grep mrtg
25169 ? S 0:00 /usr/bin/perl -w /usr/local/mrtg/bin/mrtg /home/mrtg/

その後/etc/rc.d/init.d等にこのスクリプトを記述したものを配置します。


RAQ550にネットワーク解析ソフトMRTGインストール
コバルトRaQ550を使いこなそう