はじめに
AWS上に構築した F5 BIG-IP ロードバランサー から、RHEL9 EC2インスタンスに対して SNMPトラップ転送 を行う設定手順を紹介します。
SNMPトラップを受け取ることで、BIG-IPで発生したイベント(ログイン失敗など)を別サーバで監視・記録できます。
検証環境
種別 | 構成 |
---|---|
SNMPクライアント | F5 BIG-IP Virtual Edition - GOOD (PAYG, 25Mbps) |
SNMP受信サーバ | Red Hat Enterprise Linux 9 |
ネットワーク | 同一VPC内でUDP 162ポートを開放(Security Group) |

構築手順
SNMP受信サーバ構築(RHEL9)
SNMP関連パッケージのインストール
# dnf install -y net-snmp net-snmp-utils
SNMPデーモン設定
vi /etc/snmp/snmptrapd.conf
★★★ 以下を追記する ★★★
disableAuthorization yes
authCommunity log,execute,net public
# authCommunity により、コミュニティ名 "public" でのトラップを受信・ログ出力します。
snmptrapd.serviceの起動オプション変更
デフォルトではログ出力がされないため、/lib/systemd/system/snmptrapd.service を編集します。
vi /lib/systemd/system/snmptrapd.service
★★★ ExecStart設定値を変更する ★★★
ExecStart=/usr/sbin/snmptrapd -Lf /var/log/snmptrapd.log -f
# -Lf はログファイル出力、-f はフォアグラウンド実行です。
サービス再起動・永続化
systemctl daemon-reload
systemctl enable --now snmptrapd
systemctl restart snmptrapd
SNMPクライアント構築(BIG-IP)
SNMPトラップ送信の有効化(Web UI)
1.WebUIにログインする。
2.左メニューから[System] - [SNMP] - [Traps] - [Configuration]を選択する。
3.以下の項目を Enabled にする。
・Agent Start/Stop
・Device
トラップ送信先の設定
1.左メニューから[System] - [SNMP] - [Traps] - [Destination]を選択する。
2.以下のように設定する。
項目 | 設定値 |
---|---|
Version | v2c |
Community | public |
Destination | 172.31.40.7(SNMP受信サーバのIP) |
Port | 162 |
Network | Management |
SNMPトラップ送信テスト
自動トラップ送信例
BIG-IPでは、Web UIログイン失敗時 などに自動でSNMPトラップが送信されます。
実際にログイン失敗を発生させると、SNMP受信サーバ構築(RHEL9)の/var/log/snmptrapd.log に以下のようなログが出力されます。
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (164636) 0:27:26.36
SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises.3375.2.4.0.27
SNMPv2-SMI::enterprises.3375.2.4.1.1 = STRING: "[auth_pam:error] [pid 13354] [client xxx.xxx.xxx.xx:60019]
AUTHCACHE PAM: user 'admin' (fallback: false) - not authenticated: Authentication failure,
referer: https://xxx.xxx.xxx.xx:8443/tmui/login.jsp" SNMPv2-MIB::snmpTrapEnterprise.0 = OID: SNMPv2-SMI::enterprises.3375.2.4
おわりに
本記事では、AWS上のBIG-IPからRHEL9へのSNMPトラップ転送設定について解説しました。
SNMPトラップによって、重要なシステムイベントを外部へ通知し、運用監視の自動化や可視化に役立てることができます。