ZabbixでSNMP Trap監視(SNMPv2c)

インフラ

はじめに

ZabbixではデフォルトでSNMPポーリングによる監視が可能ですが、SNMP Trapの監視を行うには追加の設定が必要です。
この記事では、SNMP TrapをZabbixで受信・処理する方法を解説します。

前提条件

  • OS: AlmaLinux 8.9
  • Zabbixバージョン: 6.4
  • データベース: MySQL

手順

1. 必要なパッケージのインストール

yum install net-snmp net-snmp-utils net-snmp-libs net-snmp-devel net-snmp-perl -y

2. SNMP Trapperプロセスの起動

/etc/zabbix/zabbix_server.confを編集し、以下の設定を行います。

StartSNMPTrapper=1
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

3. ログディレクトリとファイルの作成

mkdir /var/log/snmptrap/
touch /var/log/snmptrap/snmptrap.log
chown zabbix:zabbix /var/log/snmptrap/snmptrap.log

4. rsyslogの設定

/etc/rsyslog.confに以下の行を追加します。

local6.* /var/log/snmptrap/snmptrap.log

設定後、rsyslogサービスを再起動します。

systemctl restart rsyslog

5. snmptrapdの設定

/etc/snmp/snmptrapd.confに以下の行を追加します。

authCommunity log,execute,net public
perl do "/usr/local/bin/zabbix_trap_receiver.pl"

snmptrapdサービスを起動し、自動起動を有効にします。

systemctl enable snmptrapd
systemctl start snmptrapd

6. zabbix_trap_receiver.plの配置と設定

wget https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/misc/snmptrap/zabbix_trap_receiver.pl
chmod +x zabbix_trap_receiver.pl
mv zabbix_trap_receiver.pl /usr/local/bin/

スクリプト内の$SNMPTrapperFileの値を/var/log/snmptrap/snmptrap.logに変更します。

7. Zabbixサーバの再起動

systemctl restart zabbix-server

動作確認

SNMP Trapを送信して、Zabbixが受信・処理できるか確認します。

snmptrap -v 2c -c public 127.0.0.1 "" .1.3.6.1.6.3.1.1.5.1 coldStart s "Test Trap"

Zabbixのフロントエンドで、該当ホストの最新データにSNMP Trapが表示されていれば成功です。

    コメント

    タイトルとURLをコピーしました