10月 22

net-snmp インストール

By ststyle Watch, net-snmp コメントは受け付けていません。

SNMPのインストール

「SNMP」とは「Simple Network Management Protocol」の略でルータやコンピュータなどの
様々な機器を監視、制御するためのプロトコルです。

SourceForgetから
net-snmp-5.1.2.tar.gzをDLします

http://sourceforge.net/project/showfiles.php?group_id=12694


$ tar xvzf net-snmp-5.4.1.2.tar.gz
$ cd net-snmp-5.4.1.2
$ ./configure
$ make
$ su
# make install

./configureの途中でSNMPのバージョンを

一番最初に問われるので ” v2 “ と入力し、(Enterでも良いです)
あとは全てEnterですっ飛ばします。

SNMP設定

デーモンの設定を行います

デフォルトの設定をコピーして、編集します。
編集すべき部分を矢印で示しますので、変更してください。


# cp EXAMPLE.conf /usr/local/share/snmp/snmpd.conf
# vi /usr/local/share/snmp/snmpd.conf

####
# First, map the community name (COMMUNITY) into a security name
# (local and mynetwork, depending on where the request is coming
# from):

# sec.name source community
→  com2sec local localhost private
→  #com2sec mynetwork XXX.XXX.XXX.0/24 public

####
# Second, map the security names into group names:

# sec.model sec.name
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
group MyROGroup v1 local
group MyROGroup v2c local
group MyROGroup usm local

####
# Third, create a view for us to let the groups have rights to:

# incl/excl subtree mask
view all included .1 80

####
# Finally, grant the 2 groups access to the 1 view with different
# write permissions:

# context sec.model sec.level match read write notif
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none

###################################
# System contact information
#

# It is also possible to set the sysContact and sysLocation system
# variables through the snmpd.conf file. **PLEASE NOTE** that setting
# the value of these objects here makes these objects READ-ONLY
# (regardless of any access control settings). Any attempt to set the
# value of an object whose value is given here will fail with an error
# status of notWritable.

syslocation Right here, right now.
→  syscontact admin <admin@server.jp>

一番下に書いたsyscontactは各自、管理用のユーザ・アドレスに置き換えてください。

起動スクリプトの作成

「/etc/init.d/snmpd」として保存してください。


vi /etc/init.d/snmpd

#!/bin/bash
# ucd-snmp init file for snmpd
#
# chkconfig: - 50 50
# description: Simple Network Management Protocol (SNMP) Daemon
#
# processname: /usr/local/sbin/snmpd
# config: /usr/local/share/snmp/snmpd.conf
# pidfile: /var/run/snmpd

# source function library
. /etc/init.d/functions

OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd -a"
RETVAL=0
prog="snmpd"

start() {
echo -n $"Starting $prog: "
if [ $UID -ne 0 ]; then
RETVAL=1
failure
else
daemon /usr/local/sbin/snmpd $OPTIONS
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/snmpd
fi;
echo
return $RETVAL
}

stop() {
echo -n $"Stopping $prog: "
if [ $UID -ne 0 ]; then
RETVAL=1
failure
else
killproc /usr/local/sbin/snmpd
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/snmpd
fi;
echo
return $RETVAL
}

reload(){
echo -n $"Reloading $prog: "
killproc /usr/local/sbin/snmpd -HUP
RETVAL=$?
echo
return $RETVAL
}

restart(){
stop
start
}

condrestart(){
[ -e /var/lock/subsys/snmpd ] && restart
return 0
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
condrestart
;;
status)
status snmpd
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
RETVAL=1
esac

exit $RETVAL

(アンパサンド書き換えて三箇所)

権限付与と自動起動の設定

# cd /etc/init.d
# chmod 755 snmpd
# chkconfig --add snmpd
# chkconfig --level 2345 snmpd on

SNMPの実行


/etc/init.d/snmpd start
Tagged with:
10月 21

MRTG インストール

By ststyle MRTG, Watch コメントは受け付けていません。

MRTGについて

CPU、ネットワーク、メモリ、HDD空き容量などの状態をグラフで視覚的に表すもの。
どれくらいの負荷がかかっているかの統計を取ることが出来ます。
ここではCPU、ネットワーク、メモリの3通り。

事前にnet-snmpをインストールする事

MRTGのインストール

ここから本体をDLします。

http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/

このまま、普段の要領でインストールする訳ですが、

ちょこっと環境変数を指定してあげます


