はじめに
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が表示されていれば成功です。


コメント