====== 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}}