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% /