測定対象となる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
/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
このファイルをブラウザから見ると、こんな感じになります。
この画像は、cron で5分ごと動かした状態です。
mrtg は、daemon ではないので、cron で動かします。
eden# crontab -e
以下の内容を追加します。私は 5分ごとにしました。
*/5 * * * * /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg