제대로 된 것 같습니다. 표를 다른 표의 하위 항목으로 정의하려면 상위 색인과 하위 색인 (예 : 0.1.8.23.7.2.42
)을 사용하여 색인을 생성하십시오 (예 : 2
은 상위 색인이고 42
은 하위 색인 임). 그것은 이미 이후 ChildEntry 순서에 parentIndex를 나열 할 필요는 없습니다 것을
childTable OBJECT-TYPE
SYNTAX SEQUENCE OF childEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Child table"
::= { example 2 }
childEntry OBJECT-TYPE
SYNTAX ChildEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Entry in Child table"
INDEX { parentIndex,
childIndex }
::= { childTable 1 }
ChildEntry ::= SEQUENCE {
childIndex Unsigned32,
-- other columns in the table
}
-- define the columns in the child table
참고 :로 정의 된 자식 테이블로
parentTable OBJECT-TYPE
SYNTAX SEQUENCE OF parentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Parent table"
::= { example 1 }
parentEntry OBJECT-TYPE
SYNTAX ParentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Entry in Parent table"
INDEX { parentIndex }
::= { parentTable 1 }
ParentEntry ::= SEQUENCE {
parentIndex Unsigned32,
-- other columns in the table
}
-- define the columns in the parent table
:
는 예를 들어, 같은 부모를 정의 할 수 있습니다 MIB의 다른 곳에서 선언되어야합니다.
이 방법은 잘 작동하며 문제없이 SNMP 산책에 응답합니다.
원하는 구조를 정확하게 정의했다고 생각되는 MIB를 가지고 있다면 리눅스 머신에 있거나 cygwin이 설치되어 있거나 validate it online 일 수 있다면 smilint
을 사용하여 유효성을 검사 할 수 있습니다.
업데이트
이 패턴뿐만 아니라 깊은 중첩에 대해 작동합니다.
가
grandChildTable OBJECT-TYPE
SYNTAX SEQUENCE OF grandChildEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Grandchild table"
::= { example 3 }
grandChildEntry OBJECT-TYPE
SYNTAX GrandChildEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Entry in Grandchild table"
INDEX { parentIndex,
childIndex,
grandChildIndex }
::= { grandChildTable 1 }
grandChildEntry ::= SEQUENCE {
grandChildIndex Unsigned32,
-- other columns in the table
}
-- define the columns in the grandChild table
스팅 깊이에 유일한 제한은 최대 OID의 길이 (I 믿고, 127) :
손자 테이블
로 정의 될 수있는 열의 기본 OID 길이 더하기 인덱스의 개수 테이블의 최대 OID 길이보다 작아야합니다.
주목할만한 다른 항목은 각 레벨마다 여러 형제가있을 수 있다는 것입니다.
secondchildTable OBJECT-TYPE
SYNTAX SEQUENCE OF secondchildEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Second child table"
::= { example 4 }
secondchildEntry OBJECT-TYPE
SYNTAX SecondchildEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Entry in Second child table"
INDEX { parentIndex,
secondchildIndex }
::= { secondchildTable 1 }
SecondchildEntry ::= SEQUENCE {
secondchildIndex Unsigned32,
-- other columns in the table
}
-- define the columns in the second child table
아주 좋은 :
두 번째 아이
는 다음과 같이 정의 할 수있다. 빠른 피드백에 감사드립니다. – Doug이 원칙은 세 번째 테이블에 적용됩니까? 즉, 3 개의 인덱스가 있거나 계층 구조의 깊이가 커짐에 따라 더 나은 관리 방법이 있습니까? – TheJuice
@ TheJuice : 예, 원칙은 최대 OID 길이까지 어린이 테이블에 적용됩니다 (나는 127이라고 생각합니다). 추측 하듯이 각각의 추가 레벨은 다른 색인을가집니다. 내 대답을 편집하여 예제를 포함시켜 보겠습니다. 나는 더 깊은 계급을 관리하는 더 좋은 방법을 알지 못한다. – lostriebo