August 05, 2003

MRTGインストールメモ

MRTGインストールメモ

AWstatsが面白かったので調子に乗ってMRTGもいれてみる。

/etc/rc.confを書き換えてからリブートしてないのでホスト名が変なのはご愛敬^^;

環境
FreeBSD 4.6.2 + Apache 2.0.44 + Perl 5.8.0 + net-snmp-5.0.3 + MRTG 2.9.18pre11


◆snmpのインストール

portsのFTPからインストールしようとしたら
FreeBSD 4.6.2だとINDEXがないと言われる。もう4.6.2は古いのか・・。いずれバージョンアップしなきゃ^^;

仕方ないので拾ってくる。

$ wget ftp://ftp.jp.freebsd.org/pub/FreeBSD/releases/i386/4.7-RELEASE/packages/net/net-snmp-5.0.3_2.tgz
$ pkg_add net-snmp-5.0.3_2.tgz
$ rehash


portsから入れたのはいいけどsnmpd.confのサンプルがないことに気づく。
HDDが4.3GBしかないからportsは入っていないのだ。
・・・仕方ないからソースを持ってくる。なんかあほらしいが^^;

$ cd /usr/local/src/
$ fetch http://flow.dl.sourceforge.net/sourceforge/net-snmp/net-snmp-5.0.3.tar.gz
$ tar zxvf net-snmp-5.0.3.tar.gz
$ cp /usr/local/src/net-snmp-5.0.3/EXAMPLE.conf.def /usr/local/src/
$ cd /usr/local/share/snmp/
$ cp EXAMPLE.conf.def snmpd.conf
$ chmod 600 snmpd.conf


snmpd.confを編集する。コミュニティ名をデフォルトから変更。
192.168.0.0/24ネットワークからの利用を想定。

$ vi snmpd.conf
# sec.name source community
#com2sec local localhost COMMUNITY
com2sec local localhost GILGAMESH
#com2sec mynetwork NETWORK/24 COMMUNITY
com2sec mynetwork 192.168.0.0/24 GILGAMESH


プロセス確認。設定ファイル読み直し。

$ ps -auxw | grep snmp
$ kill -HUP プロセスID


snmpがちゃんと喋るか確認・・・・OK。

$ snmpwalk -v 1 -c GILGAMESH localhost system

SNMPv2-MIB::sysDescr.0 = STRING: FreeBSD perl.zive.net 4.6.2-RELEASE FreeBSD 4.6.2-RELEASE #0: Wed A i386
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.255
SNMPv2-MIB::sysUpTime.0 = Timeticks: (28345514) 3 days, 6:44:15.14
SNMPv2-MIB::sysContact.0 = STRING: Me
SNMPv2-MIB::sysName.0 = STRING: perl.zive.net
SNMPv2-MIB::sysLocation.0 = STRING: Right here, right now.
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.4 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.6 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.7 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.8 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.9 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB module to describe generic objects for network interface sub-layers
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.3 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORDescr.7 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.8 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.9 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (5) 0:00:00.05
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (8) 0:00:00.08


◆MRTGのインストール

ソースからのインストールはまたしてもうまくいかなかったので
諦めてportsから入れる。依存関係もはいるので簡単。
※今思えばgd-2.0.x系を入れたのが失敗した原因っぽい。1.8.xでないとだめ。

$ /stand/sysinstall

$ ※netのmrtg

・MRTGの設定。

cfgmakerで設定ファイルを作る

$ cd /usr/loca/bin/


$ ./cfgmaker GILGAMESH@home.teachat.org >> /usr/local/etc/mrtg/mrtg.cfg
Can't locate MRTG_lib.pm in @INC (@INC contains: /usr/local/bin/../lib/mrtg2 /usr/local/bin /usr/local/lib/perl5/5.8.0/i386-freebsd /usr/local/lib/perl5/5.8.0 /usr/local/lib/perl5/site_perl/5.8.0/i386-freebsd /usr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/perl5/site_perl .) at ./cfgmaker line 44.
BEGIN failed--compilation aborted at ./cfgmaker line 44.


ありゃ。Perlモジュールがないとな。調べてみるとソースに入ってるので

$ vi cfgmaker


下記を追加
use lib "/usr/local/src/mrtg-2.9.29/lib/mrtg2/";


再度。

