NET-SNMP:详细了解Disman Traps

时间:2012-10-31 10:55:13

标签: snmp net-snmp

我正在使用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%”,那么这将更有用

我无法看到如何使用monitor指令

执行此操作

有谁知道怎么做?

1 个答案:

答案 0 :(得分:1)

这实际上是-o开关的用途:它允许您向发出的通知添加其他对象。在您的情况下,如果您想要包含在错误消息值中的“有用文本”,那么通过使用-o开关来包含这些对象,您正在做正确的事情。为什么它不适合你,我不确定。但是,每行输入不需要单独的监视行。相反,使用一个检查每一行的值。例如,defaultMonitors配置令牌实际上指定了:

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

一次检查每个prErrorFlag。

您在引号中使用的名称只是触发器的名称,并且该信息不会在陷阱中发送,不幸的是您不能强制它。它只是内部使用的监视器的管理名称,在DISMAN-MIB条目本身用于报告监视器。