SNMPTrap関係の調査
どこまで対応しているのか、どう対応できるのか
公式には「LinkUP/Downしかサポートしません」とある
/etc/snmp/snmptrapd.confの編集
authCommunity log,execute,net public traphandle default /opt/librenms/snmptrap.php
snmptrapdデーモンを起動
systemctl enable snmptrapd systemctl start snmptrapd systemctl status snmptrapd -l
snmpポート開放は忘れずに
/opt/librenms/includes/snmptrap以下にファイルがある
これがtrapに対応したファイルっぽい
snmptrap.phpの動き
つまり、「entry[1]」.inc.phpを作成することで各種snmptrapに対応できると見た
デフォルトではlinkUpとlinkDownの2つがある
TRA発生時、entry[1]に設定されている文字列がポイントになる
linkUp.inc.phpの動き
通常、linuxのsnmptrapdは標準入力に対して複数行のTRAP文字列を送出している
この時点でLibreNMSに導入されているsnmptrap.phpは利用できない
なぜなら引数をカンマ区切りで処理しているからだ
という事が分かったので別の手法で実現するのが現実的(後述)
https://github.com/librenms/librenms/issues/1380ここでsnmpttを利用してtrapできたよ!って
この流れかな
mib回りの調査
mibs/process.plがある
snmpttを利用しているんだね
標準提供のsnmptrap.phpとsnmpttツールを組み合わせた現実的な組み込み