ZABBIX SNMPTrap設定(zabbix_trap_receiver.pl) のバックアップ(No.3)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- ZABBIX SNMPTrap設定(zabbix_trap_receiver.pl) へ行く。
- 1 (2016-12-10 (土) 23:44:20)
- 2 (2016-12-11 (日) 02:30:08)
- 3 (2016-12-19 (月) 01:05:12)
目次
概要 †
ZABBIXのソースコードに付属するzabbix_trap_receiver.plの使用方法。
ZABBIX 2.0以降はSNMPTTの使用が推奨されていたが、設定の難易度と運用時の使い勝手の悪さが目立っていた。
ZABBIX 3.xのソースコードにはsnmptrapdから呼び出すzabbix_trap_receiver.plが含まれており、こちらを使用する方法を記載する。
導入 †
パッケージ導入 †
- 関連パッケージ
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 †
- 展開と導入
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';
設定 †
SNMPTrap †
- /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 †
- /etc/rsyslog.conf
local 6で受信したログの出力先ファイルを設定する。
# vi /etc/rsyslog.conf # SNMPTrap local6.* /var/log/snmpd/snmptrap.log
- ログ出力先ディレクトリ作成
mkdir /var/log/snmpd
ZABBIX †
- /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
監視設定 †
サービス制御 †
- rsyslog再起動
systemctl restart rsyslog.service
- snmptrapd起動
systemctl start snmptrapd
- 自動起動設定
systemctl enable snmptrapd
試験 †
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
参考 †
https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/snmptrap
http://nsb.homeip.net/wp/?p=421