1

NET-SNMP と DISMAN イベント MIB を使用してトラップに取り組んでいます

次の snmpd.conf 構成を使用します。

createUser disman MD5 sercrt@1
rouser disman auth
agentSecName disman
#defaultMonitors yes
disk / 90%
disk /var 85%
disk /opt 95%
disk /opt/pkgs 90%
disk /ufda 90%
proc cron
proc rtrcopy 1 1
proc socks1081 1 1
# monitor must have ".." in the line
monitor -u disman -r 30 -o prNames.1 -o prErrMessage.1 "Cron not running" prErrorFlag.1 != 0
monitor -u disman -r 30 -o prNames.2 -o prErrMessage.2 "rtrcopy running" prErrorFlag.2 != 0
monitor -u disman -r 30 -o prNames.3 -o prErrMessage.3 "socks1081 running" prErrorFlag.3 != 0
monitor -u disman -r 30  -o dskPath.1 -o dskErrorMsg.1 "/ is below 90%" dskErrorFlag.1 != 0
monitor -u disman -r 30  -o dskPath.2 -o dskErrorMsg.2 "/var is below 90%" dskErrorFlag.2 != 0
monitor -u disman -r 30  -o dskPath.3 -o dskErrorMsg.3 "/opt is below 90%" dskErrorFlag.3 != 0
monitor -u disman -r 30 -o dskPath.4 -o dskErrorMsg.4 "/opt/pkgs is below 90%" dskErrorFlag.4 != 0
monitor -u disman -r 30  -o dskPath.5 -o dskErrorMsg.5 "/ufda is below 90%" dskErrorFlag.5 != 0

disman トラップが次の変数を設定していることがわかります。

$1 = mteHotTrigger           dskTable  
$2 = mteHotTargetNameThe     '' 
$3 = mteHotContextName       ''
$4 = mteHotOID               .1.3.6.1.4.1.2021.9.1.100.2
$5 = mteHotValue             1

イベント リストでは、これはオペレーターにとってあまり有益ではありません。mteHotContextName に、「/ は 90% 未満です」などの役立つテキストを入力できれば、はるかに便利になると思います。

モニターディレクティブでこれを行う方法がわかりません

誰もこれを行う方法を知っていますか?

4

1 に答える 1

1

これが -o スイッチの実際の目的です。これにより、送信される通知にオブジェクトを追加できます。あなたの場合、エラーメッセージの値に含まれる「役立つテキスト」が必要な場合は、 -o スイッチを使用してそれらのオブジェクトを含めることで正しいことをしています。なぜうまくいかないのか、よくわかりません。ただし、行エントリごとに個別の監視行は必要ありません。代わりに、すべての行で値をチェックするものを使用してください。たとえば、defaultMonitors構成トークンは実際には次のように指定します。

monitor   -o prNames -o prErrMessage "process table" prErrorFlag != 0

すべての prErrorFlag を一度にチェックします。

引用符で囲まれた名前はトリガーの名前にすぎません。その情報はトラップで送信されず、残念ながら強制することはできません。これは、モニターを報告するために内部および DISMAN-MIB エントリ自体で使用される、モニターの単なる管理名です。

于 2012-10-31T13:42:05.410 に答える