イメージ
snmptrap -v <SNMPのバージョン> -c <コミュニティ名> <NMSのホスト名> <enterprise OID> \
<送信元のホスト名> <一般トラップ番号> <固有トラップ番号> <発生時刻> \ [<OID> <タイプ> <値>] [<OID> <タイプ> <値>] ...
- v SNMPのバージョン。1/2 のときとそれ以外とで引数は全然違う
- c コミュニティ名。デフォルトはpublic
NMS>
ネットワーク管理ステーション SNMPの管理や閲覧をしたりするホスト。マネージャ。
enterpriseOID>
.1.3.6.1.4.1 プライベートなOIDの元 .1.3.6.1.4.1.<エンタープライズナンバー>.<トラップの番号>.<トラップの番号> トラップの番号は階層を自分で勝手に作ることができる
一般トラップ番号>
0~5が一般トラップ番号。6は固有トラップ番号というしるし。
固有トラップ番号>
一般トラップ番号が6のときに設定する、ユーザが勝手に決めれるトラップ番号。 一般とラップ番号が6でないときは 0にしておく
発生時刻>
空を指定することで現在時刻に
OID>
オブジェクト識別子。 SNMPのデータの種類についてる(つける)一意な番号。
$ snmptrap -v 1 -c securecom 192.168.1.213 1.3.6.1.4.1.2021 192.168.1.213 6 99 '' 1.3.6.1.4.1.2021 s 'snmptrap test'
参考
@IT:監視を自動化するSNMP(1)
http://www.atmarkit.co.jp/fnetwork/rensai/snmp01/01.html
[Linux] Net-SNMP を使って SNMP Trap を Syslog に吐き出す設定
http://blogs.sqlpassj.org/yamaken/archive/2004/07/30/3584.aspx
Net-SNMP FAQ(How do I send traps and notifications?)
http://net-snmp.sourceforge.net/FAQ.html#How_do_I_send_traps_and_notifications_
SNMPによるネットワークシステムの監視第1回:SNMPの基礎
https://www.stackasterisk.jp/tech/systemManagement/snmp01_01.jsp
トラップ通知
http://jp.bea.com/e-docs/wls61/snmpman/snmptraps.html
/etc/snmptrapd.conf
snmp におけるサーバ側インタフェースは
snmptrapd.conf の設定項目(トラップハンドルプログラム)に連動して実行される。
---- snmptrapd.conf ----
#
net-snmp (or ucd-snmp) persistent data file.
#
Please save normal configuration tokens for snmptrapd in SNMPCONFPATH/snmptrapd.conf.
Only "createUser" tokens should be placed here by snmptrapd administrators.
#
engineBoots 179
oldEngineID 0x800007e58005d34a6510335a3e
engineBoots 175 oldEngineID 0x800007e58005d34a6510335a3e
起動時に自動構成されるのでこのままにしておくことv
#
add configration for trap-interface
#サーバ側トラップインタフェース
traphandle SNMPv2-MIB::coldStart /root/bin/trap.sh 1
traphandle SNMPv2-MIB::warmStart /root/bin/trap.sh 2
traphandle IF-MIB::linkDown /root/bin/trap.sh 3
traphandle IF-MIB::linkUp /root/bin/trap.sh 4
traphandle default /root/bin/trap.sh 999
OID+プログラム名+引数を記述
snmptrap -v 2c -c "" servername "" SNMPv2-MIB::coldStart
直後に SNMPv2-MIB::coldStart を subject とするサーバからのメールが受信できればOKである。
メールフォーマット
DATE: 2003/10/31 18:48:27
HOSTNAME: localhost.localdomain
IP: 127.0.0.1
SNMPv2-MIB::coldStart
crontab への登録と定常監視
---- load_avarage_watch.sh ----
#!/bin/bash
snmpwalk -v 2c localhost -c public .1.3.6.1.4.1.2021.10 | grep laLoad.3 | awk '{pront $4}' >> laLoad3.dat
cron に呼ばれるたびに過去15分ごとの負荷平均を切り出して laLoad3.dat にデータを追加してゆく。
load_avarage_watch.sh を /root/bin に置き、cron に10分ごとに実行させるには crontab -e を実行して
crontab -e
*/10 * * * * /root/bin/load_avarage_watch.sh