CodeZine(コードジン)

特集ページ一覧

net-snmpについて(機器監視)

net-snmpによる機器監視の具体的な方法について

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/09/10 14:00

目次

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:net-snmpについて

著者プロフィール

  • 赤松 エイト(エイト)

    (株)DTSに勤てます。 WebアプリやJavaやLL等の上位アプリ環境を密かに憧れつつも、ず~っとLinuxとかHP-UXばかり、ここ数年はカーネル以上アプリ未満のあたりを行ったり来たりしています。 mixiもやってまして、こちらは子育てとか日々の日記メインです。

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5