我对 SNMP 和使用陷阱有一些疑问。
我不是 SNMP 专家,但我了解并知道一点如何使用 SNMP 工具。
在描述我真正想做的事情之前,我会问一个关于 SNMP 陷阱的小问题。
简而言之,我已经阅读了有关 Net-SNMP 的本教程:并尝试snmptrap
在我的代理和管理器上进行测试。我按照教程中指示的方式在代理上定义了 SNMPV1 陷阱和 SNMPV2 通知,并尝试使用相同的命令发送 snmpv1 陷阱和 snmpV2 通知。我的问题是关于 snmptrapd 日志的。当我从代理发送此命令时:
snmptrap -v 1 -c commnunity_string my_server TRAP-TEST-MIB::demotraps my_agent 6 17 '' SNMPv2-MIB::sysLocation.0 s "Just here"
我在服务器snmptrapd
日志文件中看到了这一点:
2015-01-23 18:55:07 X.X.X (via UDP: [Y.Y.Y.Y]:36679) TRAP, SNMP v1, community community_string
UCD-SNMP-MIB::ucdExperimental.990 Enterprise Specific Trap (17) Uptime: 31 days, 4:06:05.63
SNMPv2-MIB::sysLocation.0 = STRING: Just here
当我从代理发送此命令时:
snmptrap -v 2c -c community_string my_serever '' NOTIFICATION-TEST-MIB::demo-notif SNMPv2-MIB::sysLocation.0 s "just here"
我在服务器snmptrapd
日志文件中看到了这一点:
27/01/2015 09:56:59 Cold Start de 0.0.0.0
虽然我没有发送冷启动 (0) 通用表带。但是当我剖析数据包时,我可以看到通过这个 snmpv2 陷阱发送的所有信息。所以我的第一个问题是为什么 snmptrapd 守护进程有时只记录“冷启动”消息而不是完整的陷阱信息。
现在对于真正的主人,我听说我们没有义务使用 MIB 来发送陷阱,只需要 OID。我的问题实际上是我想监视一组文件(使用 incrond 或其他),并在文件被修改到服务器以执行特定操作时发送陷阱。如何准确设置,以便服务器可以接收指示每个文件的不同操作的陷阱信息,解析陷阱并运行该操作?我想知道你们这里的人会如何设计这个。