UnixPower on Networking
  http://www.unix-power.net/

 
 Top - Linux - CentOS SNMP Trap Manager



■snmptrapdの設定

主にネットワーク機器でSNMP Trapの設定を行うことがありますが、受け手(SNMP Manager)がないと利用できません。有償のソフトなどあれば良いのですが、フリーで構築できるTrap ManagerをLinuxで構築します。まず、SNMP Trapをインストールします。

# yum install net-snmp net-snmp-utils


authCommunityという設定を使って、どのSNMPトラップの受信を許可するかを設定します。 /etc/snmp/snmptrapd.confファイルを作成します。

# vi /etc/snmp/snmptrapd.conf

authCommunity log,execute EXAMPLE-NET
traphandle default /usr/bin/traptoemail -f fromaddres@example.co.jp \
-s xx.xx.xx.xx toaddress@example.co.jp


上記のようにコミュニティ名「EXAMPLE-NET」からSNMPトラップを受け取り、コマンドの実行およびログの出力を行います。コマンドは traptoemailコマンドによりTrapをメールに変換して送信する内容となります。-fでfromアドレスを指定し、-sでsmtpサーバを指定 し、最後に宛先アドレスを指定します。


■プライベート MIBファイルの配置

デフォルトで標準MIBファイルは用意されていますが、メーカー機器別のプライベートMIBファイルは個別に用意しないといけません。デフォルトでは /usr/share/snmp/mibs配下にインストールされており、MIBファイルを追加したい場合はここに設置します。

定義ファイルの参照設定として以下のファイルを編集しSNMPTrapを再起動させます。

# vi /etc/sysconfig/snmptrapd

# snmptrapd command line options
# OPTIONS="-Lsd -p /var/run/snmptrapd.pid"
OPTIONS="-Lsd -p /var/run/snmptrapd.pid -M /usr/share/snmp/mibs -m all"

# /etc/rc.d/init.d/snmptrapd restart

■ テストトラップの送信

Linuxからテスト的にトラップを送信してみます。以下のコマンドでトラップを生成可能です。

# snmptrap -v 2c -c public localhost '' systemStats 1 s "This is Test"

これで上記で設定したメールアドレスに次のようなメールが送信されてきます。

Subject: trap received from localhost: UCD-SNMP-MIB::systemStats

Host: localhost (UDP: [127.0.0.1]:42284->[127.0.0.1])
DISMAN-EVENT-MIB::sysUpTimeInstance 0:3:44:43.05
SNMPv2-MIB::snmpTrapOID.0 UCD-SNMP-MIB::systemStats
ccitt.1 "This is Test"

 さらに/var/log/messagesに次のようなログが残っていればSNMP Trapは正常に動作しています。


snmptrapd[16329]: 2013-04-03 13:12:24 localhost [UDP: [127.0.0.1]:42284->[127.0.0.1]]:\
#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1348305) 3:44:43.05# \
011SNMPv2-MIB::snmpTrapOID.0 = OID: UCD-SNMP-MIB::systemStats#011ccitt.1 = STRING: "This is Test"




 
 Copyright(C) 2003-2015 UnixPower on Networking All rights reserved.