在Brocade Vyatta 5600上执行以下命令时,只能从根OID .1.3.6.1.2.
snmpwalk -c XXXXXXX -v 2c vyatta01.foo.com
但是,供应商特定的OID仅在根OID .1.3.6.1.4.
中可用。我需要在执行“裸”snmpwalk时获取这些供应商OID,如上所示。
我遇到无法更改用于检索数据的命令的情况,因此我不能简单地将.1.3.6.1.4
添加到snmpwalk命令的末尾。我也无法更改Vyatta路由器上运行的SNMP代理(Net-SNMP)。
我考虑过使用SNMP代理扩展或传递指令,但我不确定如何配置它。实质上,我希望能够执行snmpwalk
并让它从.1.3.6.1.2
和.1.3.6.1.4
根返回OID。我已经使用不推荐使用的“exec”指令指向任意OID来检索特定信息,但在这种情况下,我可以指定一个根OID。
非常感谢任何帮助。
答案 0 :(得分:0)
管理员(Netsnmp的snmpwalk
命令)而不是代理是指定要走的OID的人。我认为代理返回的不同OID不是经理所要求的,因此任何更改都需要在经理方面进行。
snmpwalk
手册页说:
snmpwalk [APPLICATION OPTIONS] [COMMON OPTIONS] [OID]
If no OID argument is present, snmpwalk will search the subtree rooted at
SNMPv2-SMI::mib-2 (including any MIB object values from other MIB modules,
that are defined as lying within this subtree).
答案 1 :(得分:0)
代理没有按照字典顺序正确安排其OID,这使得管理员无法从根目录中走出它并仍然可以到达整个MIB树。
我已经看到这种情况发生在一些供应商和#39; Windows SNMP代理的扩展,但显然其他人也可能犯同样的错误。该错误牢牢存在于代理中,需要在那里修复,因此请向博科提交错误报告。但是,可以在管理器端实现一种解决方法,方法是对每个子树执行单独的snmpwalk
。 .1.3.6.1.2
散步,.1.3.6.1.4
散步。
听起来非常不幸的是,网络管理框架会依赖snmpwalk
命令来查找根OID。适当的NMS可以灵活地决定在代理上行走哪些OID。
也许您可以在系统上为snmpwalk
命令添加别名?编写一个检查代理地址的包装器脚本,如果代理是Brocade,则包装器可以执行两个snmpwalk命令并连接它们的输出。这是一个相当丑陋的黑客,但这是我能想到的全部。