对 SNMP 的 MIB 中的列进行分组

  • 本文关键字:SNMP MIB snmp mib
  • 更新时间 :
  • 英文 :


我在SNMP中有一个这样的表:

Id    Name    A.x   A.y   B.x  B.y
1     Test     1     2     1    3
2     Next     3     4     5    6

我可以使用 SNMP 将其作为

table.1.1 = 1             table.1.2 = 2
table.2.1 = Name          table.2.2 = Next
table.3.1 = 1             table.3.2 = 3
table.4.1 = 2             table.4.2 = 4
table.5.1 = 1             table.5.2 = 5
table.6.1 = 3             table.6.2 = 6

所以列的分配将是

1 = Id   2 = Name   3 = A.x   4 = A.y   5 = B.x   6 = B.y

但是,由于某些原因(例如以后能够以"正确的顺序"添加 A.z 和 B.z),我希望列如下所示:

1 = Id   2 = Name   3.1 = A.x   3.2 = A.y   4.1 = B.x   4.2 = B.y

然后,我的数据将如下所示:

table.1.1 = 1             table.1.2 = 2
table.2.1 = Name          table.2.2 = Next
table.3.1.1 = 1           table.3.1.2 = 3
table.3.2.1 = 2           table.3.2.2 = 4
table.4.1.1 = 1           table.4.1.2 = 5
table.4.2.1 = 3           table.4.2.2 = 6

基本上,SNMP(它只要求所有数据都可以迭代,每列都有一些起始OID,并且没有进一步的内部表规则)允许这样做。

但是,它可以用MIB表达吗?

客户能够处理吗?

你可以做任何你想做的事。但是,如果您想遵守"管理信息结构"标准 RFC 2578,那么第 7.1.12 节概念 表格位于

https://www.rfc-editor.org/rfc/rfc2578#section-7.1.12

解释您已经知道的规则。大多数应用不会知道您的即席表布局。

您提出的赋值(其中某些列式对象不是行的直接子节点,而是在它们之间有一个中间子节点)是不合法的。相关规则在 RFC 2578 第 7.10(2) 节 OBJECT-TYPE 值的映射中定义:

(2)如果对象对应于概念行,则至少一个 存在赋值,概念行中每列一个赋值 在该对象下方。每个管理分配的名称 列是通过将唯一的正子标识符附加到 为概念行管理分配的名称。

强调我的。意思很明确:列的 OID必须由附加到行的 OID 的单个子标识符分配(请注意,"name"表示对象标识符值。人们倾向于认为是名称的文本标签称为"描述符"。

最新更新