$ cd /usr/local/src
$ tar xzvf mrtg-2.16.2.tar.gz
$ cd mrtg-2.16.2
$ LDFLAGS=-lVFlib2
./configure
$ make ($ su)
# make install

MRTGの設定

ネット上にいろいろありましたが環境のあわないものもありますので
ネットワーク、CPU、メモリを表示する設定ファイルのサンプルを書きます。
また、表示に使う画像類を出すために以下のコマンドを。


# mkdir /home/XXXX/htdocs/mrtg
# cp -r images/ /home/XXXX/htdocs/mrtg/

基本的にそのままコピーして使えます。
主な変更箇所は
・「SetEnv」の192.168.0.2をサーバのIPに
・MaxBytes1[memory]: 45808
MaxBytes2[memory]: 196552
実メモリとSWAPは「free」とコマンドをうつと出てくるので当てはめてください

ページタイトルなどは自由に変更してOKです。

257460
530104


vi /usr/local/bin/mrtg.cfg

# MRTG configuration
# Template file made by SCN, http://www.scne.jp/

Imagedir: /home/XXXX/htdocs/mrtg/images
IconDir: images

# 300秒、つまり5分ごとに自動でリロード
Refresh: 300
# 日本語出力
Language: eucjp

# 統計グラフを設置する場所
WorkDir: /home/XXXXX/htdocs/mrtg

# Traffic status
Target[traffic]: 2:private@localhost:
SetEnv[traffic]: MRTG_INT_IP="10.0.21.111" MRTG_INT_DESCR="eth0"
MaxBytes[traffic]: 1250000
Title[traffic]: Traffic Analysis
PageTop[traffic]: <H1>Traffic Analysist</H1>

# CPU Load
Target[cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:private@localhost
MaxBytes[cpu]: 100
Unscaled[cpu]: dwmy
Options[cpu]: gauge, absolute, growright, noinfo, nopercent
YLegend[cpu]: CPU Load(%)
ShortLegend[cpu]: (%)
LegendI[cpu]: 1分間平均
LegendO[cpu]: 5分間平均
Legend1[cpu]: 1分間平均(%)
Legend2[cpu]: 5分間平均(%)
Title[cpu]: CPU Load
PageTop[cpu]: <H1>CPU Load Average</H1>

#Memory free
Target[memory]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:private@localhost
MaxBytes1[memory]: 958668
MaxBytes2[memory]: 2097144
Unscaled[memory]: dwmy
Options[memory]: gauge, absolute, growright, noinfo
YLegend[memory]: Mem Free(Bytes)
ShortLegend[memory]: Bytes
kilo[memory]: 1024
kMG[memory]: k,M,G,T,P
LegendI[memory]: Real
LegendO[memory]: Swap
Legend1[memory]: 空き物理メモリ[MBytes]
Legend2[memory]: 空きスワップメモリ[MBytes]
Title[memory]: Memory Free
PageTop[memory]: <H1>Memory Free</H1>

#Disk Used
Target[disk]: .1.3.6.1.4.1.2021.9.1.9.1&.1.3.6.1.4.1.2021.9.1.9.1:private@localhost
MaxBytes[disk]: 100
Unscaled[disk]: dwmy
Options[disk]: gauge, absolute, growright, nopercent, noinfo
YLegend[disk]: Disk Used(%)
ShortLegend[disk]: (%)
LegendI[disk]: / Disk used
LegendO[disk]: / Disk Used
Legend1[disk]: / Disk used
Legend2[disk]: / Disk used
Title[disk]: ディスク使用率
PageTop[disk]: <H1>Disk Used</H1>

試しに実行してみます


# /usr/local/mrtg-2/bin/mrtg /usr/local/bin/mrtg.cfg

3回ほどWARNINGで「リネームできない」とか「過去の結果を読み込めない」とか言われますが無視してください。

次に、1個1個に参照がめんどいのでindex化します


# cd /usr/local/bin/
# /usr/local/mrtg-2/bin/indexmaker mrtg.cfg >> /home/XXXXX/htdocs/mrtg/index.html

これで http://localhost/mrtgですべての情報を一括で見れるようになります。

ページタイトルとかの編集


vi /home/sv01/htdocs/mrtg/index.html

<title>**********</title>
<H1>**********</H1>

あとは、定期的にデータを収集するようにCronに追記して完成!


# crontab -e

#-------------------
### Traffic MRTG ###
#-------------------
0-59/5 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/bin/mrtg.cfg

ブラウザへアクセスするとこんな感じでモニターできます。

mrtg

mrtg-02

Tagged with:
preload preload preload