====== 13 Zabbixでsnmptrapを受信(Zabbix2系) ====== Zabbix 2.2でSNMPトラップ受信 ===== ①Perlスクリプトの用意 ===== receiverのPerlスクリプトは、Zabbixのソースコードに含まれています。 # cp zabbix-2.2.2/misc/snmptrap/zabbix_trap_receiver.pl /etc/zabbix/zabbix_trap_receiver.pl # chmod +x /etc/zabbix/zabbix_trap_receiver.pl ===== ②snmptrapdの準備 ===== ==== 1.snmptrapd.conf修正 ==== トラップを受け取ると、perlを実行するよう設定します。 # vi /etc/snmp/snmptrapd.conf authCommunity log,execute,net snmptraptest perl do "/etc/zabbix/zabbix_trap_receiver.pl" ※authCommunityの代わりに以下のように記述すると、認証を無効にできます。(どのコミュニティからもで受け付けるようになる) disableAuthorization yes === 自動起動設定 === # service snmptrapd restart # chkconfig snmptrapd on ==== 2.確認 ==== これで他のサーバからトラップを送れば、/tmp/zabbix_traps.tmpにログが出力されます。 === クライアントからテストトラップ送信 === # snmptrap -v 2c -c snmptraptest 192.168.42.254 '' snmptraps snmptraps s "Test Message" === ログ(/tmp/zabbix_traps.tmp) === 10:53:46 2014/03/28 ZBXTRAP 192.168.42.254 PDU INFO: notificationtype TRAP version 1 receivedfrom UDP: [192.168.42.11]:59269->[192.168.42.254] errorstatus 0 messageid 0 community snmptraptest transactionid 11 errorindex 0 requestid 1284761391 VARBINDS: DISMAN-EVENT-MIB::sysUpTimeInstance type=67 value=Timeticks: (447355799) 51 days, 18:39:17.99 SNMPv2-MIB::snmpTrapOID.0 type=6 value=OID: SNMPv2-MIB::snmpTraps SNMPv2-MIB::snmpTraps type=4 value=STRING: "Test Message" ===== ③次にZabbix Server側の設定 ===== Zabbix Server側でzabbix_trap_receiver.plかは出されたトラップを受け取る設定を入れる ※「SNMPTrapperFile=」のファイルは、zabbix_trap_receiver.plのログファイルと合わせる必要があります。 === 1.zabbix_server.conf 修正 === # vi /etc/zabbix/zabbix_server.conf SNMPTrapperFile=/tmp/zabbix_traps.tmp StartSNMPTrapper=1 === 2.再起動 === # /etc/init.d/zabbix-server restart ===== ④Zabbixアイテムの設定 ===== アイテム:SNMPtrap-log タイプ:SNMPトラップ キー:snmptrap[""] データ型:ログ ログ時間の形式:hh:mm:ss yyyy/MM/dd アプリケーション:SNMPTrap {{tag>zabbix snmp}}