SNMP Trap設定ファイル生成ツール
このツールはNew RelicのktranslateでSNMP Trapを受信するための設定ファイルを生成します。
🚀 SNMP Trap監視コンテナ起動手順
ktranslateでSNMP Trapを受信・監視するための手順です
1
環境変数の設定
New Relicの認証情報を設定します
export NEW_RELIC_API_KEY="your_license_key" export NR_ACCOUNT_ID="your_account_id"
2
設定ファイルの準備
設定管理タブで生成したYAMLファイルを保存します
# 設定ファイルを snmp-trap-base.yaml として保存 # 設定管理タブで生成したYAMLをコピーして保存してください
3
コンテナ起動
SNMP Trap監視コンテナを起動します
4
動作確認
コンテナの起動状態とログを確認します
コンテナ状態確認
docker ps | grep ktranslate-snmp-trap
ログ確認
docker logs ktranslate-snmp-trap
New Relicでの検索
# New Relic Insights/NRQL SELECT * FROM InfrastructureEvent WHERE eventType = 'SnmpTrap'
5
テスト送信
SNMP Trapの送信テストを行います
snmptrapコマンドでのテスト
# SNMPv2c テストトラップ snmptrap -v2c -c public localhost:162 '' 1.3.6.1.4.1.1.1.1 \ 1.3.6.1.4.1.1.1.1.1 s "Test trap message"
Pythonでのテスト
# Python pysnmp使用例 from pysnmp.hlapi import * for (errorIndication, errorStatus, errorIndex, varBinds) in sendNotification( SnmpEngine(), CommunityData('public'), UdpTransportTarget(('localhost', 162)), ContextData(), 'trap', NotificationType(ObjectIdentity('1.3.6.1.4.1.1.1.1')), lexicographicMode=False): if errorIndication: print(errorIndication) break
🔧 トラブルシューティング
ポート162がバインドできない
権限やポート競合の問題
- Linuxでは sudo でDockerを実行(ポート162は特権ポート)
- 他のSNMPサービスが162ポートを使用していないか確認
- ファイアウォールで162/udpが開放されているか確認
トラップが受信されない
ネットワークや設定の問題
- 送信元デバイスのトラップ設定を確認
- コミュニティ文字列が一致しているか確認
- SNMPバージョンが一致しているか確認
- ネットワーク経路でUDP 162が通るか確認
トラップが解釈されない
MIBやプロファイルの問題
- 適切なMIBが設定に含まれているか確認
- ベンダー固有のプロファイルが設定されているか確認
- 未定義トラップのログを確認してMIBを追加
- drop_undefined設定を無効にして全トラップを受信