IT 자원 관리에 사용되는 SNMP(Simple Network Management Protocol)은 MIB(Management Infomation Base)라고 불리는 트리구조의 데이터 형식을 통해서 NMS서버에서 필요한 정보를 관리대상 클라이언트에게 UDP로 요청하여 값을 수신받아 저장/관리합니다.
내부 IT 자산을 NMS Tool을 통해 관리하고 필요한 정보(MIB)를 NMS서버가 주기적으로 요청하여 특정 임계값이 넘어가거나 문제가 되는 정보가 들어 오는지 모니터링 할 때 매우 유용합니다.
MIB 브라우저는 관리 할 클라이언트에 간단한 브라우저 형태로 원하는 MIB 값을 바로 요청해 관리자 입장에서 원하는 MIB 정보인지를 확인 할때 주로 사용 됩니다. (이말을 이해하시려면 아래 설명들을 끝까지 앍어 주셔야 왜 MIB 브라우저가 유용하게 사용 되는지를 알수 있을 것입니다.)
우선 공개용 MIB 브라우저는 구글 검색으로 만히 찾을 수 있습니다. 저는 약 10년 넘도록 아래 링크 페이지의 MIB 브라우저를 주로 사용 합니다. 간단한 설치 및 조작이 가능해서 주로 사용합니다.
(1) MIB 브라우저 다운로드 받고 설치하기
아래 링크를 통해 MIB 브라우저를 다운로드 받을 수 있습니다.
Network Management / Network Monitoring / SNMP Monitoring / MIB Browser (ireasoning.com)
위 링크에서 무료 개인용버전을 다운 받아도 충분히 SNMP 테스트 및 MIB 정보를 확인 할 수 있으니 참고해 주세요.
다운받은 Setup.exe 파일을 실행하여 MIB 브라우저를 설치 합니다. 설치 하실때 특별한 내용은 없고 기본 값으로 인스톨 해 주시면 됩니다.
(2) MIB 브라우저를 실행하기
설치가 완료 되고 인스톨한 MIB 브라우저를 실행 시키면 아래 화면이 실행 됩니다.
메뉴를 간단히 소개 드리면(거의 모든 MIB 브라우저는 동일한 구조를 가지니 위 소프트웨어를 이해하시면 다른 MIB 브라우저도 사용 하실 수 있습니다.
왼쪽 창에 보면 [MIB Tree] 라는 트리형태의 폴더 같은게 보이실 겁니다. 이 구조가 위에서 설명한 MIB의 구조라고 보시면 될 것 같습니다. 즉, MIB는 트리구조로 구성되었으며 각 트리의 최 종단 항목들이 MIB 값을 가지고 있습니다.
위에 선택된 sysDescr 이라는 내용은 시스템 설명(description)이라고 보시면 되고 관리 되어지는 클라이언트에 SNMP 서비스를 기동하면 클라이언트의 설명, 위치, 담당자 등을 작성 가능하고 기본적으로 SNMP 에이전트에서 SNMP 서비스가 시작되면서 자체 클라이언트 정보를 가지고 오게 되는 구조 입니다.
만약 윈도우 10 PC를 관리하고자 할때 윈도우 10의 SNMP 서비스를 기동하고 SNMP 서비스의 담당자, 위치 정보를 입력해 놓으면 MIB 브라우저에서 해당 값을 불러 올 수 있습니다.
MIB브라우저에서 해당 클라이언트에 MIB 값(sysContact, sysLocation) 호출시 수집되는 데이터 값을 보여 줍니다.
위에서 처럼 Address 부분에 MIB 데이터를 수집할 SNMP 에이전트의 IP 주소를 적어주시고 수집 할 원하는 정확한 MIB을 더블클릭 혹은 Get 명령을 보내면 해당되는 MIB 값을 수집 할 수 있습니다.
(2) Public MIB 와 Private MIB (Vendor MIB)
앞에서 보신대로 MIB에는 관리 및 모니터링을 위해 아주 유용한 정보들을 포함 하고 있습니다. 혹은 MIB에서 수집된 데이터들의 조합 혹은 MIB 데이터의 가공을 통해서 유용한 정보로 가공하고 그 정보를 사용하여 시스템을 관리 하는 것이라고 보실 수 있습니다.
MIB 정보는 상당히 많은 정보들을 사전에 정의해 놓았고 기본적으로 MIB 기본 트리구조를 가지는데 이 기본적인 MIB 트리정보를 우리는 흔히 Public MIB 이라고 부릅니다.
Public MIB는 여러 타입의 장비들 (PC, 서버, 라우터, 스위치, 스토리지 등)이 공통적으로 값을 가지는 내용을 사전에 정해 놓은 것이라 볼 수 있습니다.
앞에서 테스트 해본 sysContact, sysLocation의 MIB 값은 장비 유형과 별개로 모든 장비가 가질 수 있는 값이라고 보시면 될 것 같습니다. 그리고 SNMP는 IP 통신이기 때문에 IP와 관련된 값들, NIC(랜카드 인터페이스)과 관련된 정보들 (in/out 패킷수, 인터페이스 속도, Collision 등)은 Public MIB에서 사전 정의 해 놓았습니다.
그러면 Private MIB은 무엇인가?
Private MIB은 트리구조인 표준 MIB의 트리구조에 각 장비 제조사들에게 Sub Tree 항목을 제공하여 표준 MIB에서 관리될 수 없는 상서한 장비 상태를 SNMP로 제공하기 위한 MIB 입니다.
쉬운 이해를 위해 아래 내용을 보시면 현재 기동되어 있는 MIB 브라우저의 트리 구조를 살펴 보면 <iso.org.dod.internet> 기본 트리 아래에 "mgmt" "snmpV2"의 서브 트리만을 가지고 있습니다.
이 상태에서 Private MIB를 Load 해 보면(Juniper Network사의 MIB 중 mib-jnx-chassis MIB을 Load 해 보겠습니다.
(a) MIB 브라우저 메뉴에서 Load MIBs를 선택 합니다.
(b) Private MIB을 선택하여 Load 합니다.
참고로 Private MIB는 장비 제조사 홈페이지에서 주로 제공됩니다. 테스트를 위해서 Juniper Networks 사의 Private MIB을 로드 하겠습니다. (대형 제조사의 경우는 Private MIB 파일을 기능, 모듈, 장비별로 다 분리하여 제공하고 소형 제조사의 경우에는 하나의 파일로도 제공하는 경우도 있습니다)
열기를 누르면 MIB 브라우저에서 Juniper Private MIB를 로드 합니다. 로드된 결과를 다시 확인해 보겠습니다.
아래와 같이 iso.org.dod.internet 기본 트리 아래에 신규로 Private 이라는 트리가 생성 되었으며 그 아래 enterprises, 그리고 마지막에 juniperMIB라는 신규 트리가 생성 되었습니다.
즉 이미 Juniper Network사는 생성된 트리구조를 가지도록 표준화 된 구조라고 보시면 될 것 같습니다.
OID는 무엇인가?
OID (Object ID)는 위에서 계속 설명드린 트리 구조를 숫자로 표현한 값입니다. 즉, 처음에 설명드린 sysContact 라는 값을 정의 해보면
sysContact에 해당하는 OID는 .1.3.6.1.2.1.1.4.0 입니다. 트리의 처음 부분에 나와 있는
iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).sysContact(4)
이해 되시죠. 이런식으로 모든 제조사에도 해당 제조사의 OID가 부여 되어 있으며 이 OID는 실제 NMS에서 SNMP를 사용하여 통신 할때 클라이언트에게 요청하는 값에 해당 됩니다.
(3) MIB 브라우저의 활용
앞에서 언급드린대로 시스템을 잘 관리하기 위해서는 표준 MIB에서만 제공되는 정보를 가지고 관리/모니터링 하는 것 보다도 Private MIB를 활용하여 정보를 수집하는 것이 훨씬 더 자세한 정보를 수집 할 수 있습니다.
또한 이러한 Private MIB을 활용하면 IT 장비뿐만 아니라 방송장비, 기계장비 등 다양한 장비를 SNMP를 사용하여 관리 할 수 있습니다.
예를 들어
어떤 방송사에 방송장비(신호 분배기, 신호 변환기, 하드웨어 Encoder 등)가 구성되어 있다고 가정을 하면 표준 MIB으로 관리할때 장비로 부터 수집할 수 있는 데이터는 실제 장비의 동작상태 (방송장비등은 IP 통신이 아닌 SDI라는 신호를 BNC 케이블을 통해 처리하는 경우가 다수 임)가 아닌 전혀 상관 없는 장비의 관리 목적으로 사용하는 인터페이스의 상태, 트래픽 양 등을 수집 할 수 있지만
만약 방송장비 제조사에서 상세한 Private MIB를 제공한다면 SDI 입력 신호 유무, SDI 출력 상태 확인, 장비 온도, 장비 상태를 자세히 모니터링 할 수 있습니다.
또한 Private MIB에서 해당 장비의 제어를 SNMP로 제공되는 경우 장비의 프로세싱을 제어 하는 경우도 종종 있습니다.
하지만, Private MIB의 경우 항목이 너무 많고 실제 해당 MIB값이 어떤 정보를 의미하는지 정의되어 있으나 필자의 경우 MIB 정의 문서로만 원하는 MIB를 선택 할 수 없습니다.
그래서 MIB 브라우저를 통해 원하는 상태 값을 변경해 가면서 MIB 값이 정확히 변경되는 값을 찾을때 MIB 브라우저를 활용합니다. 원하는 MIB 정보를 찾으면 해당 MIB의 OID를 확인하여 NMS에서 해당 OID 정보를 수집하여 관리 모니터링 하도록 설정 혹은 개발하여 사용합니다.
'IT 기술' 카테고리의 다른 글
Windows 10 에서 SNMP 기능 켜기 (0) | 2021.12.02 |
---|---|
LibreNMS 가상이미지를 사용한 설치 방법 (0) | 2021.12.02 |
LibreNMS 설치 종류 및 특징 (0) | 2021.12.02 |
멀티캐스트 테스트 TOOL "Winsend" (0) | 2021.11.26 |
PTP 지원 랜카드 (0) | 2021.11.26 |