在下面的示例MIB条目中:
--
-- Logging configuration
--
nsLoggingTable OBJECT-TYPE
SYNTAX SEQUENCE OF NsLoggingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of individual logging output destinations, used to control
where various levels of output from the agent should be directed."
::= { nsConfigLogging 1 }
nsLoggingEntry OBJECT-TYPE
SYNTAX NsLoggingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A conceptual row within the logging table."
INDEX { nsLogLevel, IMPLIED nsLogToken }
::= { nsLoggingTable 1 }
NsLoggingEntry ::= SEQUENCE {
nsLogLevel INTEGER,
nsLogToken DisplayString,
nsLogType INTEGER,
nsLogMaxLevel INTEGER,
nsLogStatus RowStatus
}
这里的RowStatus条目是NsLoggingEntry中的最后一个,我们可以将这个RowStatus条目放在NsLoggingEntry中的任何位置(例如在“nsLogToken DisplayString”之后)吗?
答案 0 :(得分:0)
将条目nsLogStatus RowStatus
移至NsLoggingEntry
序列中的其他位置可能,但您需要更新列对象的顺序以匹配序列
为了提供更多详细信息,NsLoggingEntry ::= SEQUENCE
正在定义将构成nsLoggingTable
条目的列。 MIB文件应该对每个看起来像
nsLogStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION "<Some great description of this column>"
::= { nsLoggingEntry 5 }
该定义的关键部分是::= { nsLoggingEntry 5 }
行,声称nsLogStatus
将是nsLoggingTable
行的第五列。如果更改NsLoggingEntry
序列的顺序,则应确保各列定义遵循该顺序。
例如,如果您将订单更改为
NsLoggingEntry ::= SEQUENCE {
nsLogLevel INTEGER,
nsLogToken DisplayString,
nsLogStatus RowStatus,
nsLogType INTEGER,
nsLogMaxLevel INTEGER
}
每个列的OID分配应该成为
nsLogLevel ::= { nsLoggingEntry 1 }
nsLogToken ::= { nsLoggingEntry 2 }
nsLogStatus ::= { nsLoggingEntry 3 }
nsLogType ::= { nsLoggingEntry 4 }
nsLogMaxLevel ::= { nsLoggingEntry 5 }
还有一件事需要记住:表的索引应该是序列中的第一列,因此nsLogLevel
应该保留在当前位置,nsLogToken
也是如此。