1

我们正在实施对实体 MIB 模块 (RFC 6933) 和相关 MIB 模块的支持,作为使用 Net-SNMP 的 SNMP 代理 (snmpd) 的一部分。

一些数据在 MIB 表和 MIB 模块之间共享,例如表索引和 entPhysicalTable 和 entPhysicalContainsTable 之间的“包含”对象,以及 entPhysicalTable 和 entPhySensorTable 之间的索引。

请注意,与 Entity MIB 模块相关的 MIB 模块包括 Entity Sensor 和 Entity Battery MIB 模块(分别为 RFC 3433 和 7577)。

关于如何使用 Net-SNMP 在表之间实现这种数据共享,是否有任何指示或最佳实践?

Net-SNMP 是否提供任何内置支持来实现这一点,例如任何特定的 mib2c 选项来为这些 MIB 表构建相关模板源文件?

特别是,索引等数据需要是动态的,因为可以在 SNMP 代理运行时添加或删除诸如现场可替换单元 (FRU) 等实体。

我注意到数据(索引)在 ifTable 和 ifXtable 等表之间共享,作为标准 Net-SNMP 实现的一部分提供。

提前感谢您的帮助。

4

1 回答 1

0

当您运行 mib2c 并指定一个表而不指定配置文件时,它会询问您有关要生成的代码样式的问题。一般来说,选择归结为您是否希望 net-snmp “拥有”底层数据存储(随着值的变化而更新),或者您是否将自己的数据结构用于底层数据存储(您将实现挂钩到 net-snmp 调用以与您的数据进行交互)。在前一种情况下,net-snmp 将处理这个“共享数据”,因为它拥有它。在后一种情况下,您如何处理它取决于您如何组织数据结构。

于 2017-08-07T22:53:18.027 回答