【问题标题】:Grouping Columns in MIBs for SNMP为 SNMP 分组 MIB 中的列
【发布时间】:2017-08-28 18:15:26
【问题描述】:

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

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

我可以使用 SNMP as 来访问它

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 表示吗?

客户可以处理吗?

【问题讨论】:

    标签: snmp mib


    【解决方案1】:

    你可以为所欲为。但是,如果您想遵守“管理信息结构”标准 RFC 2578,那么第 7.1.12 节概念 表在

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

    解释你已经知道的规则。大多数应用程序不会知道您的临时表格布局。

    【讨论】:

    • 但我看不出这与我的布局有何矛盾。让我们看看那里给出的例子。 evalString 可以很好地定义为 { evalEntry 2 1 }evalValue{ evalEntry 2 2 }。为什么会有问题?
    【解决方案2】:

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

    (2) 如果对象对应一个概念行,那么至少有一个 存在分配,概念行中的每一列都有一个 在那个物体下面。 每个人的行政指定名称 列是通过将唯一的正子标识符附加到 概念行的管理名称。

    强调我的。含义很明确:您的列的 OID 必须由附加到行 OID 的 单个 子标识符分配(请注意,“名称”表示 OBJECT IDENTIFIER 值。文本标签一倾向于认为名称被称为“描述符”。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      相关资源
      最近更新 更多