HAYAGUI

FreeBSD 4.5 + ucd-snmp + mrtg

はじめに

ネットワークトラフィックがどのぐらいあるかを調べるために、MRTG をインストールしてネットワーク管理してみます。 MRTG は、snmpエージェントからデータを取得するので、こちらもインストールします。 あと、webサーバが動いている必要があります。

参考にしたページは以下のとおり。

ucd-snmp

測定対象となるPC(FreeBSD 4.5R)に、ucd-snmp をインストールします。 /stand/sysinstall で ucd-snmp-4.2.3 を選択してインストール。

snmpd の設定ファイルを作成します。サンプルがあるので、コピーして使います。

eden# cd /usr/local/share/examples/ucd-snmp
eden# pwd
/usr/local/share/examples/ucd-snmp
eden# ls
EXAMPLE.conf            ucdDemoPublic.conf
eden# cp ./EXAMPLE.conf /usr/local/share/snmp/snmpd.conf
コピー先のディレクトリには、このようなファイルとディレクトリがあります。
eden# cd /usr/local/share/snmp
eden# ls
mib2c.conf              mib2c.vartypes.conf     snmpconf
mib2c.storage.conf      mibs                    snmpd.conf
先ほどコピーした snmpd.conf を vi で開きます。
eden# vi snmpd.conf
私の場合は、コミュニティ名を OOGUI 、 SNMPマネージャからこのマシンを管理できるホストのIPアドレスを、192.168.1.0/24(192.168.1.0/255.255.255.0と同じ)にしました。
#       sec.name  source          community
#com2sec local     localhost       COMMUNITY
com2sec local     localhost       OOGUI

#com2sec mynetwork NETWORK/24      COMMUNITY
com2sec mynetwork 192.168.0.0/24  OOGUI
セキュリティグループはこんな感じ。
#group MyRWGroup        v1         local
#group MyRWGroup        v2c        local
#group MyRWGroup        usm        local
group MyROGroup v1         mynetwork
group MyROGroup v2c        mynetwork
group MyROGroup usm        mynetwork
システム情報はこんな感じにしました。
#syslocation Right here, right now.
syslocation hayagui home server

#syscontact Me 
syscontact hayagui 
さて、起動させてみます。
eden# /usr/local/sbin/snmpd
これでも動きますし、OS を reboot させると次回の起動時に自動で起動されます。
eden# cd /usr/local/etc/rc.d
eden# ls -la snmpd.sh
-rwxr-x--x  1 root  wheel  349   1/23 18:06 snmpd.sh
起動されていることは、ps で確認してください。
eden# ps -aux | grep snmpd
root   112  0.0  2.2  3308 2612 con- I    11:23PM   0:00.16 /usr/local/sbin/snmpd

mrtg

 /stand/sysinstall から mrtg-2.9.17 を選択してインストールします。 依存関係にあるパッケージもインストールしてくれるので、楽だね〜。

mrtg の設定ファイルを cfgmaker を使って作成します。

eden# cd /usr/local/bin
eden# pwd
/usr/local/bin
eden# ls -la cfgmaker
-r-xr-xr-x  1 root  wheel  73110   1/24 01:02 cfgmaker
これを、コミュニティ名@ホスト名をつけて実行します。
eden# cfgmaker OOGUI@eden.hayagui.com >> /usr/local/etc/mrtg/mrtg.cfg
--base: Get Device Info on OOGUI@eden.hayagui.com:
--base: Vendor Id:
--base: Populating confcache
--snpo: confcache OOGUI@eden.hayagui.com: Descr vr0 --> 1
--snpo: confcache OOGUI@eden.hayagui.com: Descr lp0 --> 2
--snpo: confcache OOGUI@eden.hayagui.com: Descr ppp0 --> 3
--snpo: confcache OOGUI@eden.hayagui.com: Descr sl0 --> 4
--snpo: confcache OOGUI@eden.hayagui.com: Descr faith0 --> 5
--snpo: confcache OOGUI@eden.hayagui.com: Descr lo0 --> 6
--snpo: confcache OOGUI@eden.hayagui.com: Type 6 --> 1
--snpo: confcache OOGUI@eden.hayagui.com: Type 34 --> 2
--snpo: confcache OOGUI@eden.hayagui.com: Type 23 --> 3
--snpo: confcache OOGUI@eden.hayagui.com: Type 28 --> 4
--snpo: confcache OOGUI@eden.hayagui.com: Type 56 --> 5
--snpo: confcache OOGUI@eden.hayagui.com: Type 24 --> 6
--snpo: confcache OOGUI@eden.hayagui.com: Ip 127.0.0.1 --> 6
--snpo: confcache OOGUI@eden.hayagui.com: Ip 192.168.0.8 --> 1
--base: Get Interface Info
--base: Walking ifIndex
--base: Walking ifType
--base: Walking ifSpeed
--base: Walking ifAdminStatus
--base: Walking ifOperStatus
eden#

