目次~
#contents
*概要 [#q1a5ab58]
ZABBIXのソースコードに付属するzabbix_trap_receiver.plの使用方法。~
ZABBIX 2.0以降はSNMPTTの使用が推奨されていたが、設定の難易度と運用時の使い勝手の悪さが目立っていた。~
ZABBIX 3.xのソースコードにはsnmptrapdから呼び出すzabbix_trap_receiver.plが含まれており、こちらを使用する方法を記載する。~
*導入 [#n5c7d820]
**パッケージ導入 [#nbd46740]
-関連パッケージ
yum install net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-perl
yum install bzip2 gzip tar unzip make curl lynx wget ftp gpg patch gcc
yum install perl perl-CPAN perl-YAML perl-Module-Build perl-Time-HiRes
-Perlライブラリの導入
cpan
<初期設定>
install Config::IniFiles
bye
**zabbix_trap_receiver.pl [#z7b0e4b0]
-ソースコードの入手~
http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.2/zabbix-3.2.2.tar.gz/download
~
~
-展開と導入
tar xfvz zabbix-3*.tar.gz
cp ./zabbix-3*/misc/snmptrap/zabbix_trap_receiver.pl /usr/local/bin/
chmod 755 /usr/local/bin/zabbix_trap_receiver.pl
-設定
# vi /usr/local/bin/zabbix_trap_receiver.pl
【変更前】$SNMPTrapperFile = '/tmp/zabbix_traps.tmp';
【変更後】$SNMPTrapperFile = '/var/log/zabbix/snmptrap.log';
*設定 [#qd5deb3a]
**SNMPTrap [#d861ba44]
-/etc/sysconfig/snmptrapd~
snmptrapdの起動パラメータの設定を行う。~
MIBの読み込みとログ出力先ファシリティをlocal 6に変更する。~
# vi /etc/sysconfig/snmptrapd
OPTIONS="-m +ALL -Ls6 -On -p /var/run/snmptrapd.pid"
-/etc/snmp/snmptrapd.conf~
snmptrapdの動作設定を行う。~
# vi /etc/snmp/snmptrapd.conf
authCommunity log,execute,net private
authCommunity log,execute,net public
perl do "/usr/local/bin/zabbix_trap_receiver.pl"
disableAuthorization yes
pidfile /var/run/snmptrapd.pid
donotlogtraps no
logoption f /var/log/snmpd/snmptrap.log
**rsyslog [#n565d3ae]
-/etc/rsyslog.conf~
local 6で受信したログの出力先ファイルを設定する。~
# vi /etc/rsyslog.conf
# SNMPTrap
local6.* /var/log/snmpd/snmptrap.log
-ログ出力先ディレクトリ作成
mkdir /var/log/snmpd
**ZABBIX[#h2804659]
-/etc/zabbix/zabbix_server.conf~
-/etc/zabbix/zabbix_proxy.conf~
テンポラリファイルのパスとプロセスの起動数を指定する。~
SNMPTrapperFile=/var/log/zabbix/snmptrap.log
StartSNMPTrapper=1
~
SNMPTrapperFileに設定したファイルが存在しないと大量なエラーログが出力されるため、空ファイルを作成する。~
touch /var/log/zabbix/snmptrap.log
chown zabbix.zabbix /var/log/zabbix/snmptrap.log
**監視設定 [#ef8acdfa]
**サービス制御 [#nac93dd0]
-rsyslog再起動
systemctl restart rsyslog.service
-snmptrapd起動
systemctl start snmptrapd
-自動起動設定
systemctl enable snmptrapd
**試験 [#p8873b17]
SNMPTrapを送信して動作試験を行う。~
-SNMP Trapの送信
snmptrap -v 2c -c public 127.0.0.1 8640000 .1.3.6.1.6.3.1.1.5.3
-/var/log/snmpd/snmptrap.log
Dec 10 23:59:39 zp00 snmptrapd[6685]: 2016-12-10 23:59:39 localhost [UDP: [127.0.0.1]:50558->[127.0.0.1]:162]:#012.1.3.6.1.2.1.1.3.0 = Timeticks: (8640000) 1 day, 0:00:00.00#011.1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.6.3.1.1.5.3
Dec 10 23:59:39 zp00 snmptrapd[6685]: perl callback function 0x7f60c4ccd0d8 returns 1
-/var/log/zabbix/snmptrap.log
01:02:12 2016/12/19 ZBXTRAP 127.0.0.1
PDU INFO:
notificationtype TRAP
version 1
receivedfrom UDP: [127.0.0.1]:51964->[127.0.0.1]:162
errorstatus 0
messageid 0
community public
transactionid 1
errorindex 0
requestid 1426809208
VARBINDS:
.1.3.6.1.2.1.1.3.0 type=67 value=Timeticks: (8640000) 1 day, 0:00:00.00
.1.3.6.1.6.3.1.1.4.1.0 type=6 value=OID: .1.3.6.1.6.3.1.1.5.3
*参考 [#ycfdf4e0]
https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/snmptrap
~
~
http://nsb.homeip.net/wp/?p=421