CodeZine(コードジン)

特集ページ一覧

net-snmpについて(独自監視項目の追加) - 後編

net-snmpによる拡張MIBの設定方法について(後編)

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

ダウンロード snmp_mibfile_2nd.lzh (4.5 KB)

目次

実行・動作確認

7.8 実行方法

 get-requestの方法については既に7.7章でsnmpwalkを使用しているのでお分かりかと思います。mtuObject1はpid(プロセス番号)、タイマーの状態とカウンタ値、トラップの状態と自OIが呼ばれた回数を返します。

 mtuObject2は自OIが呼ばれた回数のみ返しています。mtuTrapはトラップの状態、mtuTimerはタイマーの状態を返します。

注意事項
 net-snmpの他のバージョンでは確認してませんが、サブエージェントを使用してsmpwalkを行うと、先頭のOIは一回しか呼ばれないのに、二番目以降のOIは二度呼ばれているようです。
これは呼ばれた回数で処理を変えるようなエージェントを作成する場合、対処が非常に困難だと思われます。
共有ライブラリや snmpd組み込みによる方法でsnmpwalkを試しても問題無かったことから、これはバグだと思われます。 
暫定対処として、snmpwalkではなくsnmpgetを利用します。

 set-requestは、mtuTrapおよびmtuTimerに対して、下記のように実行できます。どちらも数値の0か1のみを許容し、それ以外はエラーを返します。

 mtuTrapは、状態が"OFF"(0)の時に"ON"(1)がセットされた時、もしくは逆の時にTrapが飛び、状態が逆転します。状態の確認についてはmtuObject1を参照することで表示されます。

オペレーション
% snmpwalk -v 2c -c localcom localhost MATSU-TEST-MIB::mtuObject1.0
MATSU-TEST-MIB::mtuObject1.0 = STRING: matsutest1, pid:[16165] timer:OFF:[0] trap:OFF call_count:[9]
% snmpset -v 2c -c localcom localhost MATSU-TEST-MIB::mtuTrap.0 i 1
MATSU-TEST-MIB::mtuTrap.0 = INTEGER: on(1)
% snmpwalk -v 2c -c localcom localhost MATSU-TEST-MIB::mtuObject1.0
MATSU-TEST-MIB::mtuObject1.0 = STRING: matsutest1, pid:[16165] timer:OFF:[0] trap:ON call_count:[10]
%
% tail /var/log/snmpd.log
Aug 23 17:26:05 hb2-host5 snmptrapd[6184]: 2008-08-23 17:26:05 localhost.localdomain 
    [UDP: [127.0.0.1]:32803]: DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (261186) 
    0:43:31.86   SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises.12345.3.1    
    SNMPv2-SMI::enterprises.12345 = INTEGER: 7  SNMPv2-SMI::enterprises.12345 = STRING: "ON"

 mtuTimerは、状態が"OFF"(0)の時に"ON"(1)がセットされた時にタイマーが開始され、そのまま30秒経過するとTrapが飛び、"OFF"(0)になります。
タイマーカウントが30秒に達しないうちに中に"OFF"(0)がセットされると(つまりmtuTimerに対しsnmpsetで"OFF"が設定されると)、タイマーは中断し、カウンターも0に戻ります。状態確認についてはmtuTrap同様、mtuObject1を参照すれば分かります。

オペレーション
% snmpwalk -v 2c -c localcom localhost MATSU-TEST-MIB::mtuObject1.0
MATSU-TEST-MIB::mtuObject1.0 = STRING: matsutest1, pid:[16165] timer:OFF:[0] trap:ON call_count:[11]
% snmpset -v 2c -c localcom localhost MATSU-TEST-MIB::mtuTimer.0 i 1
MATSU-TEST-MIB::mtuTimer.0 = INTEGER: on(1)
% snmpwalk -v 2c -c localcom localhost MATSU-TEST-MIB::mtuObject1.0
MATSU-TEST-MIB::mtuObject1.0 = STRING: matsutest1, pid:[16165] timer:ON:[2] trap:ON call_count:[12]
%
% tail /var/log/snmpd.log
Aug 23 17:29:46 hb2-host5 snmptrapd[6184]: 2008-08-23 17:29:46 localhost.localdomain  
    [UDP: [127.0.0.1]:32803]: DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (283326)  
    0:47:13.26   SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises.12345.3.2  
    SNMPv2-SMI::enterprises.12345.2.2.0 = INTEGER: 31 SNMPv2-SMI::enterprises.12345.2.2.0 = STRING: 
    "matsutest1, pid:[16165] timer:ON:[2] trap:ON call_count:[12]"
%

  • 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