近六天以来我一直在努力克服这个问题。
我有2台机器。其中一台是manager 10.201机器,另一台是agent(10.226)
我已经配置了经理的 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 [email protected]
###########################################################################
# 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) CPUIdle 速率超过 98 时,我想捕获管理器主机 (10.0.0.201)。
有谁可以帮助我吗?我在哪里做错.conf
文件或其他地方?
答案1
阅读后man snmpd.conf
,似乎 net-snmp 无法发送有关 CPuIdle 速率的陷阱。
一个简单的解决方案是让 cron 调用一个 bash 脚本,该脚本将检查 CPU 空闲百分比的顶部输出,并snmptrap
在超过阈值时发送陷阱。