Linuxにインストールしているsnmptrapd(snmpトラップマネージャ)でsnmpトラップを受信した際に、指定のメールアドレスに通知する設定を行います。
snmptrapd の確認
利用するsnmptrapdは、net-snmp-5.5-41.el6.x86_64 に付属しているものになります。
# rpm -qf /usr/sbin/snmptrapd net-snmp-5.5-41.el6.x86_64 #
snmptrapd.conf の設定
/etc/snmp/snmptrapd.conf がsnmptrapdの設定ファイルになります。
# ls -la /etc/snmp/snmptrapd.conf -rw-r--r-- 1 root root 331 Sep 4 10:51 /etc/snmp/snmptrapd.conf #
ファイルを開き、以下の設定を行います。
authCommunity log,execute,net (コミュニティ名) traphandle default /bin/mail -s "alert_snmptrap" (メールアドレス)
authCommunity は、アクセス制限を行う設定です。
traphandle は、受け付けるトラップと、トラップ受信後のアクション(今回はmailコマンド)を設定します。
snmptrapd起動
snmptrapdを起動します。
# /etc/rc.d/init.d/snmptrapd status snmptrapd is stopped # /etc/rc.d/init.d/snmptrapd start Starting snmptrapd: [ OK ] # ps -awef|grep snmptrap | grep -v grep root 12552 1 0 10:51 ? 00:00:00 /usr/sbin/snmptrapd -Lsd -p /var/run/snmptrapd.pid #
無事、起動できました。
snmptrap送信テスト
テスト的にsnmptrapを発生させて、メール通知されるかを確認します。
まずは、以下のsnmptrapコマンドで、snmpトラップを送信します。
# snmptrap -v 2c -c (コミュニティ名) localhost '' systemStats 1 s "TEST TRAP Message"
その後、/var/log/maillogを確認すると、メール通知された事が確認できます。
実際にメールが届いていたら、基本的な設定はOKです。
複数台のsnmpエージェントからsnmpトラップを受信する場合は、どのsnmpエージェントからのトラップなのかをメールで簡単に見分けられるように、設定の工夫をすると良いと思います。