linux - 与 snmp 陷阱混淆

标签 linux snmp net-snmp

我是 snmp 的新手,经过一些阅读后我有 2 个问题:-

1) 当我们使用 trapsink、monitor 等指令配置代理的 snmpd.conf 文件时,net-snmp 会自动发送陷阱吗?

我问是因为我试图在 cpu 超过 90% 时发送陷阱。 我的 agent 和 master 在同一个 linux 机器上。

我的 snmptrad.conf 文件:-

authCommunity log aaa<br/> authCommunity log public

我的 snmpd.conf 文件(删除多余的注释行):-

master agentx com2sec notConfigUser default public

group notConfigGroup v1 notConfigUser group
notConfigGroup v2c notConfigUser

view systemview included .1.3.6.1.2.1.1 view systemview
included .1.3.6.1.2.1.25.1.1 view all included .1 view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc

access notConfigGroup "" any noauth exact systemview none none

createUser internalMonitoringName SHA mysecretpassword AES rouser internalMonitoringName iquerySecName internalMonitoringName

com2sec local localhost aaa
com2sec net-27 10.0.0.0/8 aaa
com2sec net-46 10.9.46.0/24 aaa
com2sec net-60 10.9.60.0/24 aaa
com2sec net-10 10.20.0.0/16 aaa

group MyRWGroup any local
group MyROGroup any net-27
group MyROGroup any net-46
group MyROGroup any net-60
group MyROGroup any net-10

access MyROGroup "" any noauth 0 all none none
access MyRWGroup "" any noauth 0 all mib2 mib2

syslocation "Somewhere in testlab"
syscontact Root root@localhost

dontLogTCPWrappersConnects yes

trap2sink localhost aaa

monitor -r 30 machineTooBusy hrProcessorLoad > 90

当我运行一些进程来增加 cpu 负载时,cpu 负载超过 90%(我可以在 top 命令中看到)但是我在/var/log/messages 中看不到陷阱消息。

我做错了什么?

2) 此外,我的下一个问题是,如果我有一个自定义 MIB 文件并为其编写了一个代理,我能否在 snmpd.conf 文件中使用“monitor”指令添加来自该自定义 MIB 的变量/OID 以发送自动陷阱?或者我必须从我的代理中发送陷阱???

请帮助解决我的困惑...

最佳答案

不,它不会自动发送任何内容。您需要执行两个步骤:

1) 定义您要发送陷阱或通知的位置。这就是 trapsink 和类似行所做的。

2) 然后定义您要发送的什么。这就是 monitor 和类似指令的作用。 monitor 指令可用于监控几乎所有内容,包括您自己的自定义 MIB 变量。

当你包含这两个时,它会自动发送陷阱(通过进行内部监控,然后将陷阱发送到每个配置的 trapsink 或其他目的地)。

关于linux - 与 snmp 陷阱混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20693084/

相关文章:

linux - 如何在 Ubuntu11.04 中使用 NASM 维护堆栈

c - 如何构建一个带有附加包含路径的树外 linux 模块(包括外部头文件、像 yaml、boost 等库...)

bash - SNMP 扩展为 INTEGER 而不是 STRING

c - 如何使用 netsnmp_query_walk() 或 netsnmp_query_get()?

linux - Bash linux 强制多个实例等待运行 sqlplus 命令完成

linux - dd - 备份 MBR/分区表和第一个分区

node.js - Cloud9 和 snmpjs

python - 什么是解析基于位的错误代码的可读/现代方法?

python - 远程设备监控

C NET-SNMP 专门通过 MIB 名称获取和设置,而不是 OID