2017-02-09 63 views
0

提供的用于发送SNMP陷阱的大多数示例都是简单的示例,如下所示。嵌套的net-snmp snmptrap消息发送示例

snmptrap -v 1 -c public host TRAP-TEST-MIB::demotraps localhost 6 17 '' \ 
    SNMPv2-MIB::sysLocation.0 s "Just here" 

采取任何MIB文件,它们包含许多复杂的对象群体,例如,systemGroup包含SNMP位置,类型为sysname等

可能有人在带出的例子来说明如何发送SNMP陷阱的办法帮助其中包括这样的对象组。在这里再增加一个问题,SNMPTRAPD是否支持国际化?

+0

对我来说看起来不像一个编程问题。关于企业IT或网络管理的问题属于Serverfault.com。 – Jolta

+1

@Jqlta问题是关于在NET-SNMP开源代码中生成一个复杂的结构化SNMP陷阱和UNICODE支持。 –

+0

啊哈,这确实是一个编程问题。这个例子让我认为它只与命令行工具有关。 – Jolta

回答

2

定义SNMP通知(陷阱或通知)是包含整个OBJECT GROUP的方式,甚至更糟的是整个SNMP表,这是非常糟糕的做法。原因在于你并不需要所有这些变量。另一个原因是分组/ PDU受到MTU大小的限制。因此,由于其大小,您可能无法在单个UDP数据包内发送数据。

适当的情况是几个varbinds,你也可以启动一些轮询周期来找出如果你需要更多的细节,当你收到这样的陷阱会发生什么。

SNMPTRAPD和NET-SNMP库通常不支持国际化(UNICODE)。该库仅限于ASCII字符集。

市场上有商业产品,包括NetDecision TrapVision和其他一些完全支持UTF-8国际化的产品。

+0

感谢您详细介绍这一点。在SNMP陷阱消息中使用复杂的结构可能是一种不好的做法。但我需要测试一个SNMP陷阱侦听器来查看系统如何处理这样的对象组或表。那么,您可以举一些例子来使用NET-SNMP提供的snmptrap应用程序生成这样的陷阱。 –

+0

您可以在'snmptrap'命令中简单地指定OBJECT GROUP中的所有变量来发送目标陷阱。 SNMPTRAPD并不关心陷阱是否与MIB定义匹配。所以它会按原样打印传入的陷阱。 –

+0

NET SNMP snmptrap是否发送支持对象组作为陷阱varbind? –