1

我正在查看 VMWare 的 MIB 文件,它们具有以下结构(显然已精简):

vmwVmTable OBJECT-TYPE SYNTAX      
    SEQUENCE OF VmwVmEntry 
    ....

vmwVmEntry OBJECT-TYPE 
    SYNTAX VmwVmEntry 
    ....
VmwVmEntry ::= SEQUENCE { vmwVmIdx  Integer32, ... 

vmwVmIdx OBJECT-TYPE 
    SYNTAX Integer32 (0..65535) 
    MAX-ACCESS  not-accessible

所以 vmwVmIdx 是表的索引,但它被标记为不可访问。果然,如果您请求它,则不会返回任何内容。那么表的索引是如何确定的呢?我见过可以显示此表的应用程序,但是如何显示呢?

所有应用程序是否只查看检索到的每个对象的 OID 的最后一个整数并假设它是索引?如果是这样的话,它与我的其他一些相关的问题有什么关系?

4

1 回答 1

2

在进行了一些研究之后,将索引列设为不可访问被认为是最佳实践。所以你真的只取 OID 的最后一点并将其用于索引。

因此,在查看表中的条目时,您附加 table.entryName。在其下方,您将拥有列名(因此您必须有一个 MIB 才能知道这一点,无论如何您都需要知道您正在查看一个表)。

一旦你有了 table.entryName.columnName,然后看看你在下面有什么条目。之后,每个检索到的值的 OID 就是索引。

于 2012-10-09T18:18:20.820 回答