SNMPトラップ処理ツールのインストール

SNMPトラップ処理ツールのインストール

はじめに

監視機器でトラップの設定を実施しておくと、障害時に迅速にアラートを上げることができます。

 

常時監視しておくような機器のステータスやパフォーマンスデータの取得は、ポーリング監視が適していますが、ハードウェアやシステム障害など突発的に発生する障害はSNMPトラップが適しています。

インストール

Net-SNMPをインストールします。
# dnf -y install net-snmp

 

snmpttをインストールします。
# rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf -y install snmptt

 

Syslogパッケージをインストールします。
# dnf -y install perl-Sys-Syslog

SNMPトラップの設定

snmptrapd.confの設定

snmptrapdで受信したトラップデータをsnmpttに渡す設定を実施します。
# vi /etc/snmp/snmptrapd.conf

 

以下の2行を追加します。
authCommunity execute public ←コミュニティ名(public)は環境に合わせて設定
traphandle default /usr/sbin/snmptthandler

 

snmptrapdの設定

snmpttに渡すトラップデータ中のOIDをシンボル名に変換しないよう設定します。
# vi /etc/sysconfig/snmptrapd

 

以下の1行を追加します。
OPTIONS="-On -Lsd -p /var/run/snmptrapd.pid"

 

 

snmptt.iniの設定

snmpttの初期設定を実施します。
# vi /etc/snmp/snmptt.ini

 

該当箇所を以下の通り設定します。
mode = daemon
log_file = /var/log/snmptt/snmptt.log
date_time_format = %Y/%m/%d %H:%M:%S

 

snmptt.confの設定

受信したトラップのデフォルトフォーマットを指定します。
# vi /etc/snmp/snmptt.conf

 

以下の2行を追加します。
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $*

 

 

snmp.confの設定

拡張MIBをすべて読み込むように設定します。
# vi /etc/snmp/snmp.conf

 

以下の2行を追加します。
MIBDIRS /usr/share/snmp/mibs:/usr/share/snmp/mibs/PrivateMIBS
MIBS all

 

 

サービスの自動起動/サービスの起動

# systemctl enable --now snmptt snmptrapd

トラップのテスト

SNMPトラップの受信確認をします。
# snmptrap -v 2c -c public localhost '' .1.3.6.1.4.1.8072.99999 .1.3.6.1.4.1.8072.99999.1 s "Test Trap"

 

snmptrapdとsnmpttの設定が正しければ、/var/log/snmptt/snmptt.log に次のメッセージが記録されます。

 

2017/10/15 22:22:20 .1.3.6.1.4.1.8072.99999 Normal "General event" localhost - ZBXTRAP 127.0.0.1 Test Trap

Zabbixサーバの設定

snmpttで出力されたログファイルを読み込むためにZabbixサーバの設定を実施します。
# vi /etc/zabbix/zabbix_server.conf

 

該当箇所を以下の通り設定します。
SNMPTrapperFile=/var/log/snmptt/snmptt.log
StartSNMPTrapper=1

 

設定が完了したら、Zabbixサーバのサービスを再起動します。
# service zabbix-server restart

トップへ戻る