5. 機器監視(2/4):memory,extTable等
5.2 memory(OID .1.3.6.1.4.1.2021.4)
監視対象ノードのメモリ情報を取得できます。snmpd.confへ設定が必要な情報はありません。主に、/proc/meminfoファイルをcatしているだけだと思います。
% snmpwalk -v 2c -c localcom localhost memory
UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
↑ 0固定
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
↑ "swap"固定
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 1048568 kB
↑ swap総量
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 1048568 kB
↑ swap使用可能量
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 515224 kB
↑ 物理メモリ総量
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 121248 kB
↑ 物理メモリ使用可能量
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 1169816 kB
↑ 総使用可能量(memAvailSwap+memAvailReal)
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB
↑ 最低swap量の閾値
UCD-SNMP-MIB::memShared.0 = INTEGER: 0 kB
↑ 共有メモリ量
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 46872 kB
↑ バッファメモリ量
UCD-SNMP-MIB::memCached.0 = INTEGER: 223184 kB
↑ キャッシュメモリ量
UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0)
↑ memMinimumSwap > memAvailSwap の時、1になる。
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING:
↑ memSwapError == 1 の時のメッセージ
%
5.3 extTable(OID .1.3.6.1.4.1.2021.8)
指定されたコマンドの実行、および結果の取得を行います。下記の記述を、snmpd.conf に記述後、snmpdを再起動します。
exec uname /bin/uname -r <- unameという名称でコマンド登録 exec cat /bin/cat /etc/redhat-release <- catという名称でコマンド登録 % service snmpd restart
% snmpwalk -v 2c -c localcom localhost extTable
UCD-SNMP-MIB::extIndex.1 = INTEGER: 1
↑ リファレンス値:1
UCD-SNMP-MIB::extIndex.2 = INTEGER: 2
↑ リファレンス値:2
UCD-SNMP-MIB::extNames.1 = STRING: uname
↑ :1のコマンド名
UCD-SNMP-MIB::extNames.2 = STRING: cat
↑ :2のコマンド名
UCD-SNMP-MIB::extCommand.1 = STRING: /bin/uname
↑ :1の実コマンド
UCD-SNMP-MIB::extCommand.2 = STRING: /bin/cat
↑ :2の実コマンド
UCD-SNMP-MIB::extResult.1 = INTEGER: 0
↑ :1のコマンドの戻り値
UCD-SNMP-MIB::extResult.2 = INTEGER: 0
↑ :1のコマンドの戻り値
UCD-SNMP-MIB::extOutput.1 = STRING: 2.6.23.17-88.fc7
↑ :1のコマンドの出力結果
UCD-SNMP-MIB::extOutput.2 = STRING: Fedora release 7 (Moonshine)
↑ :2のコマンドの出力結果
UCD-SNMP-MIB::extErrFix.1 = INTEGER: noError(0)
↑ 5.8章にて解説
UCD-SNMP-MIB::extErrFix.2 = INTEGER: noError(0)
↑ 5.8章にて解説
UCD-SNMP-MIB::extErrFixCmd.1 = STRING:
↑ 5.8章にて解説
UCD-SNMP-MIB::extErrFixCmd.2 = STRING:
↑ 5.8章にて解説
%
実行すると、確かに/bin/uname -rおよび/bin/cat /etc/redhat-releaseの実行結果が帰ってきています。
5.4 dskTable(OID .1.3.6.1.4.1.2021.9)
指定されたパスが存在するディスクの容量を取得します。閾値を設定しそれ以下の容量になるとエラーを返すこともできます。下記の記述を、snmpd.conf に記述後、snmpdを再起動します。
disk / 102400 <- '/'にマウントされたディスク情報の取得 % service snmpd restart
% snmpwalk -v 2c -c localcom localhost dskTable
UCD-SNMP-MIB::dskIndex.1 = INTEGER: 1
↑ リファレンス値:1
UCD-SNMP-MIB::dskPath.1 = STRING: /
↑ 調査対象パス
UCD-SNMP-MIB::dskDevice.1 = STRING: /dev/mapper/VolGroup00-LogVol00
↑ 調査対象のデバイス
UCD-SNMP-MIB::dskMinimum.1 = INTEGER: 102400
↑ 閾値(数値)
UCD-SNMP-MIB::dskMinPercent.1 = INTEGER: -1
↑ 閾値(割合)
UCD-SNMP-MIB::dskTotal.1 = INTEGER: 6951280
↑ 使用中ブロック
UCD-SNMP-MIB::dskAvail.1 = INTEGER: 3331324
↑ 使用可能ブロック
UCD-SNMP-MIB::dskUsed.1 = INTEGER: 3261148
↑ 全ブロック
UCD-SNMP-MIB::dskPercent.1 = INTEGER: 49
↑ 使用中ディスクの割合
UCD-SNMP-MIB::dskPercentNode.1 = INTEGER: 9
↑ 使用中iNodeの割合
UCD-SNMP-MIB::dskErrorFlag.1 = INTEGER: noError(0)
↑ エラーフラグ(閾値超え)
UCD-SNMP-MIB::dskErrorMsg.1 = STRING:
↑ エラーメッセージ
%
上記が取得できた情報ですが、df -kおよびdf -iコマンドと同様の情報を返しているようです。
% df -k /
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
6951280 3261148 3331324 50% /
% df -i /
Filesystem Iノード I使用 I残り I使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
1795200 153728 1641472 9% /