$ ./cfgmaker GILGAMESH@home.teachat.org >> /usr/local/etc/mrtg/mrtg.cfg

--base: Get Device Info on GILGAMESH@home.teachat.org:
--base: Vendor Id:
--base: Populating confcache
--snpo: confcache GILGAMESH@home.teachat.org: Descr rl0 --> 1
--snpo: confcache GILGAMESH@home.teachat.org: Descr lp0 --> 2
--snpo: confcache GILGAMESH@home.teachat.org: Descr lo0 --> 3
--snpo: confcache GILGAMESH@home.teachat.org: Descr ppp0 --> 4
--snpo: confcache GILGAMESH@home.teachat.org: Descr sl0 --> 5
--snpo: confcache GILGAMESH@home.teachat.org: Descr faith0 --> 6
--snpo: confcache GILGAMESH@home.teachat.org: Ip 127.0.0.1 --> 3
--snpo: confcache GILGAMESH@home.teachat.org: Ip 192.168.0.3 --> 1
--snpo: confcache GILGAMESH@home.teachat.org: Type 6 --> 1
--snpo: confcache GILGAMESH@home.teachat.org: Type 34 --> 2
--snpo: confcache GILGAMESH@home.teachat.org: Type 24 --> 3
--snpo: confcache GILGAMESH@home.teachat.org: Type 23 --> 4
--snpo: confcache GILGAMESH@home.teachat.org: Type 28 --> 5
--snpo: confcache GILGAMESH@home.teachat.org: Type 56 --> 6
--base: Get Interface Info
--base: Walking ifIndex
--base: Walking ifType
--base: Walking ifSpeed
--base: Walking ifAdminStatus
--base: Walking ifOperStatus


入ったみたい。
mrtg.cfg の編集。かなりいい加減。
growrightを指定しないと時系列が左向きになるので気持ち悪い。

$ mkdir /usr/local/apache2/htdocs/mrtg
$ cd /usr/local/etc/mrt

$ vi mrtg.cfg
WorkDir: /usr/local/apache2/htdocs/mrtg
Refresh: 600
Language: eucjp
Options[_]: growright, bits


画像をコピー
$ cp /usr/local/share/mrtg/* /usr/local/apache2/htdocs/mrtg/


MRTGの実行
$ /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
Can't locate MRTG_lib.pm in @INC (@INC contains: /usr/local/bin/../lib/mrtg2 /usr/local/bin /usr/local/lib/perl5/5.8.0/i386-freebsd /usr/local/lib/perl5/5.8.0 /usr/local/lib/perl5/site_perl/5.8.0/i386-freebsd /usr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/perl5/site_perl .) at /usr/local/bin/mrtg line 59.
BEGIN failed--compilation aborted at /usr/local/bin/mrtg line 59.



また出た。仕方ないのでパスを通す。

$ vi /usr/local/bin/mrtg
use lib "/usr/local/src/mrtg-2.9.29/lib/mrtg2/";


再度実行。ワーニングは初期実行時のみのもので無視していいらしい。
$ /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
Rateup WARNING: /usr/local/bin/rateup could not read the primary log file for home.teachat.org_1
Rateup WARNING: /usr/local/bin/rateup The backup log file for home.teachat.org_1 was invalid as well
Rateup WARNING: /usr/local/bin/rateup Can't remove home.teachat.org_1.old updating log file
Rateup WARNING: /usr/local/bin/rateup Can't rename home.teachat.org_1.log to home.teachat.org_1.old updating log file


確認。
http://192.168.0.3/mrtg/home.teachat.org_1.html

おおっ。出た出たー。

cronを設定。

$ vi /etc/crontab
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg



取りあえず動いたので満足。(^-^)
細かい設定はまた今度にしよう。


※参考URL
http://yassu.no-ip.com/linux/mrtg.htm
http://www.hayagui.com/snmp_mrtg.html
http://www.zdnet.co.jp/help/howto/linux/0007master/06/
http://medqa.net/install/
http://www.mrtg.jp/doc/unix-guide.html
http://www.mediaweb.biz/database/cobalt_tips/cobalt_mrtg.html
http://www.lint.ne.jp/~tomo/server/snmp/rh80-snmpd.html

この記事へのトラックバックURL

http://app.blog.livedoor.jp/cpiblog00035/tb.cgi/4103680