差不多6天我试图解决这个问题。
我有2台机器。其中一个是经理10.201机器,另一个是代理(10.226)
我已经像这样配置了 manager的snmptrap.conf 文件。
authCommunity execute public default .1
traphandle default /usr/bin/traptoemail -s localhost -f snmp@localhost root@localhost
然后我像这样配置了代理的snmpd.conf文件。
###########################################################################
# SECTION: Access Control Setup
rocommunity public
rwcommunity private
###########################################################################
# SECTION: System Information Setup
syslocation "Izmir, 226. machine "
syscontact info@abc.com
###########################################################################
# SECTION: Trap Destinations
trap2sink 10.0.0.201 162
authuser read -s v2c guest_user noauth .1
authuser read -s usm guest_user noauth .1
authcommunity read public default .1
iquerySecName guest_user
agentSecName guest_user
monitor -u guest_user -r 1 "interface down" -o ifDescr ifOperStatus != 1
但我想陷入代理机器的CPUIdle速率。例如,我可以通过snmpwalk命令以这种方式获取CpuIdle。
# snmpwalk -v 2c -c public 10.0.0.226 .iso.org.dod.internet.private.enterprises.ucdavis.systemStats.**ssCpuIdle**.0
*我想在座席(10.0.0.226)* ssCPuIdle率超过98时陷入经理主持人(10.0.0.201)。 *
有没有人可以帮助我?我在哪里犯过错误,conf文件或其他什么?
答案 0 :(得分:1)
需要注意的一点是,ssCpuIdle
变量实际上正在消失。它是在一段固定的时间内测量的,这是一个问题,因为它是不准确的。
如果您仍想在旧版本的snmpd上使用它,那么以下监视器行可能会执行您想要的操作:
monitor -u guest_user -r 1 "idle too high" ssCpuIdle > 97
如果你使用较新的ssCpuRawIdle
对象,那么你需要监控它的delta:
monitor -u guest_user -r 1 "idle too high" -D ssCpuRawIdle > NUMBER
但NUMBER
的大小可能取决于所讨论的系统(具体来说,有多少核心)。您可以使用对象的描述来提出初始计算的猜测并从那里开始:
DESCRIPTION "The number of 'ticks' (typically 1/100s) spent idle.
On a multi-processor system, the 'ssCpuRaw*'
counters are cumulative over all CPUs, so their
sum will typically be N*100 (for N processors)."