※インストールについては、各ディストリビューションに依存するので割愛
とりあえず、動かせるようになったならば、/etc/snmp/snmptrapdを編集する
が、とりあえず、以下を記述すれば、メールは飛ぶようになる。
traphandle default /usr/bin/traptoemail -f <メールのfrom> -s
※manページより
traphandle OID|default PROGRAM [ARGS ...]
traphandleはtrapを受けたら行う動作の指定
defaultだとtrapの種類によらず、PROGRAMを実行する。
OIDを指定すれば、そのOIDの種類によってPROGRAMの実行を分けることができる。
たとえば、上記のようにdefaultを記述しておけば、問答無用に/usr/bin/traptoemailを実行するわけ。
/usr/bin/traptoemailはsnmp-utilパッケージに付随する、標準出力をメールに整形して送付するプログラムというかPerlスクリプト。
とりあえずdefaultを設定すればおkだが、TRAPによってはメールを送付したくないとか、他の動作をさせたい場合、以下のようにOIDを個別に指定すればよい。
traphandle FOUNDRY-SN-TRAP-MIB::snTrapL4RealServerPortDown /root/bin/output_null.sh
これはOID=FOUNDRY-SN-TRAP-MIB::snTrapL4RealServerPortDownの場合、/root/bin/output_null.shを実行するというもの。
output_null.shは標準入力を/dev/nullに捨てるプログラム。
ちなみに、OIDはMIBを指定できるし、もしMIBファイルがない場合は数値でもおk(なはず)。。。
・snmptrapdの起動オプションについて
/etc/init.d/snmptrapdのデフォルトのオプションは以下のようになっていた。
-Lsd -p /var/run/snmptrapd.pid
-Lsdは
-L[efos]
Specify where logging output should be directed (standard error
or output, to a file or via syslog). See LOGGING OPTIONS in
snmpcmd(1) for details.
This option deprecates the -l -o -P and -s options.
つまり、ログ出力のオプション
ここではLsdと指定しているので、snmpcmdのmanによると、
-Ls FACILITY
Log messages via syslog, using the specified facility ('d' for
LOG_DAEMON, 'u' for LOG_USER, or '0'-'7' for LOG_LOCAL0 through
LOG_LOCAL7).
ということになり、LOG_DAEMONファシリィティで出力する。
-p /var/run/smtptrapd.pidはPIDファイルを作成する。
/etc/init.d/snmptrapdの中で、STOP時にPIDを参照するようになっているので、これは必修。
で、今回はOIDのFOUNDRY-SN-TRAP-MIB::snTrapL4RealServerPortDownで、後半部分だけほしかったので、-Osを追加
OPTIONS="-Lsd -Os -p /var/run/snmptrapd.pid"
→なぜなら、送付メールにそのまま出ると件名が長くてうざいから(;><)
てな感じで、とりあえず運用してみる。
時間があれば、ちょこちょこといじってみるつもり。
0 件のコメント:
コメントを投稿