作成先のディレクトリには、このようになっています。
eden# cd /usr/local/etc/mrtg/
eden# pwd
/usr/local/etc/mrtg
eden# ls
mrtg.cfg        mrtg.cfg.sample
mrtg.cfg を vi で開きます。
eden# vi mrtg.cfg
mrtg のワークディレクトリを設定します。私は、apache の /usr/local/etc/apache/httpd.conf に設定している Document Root 以下に作成するようにしました。
# WorkDir: /home/http/mrtg
WorkDir: /usr/local/www/data/mrtg
次に、ブラウザのリフレッシュ時間を設定します。単位は秒です。私は10分(60x10=600)に設定しました。
# Refresh Time
Refresh: 600
次に、言語を設定します。これを設定すると、ページ内の文字が日本語になってくれます。
# Language
Language: eucjp
とりあえず、設定はこれで終わり。 動くことを確認してから、設定を追加しましょう。

先ほどの mrtg ワークディレクトリを作成します。

eden# cd /usr/local/www/data
eden# pwd
/usr/local/www/data
eden# mkdir mrtg
webpage で使用する画像をコピーします。
eden# cd /usr/local/share/mrtg
eden# pwd
/usr/local/share/mrtg
eden# ls
mrtg-l.gif      mrtg-m.gif      mrtg-r.gif      mrtg-ti.gif
mrtg-l.png      mrtg-m.png      mrtg-r.png      mrtg-ti.png
eden# cp * /usr/local/www/data/mrtg
では、mrtg を動かしてみます。先ほど作成した mrtg.cfg を使用するように、 以下のように実行します。WARNING が出るのは、初めてだからです。
eden# /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
Rateup WARNING: /usr/local/bin/rateup could not read the primary log file for eden.hayagui.com_1
Rateup WARNING: /usr/local/bin/rateup The backup log file for eden.hayagui.com_1 was invalid as well
Rateup WARNING: /usr/local/bin/rateup Can't remove eden.hayagui.com_1.old updating log file
Rateup WARNING: /usr/local/bin/rateup Can't rename eden.hayagui.com_1.log to eden.hayagui.com_1.old updating log file
mrtg のワークディレクトリには、このようなファイルが作成されます。
eden# cd /usr/local/www/data/mrtg
eden# pwd
/usr/local/www/data/mrtg
eden# ls -la
total 68
drwxr-xr-x  2 root  wheel    512   6/20 00:11 .
drwxr-xr-x  3 root  wheel   1024   6/20 00:00 ..
-rw-r--r--  1 root  wheel   1467   6/20 00:11 eden.hayagui.com_1-day.png
-rw-r--r--  1 root  wheel   1391   6/20 00:11 eden.hayagui.com_1-month.png
-rw-r--r--  1 root  wheel   1460   6/20 00:11 eden.hayagui.com_1-week.png
-rw-r--r--  1 root  wheel   1726   6/20 00:11 eden.hayagui.com_1-year.png
-rw-r--r--  1 root  wheel   8178   6/20 00:11 eden.hayagui.com_1.html
-rw-r--r--  1 root  wheel  47658   6/20 00:11 eden.hayagui.com_1.log
このファイルをブラウザから見ると、こんな感じになります。

mrtg

この画像は、cron で5分ごと動かした状態です。

mrtg は、daemon ではないので、cron で動かします。

eden# crontab -e
以下の内容を追加します。私は 5分ごとにしました。
*/5 * * * *     /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg

戻る



(C)1999 - 2002 Kenji Ito All rights reserved.