はじめに
SNMP TrapをZabbixサーバで処理するために必要な一連の処理、必要な設定ファイルや設定値について、全体像を網羅した記事がなかったので、作成しておきました。役に立てば幸いです。
前提
SNMPTTではなく、zabbix_trap_receiver.plを使用した方法とします。
設定ファイルと役割について
/etc/snmp/snmptrap.conf
- SNMP Trapを受信したらSNMP Trapレシーバー(zabbix_trap_receiver.pl)を実行する。
- SNMPv2の場合、このファイルにコミュニティ名とユーザーを指定する。
- SNMPv3の場合、このファイルにユーザー名とエンジンIDと認証方法を指定する。
/etc/sysconfig/snmptrapd
- 指定したディレクトリにあるMIBファイルを指定。
- 受信したsnmptrapをログに転送。この時、指定したファシリティで転送を行う。
/etc/rsyslog.conf
- 指定したファシリティのログを全てトラッパーファイルに書き込む。
- /etc/sysconfig/snmptrapdのオプションで指定したファシリティを指定する。
zabbix_trap_receiver.pl
- snmptrapdからSNMP Trapをzabbixサーバに受け渡すために使用される。
- トラッパーファイルである/var/log/snmp/snmptrap.logを指定する。
- このスクリプトによって、構文の解析が行われる。
- rootユーザーがアクセスできるように権限を付与(snmptrapdがこのスクリプトを実行するため)。
/etc/zabbix/zabbix_server.conf
- zabbixサーバがSNMP Trapperのプロセスを開始できるようにする。
- トラップレシーバが解析を行うトラッパーファイル。(/var/log/snmp/snmptrap.log)を指定する。
- こうすることで、SNMP Trapperプロセスがトラッパーファイルを読み込むことが出来る。
- 該当するアイテムがある場合は、監視データとして登録する。該当しない場合に保存するか否かは設定可能。

Perl trap receiver(zabbix_trap_receiver.pl)を使用したSNMPトラップ監視
本ドキュメントでは SNMP トラップ監視を SNMPTT を使用せずに Perl trap receiver(zabbix_trap_receiver.pl) で行う方法を解説します。はじめに SNMP トラップ監視を行う方法には、SNM...
/var/log/snmp/snmptrap.log ※変更可能
- トラッパーファイル。
- トラップレシーバーによって書き込まれる。
- zabbixのSNMP Trapperプロセスが読み取れるようにzabbixユーザーの権限を付与する必要がある。
コメント