2008-09-15 32 views
1

我使用SNMP从cisco交换机查询一堆信息。例如,我正在通过执行snmpwalk操作来获取使用CDP检测到的邻居的信息.1.3.6.1.4.1.9.9.23Cisco IOS OID在不同型号的设备上用SNMP查询数据的稳定性如何?

我可以在不同的思科模型中使用此OID吗?我应该知道哪些缺陷?对我而言,我对使用数字OID有点不安 - 好像我应该使用MIB数据库或其他类似的东西,并使用命名的OID,以获得跨设备兼容性,但也许我只是想象需要为了那个原因。

回答

3

一旦MIB已经发布,它将不会移动到新的OID。这样做会破坏网络管理工具并导致支持电话,这是人们不想要的。要继续例如,CDP MIB已在思科的SNMP Object Navigator.

有关一般的代码清洁出版这将有利于在一个中心位置来定义的OID,特别是因为你不想复制整个OID为每一个你需要访问的表。

您需要特别小心的地方是思科最近收购的产品中独特的MIB。 OID将会改变,如果没有别的东西将其移入他们自己的企业OID空间,但MIB也可能会改变以符合思科的SNMP实践。

3

这是非常一致的。

监控工具取决于一致性,Cicso生成的MIB很少更改旧值,通常只实现新值。

查看Cisco OID look up tool

请注意,它不会问你查找什么产品。

-mw

0
  • 我会避免放入数字OID,而是使用'OID名称',并将(艰难的)翻译任务转换为您正在使用的任何SNMP API。

如果这是不可能的,那么可以使用OID,因为它们不应该根据SNMP MIB准则进行更改。除非设备本身发生变化,但无论如何需要新的MIB才能重用旧的OID。

  • 这很明显,但一定要看看SNMP MIB变量的属性。一定不要查询状态为“过时”的变量。

周杰伦..

0

在某些情况下,使用的名称,而不是数字表示可以是一个严重的性能,因为打到需要读取和解析MIB文件,以获得OID的数值表示下级图书馆需要。例如,假设您使用程序每分钟收集一些内容,然后反复加载MIB​​是非常低效的。

正如其他人所说,一旦发布,数字映射的名称将永远不会改变,所以事实上,您将硬编码到您的程序中并不是一个真正的问题。

如果您有权访问命令行SNMP工具,请查看'snmptranslate',这是一个很好的工具,可以从文本到数字OID来回访问。

0

我认为这是一种常见的误解(关于每次解析名称时重新加载MIB​​)。

大多数SNMP API(例如AdventNet,CMU)在启动时加载MIB​​S,之后每次要求从名称到oid的“翻译”时都不会加载MIB​​的“开销”,反之亦然。更重要的是,其中一些缓存结果,在这一点上,名称查找与直接编码OID没有区别。

这与指定“IP地址”与“主机名”有些类似。

1

OID可以随硬件而变化,但也可能随同一硬件的固件版本而变化,随着时间的推移,管理功能的体系结构可能会发生变化并需要新的MIB。值得检查您打算使用的任何OID是否在不建议使用的MIB中,或者在应用程序的生命周期中变得如此,因为这不仅表明MIB有一天可能不受支持,而且还有可能会改进,更丰富的数据或访问数据。作为日常测试固件更新的一部分,在广泛部署之前,针对升级版设备的示例测试管理应用也是一种很好的做法。

OID的由于MIB的变化被弃用的一个例子是在

http://www.cisco.com/en/US/tech/tk648/tk362/technologies_configuration_example09186a0080094aa6.shtml

“这个文件显示了如何将 配置文件复制到和从与所述一个Cisco 设备CISCO-CONFIG-COPY-MIB 如果您从CiscoIOS®软件 版本12.0开始,或者在某些设备上早于版本11.2P,则 实施了新的简单手段 Netwo rk管理协议(SNMP) 配置管理与新的 CISCO-CONFIG-COPY-MIB。此MIB 取代OLD-CISCO-SYSTEM-MIB的弃用配置 部分。 “