目次

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