다양한 모델의 장치에서 SNMP를 사용하여 데이터를 쿼리하기 위한 Cisco IOS OID는 얼마나 안정적입니까?

StackOverflow https://stackoverflow.com/questions/65809

  •  09-06-2019
  •  | 
  •  

문제

SNMP를 사용하여 Cisco 스위치에서 많은 정보를 쿼리하고 있습니다.예를 들어, .1.3.6.1.4.1.9.9.23에서 snmpwalk를 수행하여 CDP를 사용하여 감지된 이웃에 대한 정보를 가져오고 있습니다.

다양한 Cisco 모델에서 이 OID를 사용할 수 있습니까?어떤 함정을 알고 있어야 합니까?나에게는 숫자 OID를 사용하는 것이 조금 불안합니다. 장치 간 호환성을 얻으려면 MIB 데이터베이스 등을 사용하고 명명된 OID를 사용해야 하는 것처럼 보이지만 아마도 필요성을 상상하고 있는 것 같습니다. 그에 대한.

도움이 되었습니까?

해결책

MIB가 게시되면 새 OID로 이동되지 않습니다.그렇게 하면 네트워크 관리 도구가 중단되고 아무도 원하지 않는 지원 요청이 발생하게 됩니다.귀하의 예를 계속하려면 CDP MIB가 Cisco에서 게시되었습니다. SNMP 개체 탐색기.

일반적인 코드 정리를 위해서는 중앙 위치에서 OID를 정의하는 것이 좋습니다. 특히 액세스해야 하는 모든 단일 테이블에 대해 전체 OID를 복제하고 싶지 않기 때문입니다.

가장 주의해야 할 곳은 최근 시스코가 인수한 제품에 들어 있는 고유한 MIB다.OID는 자체 Enterprise OID 공간으로 이동하는 다른 방법이 없다면 변경되지만 MIB는 Cisco의 SNMP 방식을 준수하도록 변경될 수도 있습니다.

다른 팁

매우 일관성이 있습니다.

모니터링 도구는 일관성에 따라 달라지며 Cicso가 생성한 MIB는 이전 값을 거의 변경하지 않으며 일반적으로 새 값만 구현합니다.

시스코를 확인해 보세요 OID 조회 도구.

검색 대상 제품이 무엇인지 묻지 않는 방법에 유의하세요.

-MW

OID는 하드웨어에 따라 다를 수 있지만 시간이 지남에 따라 관리 기능의 아키텍처가 변경되어 새 MIB가 필요할 수 있으므로 동일한 하드웨어의 펌웨어 버전에 따라 달라질 수도 있습니다.사용하려는 OID가 더 이상 사용되지 않는 MIB에 있는지 또는 애플리케이션 수명 동안 그렇게 되는지 확인하는 것이 좋습니다. 이는 MIB가 언젠가 지원되지 않을 수 있을 뿐만 아니라 개선될 가능성이 있음을 나타냅니다. , 더 풍부한 데이터 또는 데이터에 대한 액세스.또한 광범위한 배포 전에 펌웨어 업데이트의 일상적인 테스트의 일환으로 샘플 업그레이드 장치에 대해 관리 앱을 테스트하는 것도 좋은 방법입니다.

더 이상 사용되지 않는 MIB로 인한 OID 변경의 예는 다음과 같습니다.

http://www.cisco.com/en/US/tech/tk648/tk362/technologies_configuration_example09186a0080094aa6.shtml

"이 문서는 Cisco-Config-Copy-Mib와 함께 Cisco 장치에 구성 파일을 복사하는 방법을 보여줍니다.Cisco iOS® Software Release 12.0 또는 AS 릴리스 11.2P 초기에 일부 장치에서 시작하면 Cisco는 새로운 Cisco-Config-Copy-MIB와 함께 SNMP (Simple Network Management Protocol) 구성 관리를 구현했습니다.이 MIB는 구식 시스코 시스템 미브의 더 이상 사용되지 않은 구성 섹션을 대체합니다."

  • 숫자로 된 OID를 입력하는 것을 피하고 대신 'OID 이름'을 사용하고 그 힘든 작업(번역)을 사용 중인 SNMP API에 맡기겠습니다.

이것이 불가능할 경우 SNMP MIB 지침에 따라 OID를 변경하면 안 되므로 OID를 사용해도 괜찮습니다.장치 자체가 변경되지 않는 한 이전 OID를 재사용할 수 없는 새로운 MIB가 필요합니다.

  • 이는 명백하지만 SNMP MIB 변수의 속성을 확인하십시오.상태가 '사용되지 않음'인 변수를 쿼리하지 마십시오.

어치..

경우에 따라 숫자 표현 대신 이름을 사용하면 하위 수준 라이브러리에 필요한 OID의 숫자 표현을 얻기 위해 MIB 파일을 읽고 구문 분석해야 하므로 심각한 성능 저하가 발생할 수 있습니다.

예를 들어, 프로그램을 사용하여 매분마다 무언가를 수집한 다음 MIB를 계속해서 로드하는 것은 매우 비효율적이라고 가정해 보겠습니다.

다른 사람들이 언급했듯이, 일단 게시되면 수치 매핑의 이름은 절대 바뀌지 않으므로 프로그램에 내용을 하드 코딩한다는 사실은 실제로 문제가 되지 않습니다.

명령줄 SNMP 도구에 액세스할 수 있는 경우 '를 확인하세요.snmp번역' 텍스트에서 숫자 OID로 왔다 갔다 하는 멋진 도구입니다.

나는 이것이 일반적인 오해라고 생각합니다(이름을 확인할 때마다 MIB를 다시 로드하는 것에 대한 것).

대부분의 SNMP API(예: AdventNet, CMU)는 시작 시 MIBS를 로드하며 그 후에는 이름에서 oid로 또는 그 반대로 '변환'을 요청할 때마다 MIB를 로드하는 '오버헤드'가 없습니다.게다가 그 중 일부는 결과를 캐시하고 그 시점에서는 이름 조회와 OID 직접 코딩 사이에 차이가 없습니다.

이는 "IP 주소" 대 '호스트 이름'을 지정하는 것과 약간 비슷합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top