net-snmpを動かしてみる
(RedhatLinux8.0)Modified: 2 March 2003
RedhatLinux8.0には、最新のnet-snmpが入っているので、現在まだ奮闘中です。
各サーバーで、net-snmpdを動かします。
Webサーバーでは、mrtgを動かし、各サーバーの情報を得て、htmlファイルを作ります。
net-snmpのダウンロードからインストール (2 March 2003)
net-snmpのダウンロードからインストール ![]()
インストール
RedHatLinux8.0で、サーバーとしてインストールすると、net-snmp(net-snmp-5.0.1-6.i386.rpm)は、インストールされていますので、設定の変更だけで動作します。
最新版は、本家のページからダウンロードできます。
http://net-snmp.sourceforge.net/
net-snmpを起動する
Webminの「システム」、「起動とシャットダウン」から以下のように、snmpdを起動させます。
基本的("snmp.conf")設定をする
設定は、"/etc/snmp/snmp.conf"で行います。
存在しているファイルをリネームして、動作確認のため、新規に作成します。
# cd /etc/snmp
# mv snmp.conf snmp.conf.org動作確認のため、サーバーの負荷状況と、ディスク容量の監視をさせてみます。
以下のように、"/etc/snmp/snmp.conf"を新規に作成します。
load 2
disk /
サーバーの負荷状況
"load 2"は、以下のような"w"コマンドで得られる、"load average"の情報を元にしています。
$ w
8:34pm up 4 days, 5:13, 1 user, load average: 0.00, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
tomo pts/0 nw226.tomo.lint. 8:31pm 0.00s 0.21s 0.02s w
$"load 2"の値は、上記の"load average"は、"0.00"ですが、"2.00"を超えると警告するという設定です。
ディスク空き容量の状況
"disk /"は、以下のような"df"コマンドで得られる情報を元にしています。
$ df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sda1 9795908 1033212 8265088 12% /
none 63316 0 63316 0% /dev/shm
$
設定を有効にする
"ps ax"コマンドで、"snmp"のプロセス番号を確認し、"kill -HUP nnn"で、"snmp.conf"をリロードさせます。
$ ps ax
:
6920 ? S 0:00 /usr/sbin/snmpd -s -l /dev/null -P /var/run/snmpd -a
:
$ kill -HUP 6920
$
動作確認する
ホスト名("h73-94-web")を指定し、"public"に続いて、CPUの負荷状況を記録している、"laTable"を指定します。
以下のように、記録されていることが確認できます。(ずらずら出てくればとりあえずOKです)
# snmpwalk rh73-94-web public laTable
enterprises.ucdavis.laTable.laEntry.laIndex.1 = 1
enterprises.ucdavis.laTable.laEntry.laIndex.2 = 2
enterprises.ucdavis.laTable.laEntry.laIndex.3 = 3
enterprises.ucdavis.laTable.laEntry.laNames.1 = Load-1
enterprises.ucdavis.laTable.laEntry.laNames.2 = Load-5
enterprises.ucdavis.laTable.laEntry.laNames.3 = Load-15
enterprises.ucdavis.laTable.laEntry.laLoad.1 = 0.12
enterprises.ucdavis.laTable.laEntry.laLoad.2 = 0.03
enterprises.ucdavis.laTable.laEntry.laLoad.3 = 0.01
enterprises.ucdavis.laTable.laEntry.laConfig.1 = 2.00
enterprises.ucdavis.laTable.laEntry.laConfig.2 = 2.00
enterprises.ucdavis.laTable.laEntry.laConfig.3 = 2.00
enterprises.ucdavis.laTable.laEntry.laLoadInt.1 = 11
enterprises.ucdavis.laTable.laEntry.laLoadInt.2 = 2
enterprises.ucdavis.laTable.laEntry.laLoadInt.3 = 1
enterprises.ucdavis.laTable.laEntry.laLoadFloat.1 = Opaque: Float: 0.120000
enterprises.ucdavis.laTable.laEntry.laLoadFloat.2 = Opaque: Float: 0.030000
enterprises.ucdavis.laTable.laEntry.laLoadFloat.3 = Opaque: Float: 0.010000
enterprises.ucdavis.laTable.laEntry.laErrorFlag.1 = 0
enterprises.ucdavis.laTable.laEntry.laErrorFlag.2 = 0
enterprises.ucdavis.laTable.laEntry.laErrorFlag.3 = 0
enterprises.ucdavis.laTable.laEntry.laErrMessage.1 =
enterprises.ucdavis.laTable.laEntry.laErrMessage.2 =
enterprises.ucdavis.laTable.laEntry.laErrMessage.3 =
#ホスト名("h73-94-web")を指定し、"public"に続いて、ディスクの空き容量の状況を記録している、"dskTable"を指定します。
以下のように、記録されていることが確認できます。(ずらずら出てくればとりあえずOKです)
# snmpwalk rh73-94-web public dskTable
enterprises.ucdavis.dskTable.dskEntry.dskIndex.1 = 1
enterprises.ucdavis.dskTable.dskEntry.dskPath.1 = /
enterprises.ucdavis.dskTable.dskEntry.dskDevice.1 = /dev/sda1
enterprises.ucdavis.dskTable.dskEntry.dskMinimum.1 = 100000
enterprises.ucdavis.dskTable.dskEntry.dskMinPercent.1 = -1
enterprises.ucdavis.dskTable.dskEntry.dskTotal.1 = 9795908
enterprises.ucdavis.dskTable.dskEntry.dskAvail.1 = 8265044
enterprises.ucdavis.dskTable.dskEntry.dskUsed.1 = 1033256
enterprises.ucdavis.dskTable.dskEntry.dskPercent.1 = 11
enterprises.ucdavis.dskTable.dskEntry.dskPercentNode.1 = 6
enterprises.ucdavis.dskTable.dskEntry.dskErrorFlag.1 = 0
#