NET-SNMP
* オープンソースのSNMP開発キット
ダウンロード
http://sourceforge.net/project/showfiles.php?group_id=12694&package_id=162885設定
http://www.nognog.com/techmemo/NET-SNMP_Win32_Install_HOWTO.phpを参考に行うのがいい。以下の5ステップを行う。 (1) インストール(普通にできるので省略) (2) 「snmpd.conf」の設置 (3) Windowsサービスへの登録 (4) サービスの起動 (5) 動作確認(オプション)
「snmpd.conf」の設置
[1] [スタート]-[プログラム]-[Net-SNMP]-[Net-SNMP Help]を選択 [2] [検索]タグを選択し、「conf」で検索する [3] 検索結果一覧の中に「EXAMPLE.win32」を選択し、全て内容をコピーしてメモ帳へ貼り付ける [4] メモ帳の内容を以下のように修正(2か所) ■修正1 【修正前】 com2sec local localhost COMMUNITY com2sec mynetwork NETWORK/24 COMMUNITY 【修正後】 com2sec local localhost public com2sec mynetwork 0.0.0.0/0 public ■修正2 【修正前】 syslocation Right here, right now. syscontact Me <me@somewhere.org> 【修正後】 syslocation Anywhere, JAPAN. syscontact Administrator <me@somewhere.org> [5] 「C:\usr\etc\snmp\snmpd.conf」として保存
Windowsサービスへの登録
[1] [スタート]-[プログラム]-[Net-SNMP]-[Service]-[Register Agent Service]を選択 (※トラブルシューティング【1】を参照のこと)
サービスの起動
[1] [スタート]-[ファイル名を指定して実行]を選択 [2] 「%SystemRoot%\system32\services.msc /s」を実行 [3] 「Net-SNMP Agent」を右クリックし、「開始」 (※トラブルシューティング【2】を参照のこと)
動作確認
[1] [スタート]-[ファイル名を指定して実行]を選択 [2] 「cmd」を実行し、コマンドプロンプトを立ち上げる [3] 「cd c:\usr\bin\」に移動 [4] 「snmpwalk -v 1 -c public localhost」を実行 =>「SNMPv2-MIB::・・・」って表示されたらOK
参考資料
http://zumikurashi.blogspot.jp/2010/11/net-snmp.htmlhttp://codezine.jp/article/detail/2830
snmptrapd
* SNMPトラップを受け取るためのもの
snmptrapd.conf の設置
* 「C:\usr\etc\snmp\snmptrapd.conf」として保存
構文
authCommunity 【TRAP を受信したときの挙動】 【コミュニティ名】 ※「TRAP を受信したときの挙動」について ・execute:コマンドの実行 ・log :ログ出力 ・net :TRAPの転送 traphandle 【トラップOID】 【プログラム名】 ※「トラップOID」について トラップOID に「default」を指定すると、全ての TRAPを対象とする
サンプル
authCommunity log,execute,net public
参考資料
http://wiki.livedoor.jp/engineernochiebukuro/d/TRAP%20%A4%F2%BC%F5%BF%AE%A4%B9%A4%EB%A4%CB%A4%CFコマンド
snmptrapコマンド:送信
サンプル
snmptrap -v 2c -c public 127.0.0.1 "" .1.3.6.1.6.3.1.1.5.100 ・「-v 2c」:SNMP Version ・「-c public」:trap用コミュニティ名 ・「127.0.0.1」:trapの送信先 ・「""」:uptime(時刻)。これは省略。 ・「.1.3.6.1.6.3.1.1.5.100」:トラップのOID
構文
snmptrap [OPTION] uptime trap-oid [OID TYPE VALUE]
参考文献
http://www.itmedia.co.jp/enterprise/articles/0705/31/news042_4.htmlhttp://yosilove.blogspot.jp/2012_09_01_archive.html
http://d.hatena.ne.jp/minsaa/20070228/1172640388
snmptrapdコマンド:受信
snmpgetコマンド
■例1:ホスト名を取得 snmpget -v 1 -Os -c public localhost 1.3.6.1.2.1.1.5.0
参考資料
http://baalzephon.dyndns.org/tech/index.php?net-snmphttp://msmania.wordpress.com/2010/11/07/windows-server-%E3%81%AE-snmp-%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E6%A9%9F%E8%83%BD%E3%81%A8-net-snmp-%E3%81%AE%E9%80%A3%E6%90%BA-part3/
http://haginov.blog35.fc2.com/category4-1.html
トラブルシューティング
【1】「Can't open SCM(Seervice Control Manager):アクセスが拒否されました」
現象
* Windows7において、Windowsサービスへの登録で、「Can't open SCM(Seervice Control Manager):アクセスが拒否されました」が表示され、登録できない
解決策
* [Register Agent Service]を右クリックし、「管理者として実行」で解決
【2】「エラー1067 プロセスを途中で強制終了しました」
現象
* Windows7において、「Net-SNMP Agent」を「開始」した後に、「エラー1067 プロセスを途中で強制終了しました」が表示され、開始されない * Windows Server(64Bit)で、「error1067 the process terminated unexpectedly」が表示された
解決策
* 「SNMP サービス」「SNMP トラップ」を停止させてから、開始してみる