SNMP OID
이 문서는 SNMP GET 수집기 설정 시 필요한 OID(Object Identifier) 정보를 체계적으로 정리한 참조 자료입니다.
OID 구조 이해
OID 트리 구조
SNMP OID는 계층적 트리 구조를 가지며, 각 노드는 부모 노드로부터 상속받는 고유한 번호를 가집니다. 이는 파일 시스템의 디렉터리 구조와 유사합니다.
루트 노드부터의 계층 구조
1 - ISO (International Organization for Standardization)
└── 1.3 - org (ISO identified organization)
└── 1.3.6 - dod (US Department of Defense)
└── 1.3.6.1 - internet (Internet)
├── 1.3.6.1.1 - directory (X.500 Directory)
├── 1.3.6.1.2 - mgmt (Management)
│ └── 1.3.6.1.2.1 - mib-2 (MIB-II, 표준 관리 객체)
├── 1.3.6.1.3 - experimental (실험적 객체)
├── 1.3.6.1.4 - private (사설)
│ └── 1.3.6.1.4.1 - enterprises (기업별 사설 객체)
├── 1.3.6.1.5 - security (보안)
├── 1.3.6.1.6 - snmpV2 (SNMPv2)
├── 1.3.6.1.7 - mail (메일)
└── 1.3.6.1.8 - features (기능)
각 브랜치의 역할과 관리 주체
| OID | 이름 | 역할 | 관리 주체 | 사용 예시 |
|---|---|---|---|---|
| 1.3.6.1.2.1 | mib-2 | 표준 MIB 객체 | IANA/IETF | 시스템 정보, 인터페이스 통계 |
| 1.3.6.1.4.1 | enterprises | 벤더별 사설 객체 | 각 기업 | Cisco: 1.3.6.1.4.1.9 |
| 1.3.6.1.3 | experimental | 실험적/임시 객체 | IANA | 표준화 전 테스트 용도 |
| 1.3.6.1.6 | snmpV2 | SNMPv2 전용 객체 | IANA | SNMPv2 모듈, 도메인 |
계층적 특성의 장점
- 고유성 보장: 각 OID는 전 세계적으로 유일한 식별자
- 확장성: 새로운 노드를 기존 구조에 추가 가능
- 관리 효율성: 각 브랜치별로 관리 주체가 명확히 분리
- 표준화: RFC 문서를 통한 체계적인 표준 관리
실제 OID 예시 해석
예시: 1.3.6.1.2.1.1.1.0 (시스템 설명)
1 - ISO 루트
1.3 - ISO 인증 기관
1.3.6 - 미국 국방부
1.3.6.1 - 인터넷
1.3.6.1.2 - 관리 객체
1.3.6.1.2.1 - MIB-II 표준
1.3.6.1.2.1.1 - system 그룹
1.3.6.1.2.1.1.1 - sysDescr 객체
1.3.6.1.2.1.1.1.0 - 스칼라 인스턴스 (단일 값)
예시: 1.3.6.1.4.1.9.2.1.56.0 (Cisco CPU 사용률)
1.3.6.1.4.1 - 기업 사설 브랜치
1.3.6.1.4.1.9 - Cisco Systems (기업 번호: 9)
1.3.6.1.4.1.9.2.1.56.0 - avgBusy5 (5분 평균 CPU 사용률)
표기 방법
숫자 표기법 (소나 수집기에서 사용):
1.3.6.1.2.1.1.1.0
이름 표기법 (MIB 파일에서 사용):
iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0
주요 표준 OID
System Group (1.3.6.1.2.1.1)
시스템 기본 정보를 제공하는 OID들입니다.
| OID | 이름 | 설명 | 데이터 타입 | 예시 값 |
|---|---|---|---|---|
| 1.3.6.1.2.1.1.1.0 | sysDescr | 시스템 설명 | 문자열 | Cisco IOS Software |
| 1.3.6.1.2.1.1.2.0 | sysObjectID | 시스템 객체 ID | OID | 1.3.6.1.4.1.9.1.1 |
| 1.3.6.1.2.1.1.3.0 | sysUpTime | 시스템 가동 시간 | 32비트 정수 | 12345678 (단위: 100분의 1초) |
| 1.3.6.1.2.1.1.4.0 | sysContact | 관리자 연락처 | 문자열 | admin@company.com |
| 1.3.6.1.2.1.1.5.0 | sysName | 시스템 이름 | 문자열 | router01.company.com |
| 1.3.6.1.2.1.1.6.0 | sysLocation | 시스템 위치 | 문자열 | Seoul Data Center |
Interfaces Group (1.3.6.1.2.1.2)
네트워크 인터페이스 정보를 제공하는 OID들입니다.
기본 인터페이스 정보
| OID | 이름 | 설명 | 데이터 타입 |
|---|---|---|---|
| 1.3.6.1.2.1.2.1.0 | ifNumber | 인터페이스 총 개수 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.1.X | ifIndex | 인터페이스 인덱스 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.2.X | ifDescr | 인터페이스 설명 | 문자열 |
| 1.3.6.1.2.1.2.2.1.3.X | ifType | 인터페이스 타입 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.4.X | ifMtu | 최대 전송 단위 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.5.X | ifSpeed | 인터페이스 속도 | 32비트 정수 |
트래픽 통계 (32비트 카운터)
| OID | 이름 | 설명 | 데이터 타입 |
|---|---|---|---|
| 1.3.6.1.2.1.2.2.1.10.X | ifInOctets | 수신 바이트 수 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.11.X | ifInUcastPkts | 수신 유니캐스트 패킷 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.12.X | ifInNUcastPkts | 수신 논유니캐스트 패킷 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.13.X | ifInDiscards | 수신 드롭 패킷 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.14.X | ifInErrors | 수신 오류 패킷 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.16.X | ifOutOctets | 송신 바이트 수 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.17.X | ifOutUcastPkts | 송신 유니캐스트 패킷 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.18.X | ifOutNUcastPkts | 송신 논유니캐스트 패킷 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.19.X | ifOutDiscards | 송신 드롭 패킷 | 32비트 정수 |
| 1.3.6.1.2.1.2.2.1.20.X | ifOutErrors | 송신 오류 패킷 | 32비트 정수 |
참고: X는 인터페이스 인덱스 번호입니다. 예: 1.3.6.1.2.1.2.2.1.10.1 (첫 번째 인터페이스의 수신 바이트)
High Capacity Counters (1.3.6.1.2.1.31)
고속 인터페이스용 64비트 카운터입니다.
| OID | 이름 | 설명 | 데이터 타입 |
|---|---|---|---|
| 1.3.6.1.2.1.31.1.1.1.1.X | ifName | 인터페이스 이름 | 문자열 |
| 1.3.6.1.2.1.31.1.1.1.6.X | ifHCInOctets | 수신 바이트 수 (64비트) | 64비트 정수 |
| 1.3.6.1.2.1.31.1.1.1.7.X | ifHCInUcastPkts | 수신 유니캐스트 패킷 (64비트) | 64비트 정수 |
| 1.3.6.1.2.1.31.1.1.1.8.X | ifHCInMulticastPkts | 수신 멀티캐스트 패킷 (64비트) | 64비트 정수 |
| 1.3.6.1.2.1.31.1.1.1.9.X | ifHCInBroadcastPkts | 수신 브로드캐스트 패킷 (64비트) | 64비트 정수 |
| 1.3.6.1.2.1.31.1.1.1.10.X | ifHCOutOctets | 송신 바이트 수 (64비트) | 64비트 정수 |
| 1.3.6.1.2.1.31.1.1.1.11.X | ifHCOutUcastPkts | 송신 유니캐스트 패킷 (64비트) | 64비트 정수 |
| 1.3.6.1.2.1.31.1.1.1.12.X | ifHCOutMulticastPkts | 송신 멀티캐스트 패킷 (64비트) | 64비트 정수 |
| 1.3.6.1.2.1.31.1.1.1.13.X | ifHCOutBroadcastPkts | 송신 브로드캐스트 패킷 (64비트) | 64비트 정수 |
Host Resources MIB (1.3.6.1.2.1.25)
시스템 리소스 정보를 제공하는 OID들입니다.
시스템 정보
| OID | 이름 | 설명 | 데이터 타입 |
|---|---|---|---|
| 1.3.6.1.2.1.25.1.1.0 | hrSystemUptime | 시스템 가동 시간 | 32비트 정수 |
| 1.3.6.1.2.1.25.1.2.0 | hrSystemDate | 시스템 날짜/시간 | 문자열 |
| 1.3.6.1.2.1.25.1.3.0 | hrSystemInitialLoadDevice | 부팅 장치 | 32비트 정수 |
| 1.3.6.1.2.1.25.1.4.0 | hrSystemInitialLoadParameters | 부팅 매개변수 | 문자열 |
메모리 정보
| OID | 이름 | 설명 | 데이터 타입 |
|---|---|---|---|
| 1.3.6.1.2.1.25.2.2.0 | hrMemorySize | 총 메모리 크기 (KB) | 32비트 정수 |
| 1.3.6.1.2.1.25.2.3.1.3.X | hrStorageSize | 스토리지 크기 | 32비트 정수 |
| 1.3.6.1.2.1.25.2.3.1.6.X | hrStorageUsed | 사용된 스토리지 | 32비트 정수 |
CPU 정보
| OID | 이름 | 설명 | 데이터 타입 |
|---|---|---|---|
| 1.3.6.1.2.1.25.3.3.1.2.X | hrProcessorLoad | CPU 사용률 (%) | 32비트 정수 |
벤더별 Private Enterprise OID
Cisco Systems (1.3.6.1.4.1.9)
주요 Cisco OID:
1.3.6.1.4.1.9.2.1.56.0 - avgBusy5 (5분 평균 CPU 사용률)
1.3.6.1.4.1.9.2.1.57.0 - avgBusy1 (1분 평균 CPU 사용률)
1.3.6.1.4.1.9.9.48.1.1.1.5.X - cpmCPUTotal5min (CPU 5분 평균)
HP Enterprise (1.3.6.1.4.1.11)
주요 HP OID:
1.3.6.1.4.1.11.2.14.11.5.1.9.6.1.0 - hpSwitchCpuStat (CPU 통계)
Net-SNMP (1.3.6.1.4.1.8072)
주요 Net-SNMP OID:
1.3.6.1.4.1.8072.1.3.2.3.1.2.X - ssSwapIn (스왑 사용량)
1.3.6.1.4.1.8072.1.3.2.4.1.2.X - ssCpuUser (사용자 CPU)
실무 활용 가이드
1. OID 탐색 방법
Linux/macOS
Net-SNMP 도구 설치:
Ubuntu/Debian 시스템:
sudo apt-get install snmp snmp-mibs-downloader
CentOS/RHEL 시스템:
sudo yum install net-snmp-utils
macOS (Homebrew):
brew install net-snmp
기본 탐색 명령어:
시스템 정보 전체 조회:
snmpwalk -v2c -c public 192.168.1.1 1.3.6.1.2.1.1
인터페이스 정보 조회:
snmpwalk -v2c -c public 192.168.1.1 1.3.6.1.2.1.2.2.1.2
특정 OID 값 조회:
snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.1.0
테이블 형태로 출력:
snmptable -v2c -c public 192.168.1.1 1.3.6.1.2.1.2.2
Windows
방법 1: Net-SNMP for Windows
-
다운로드 및 설치:
- Net-SNMP Windows에서 다운로드
- 설치 후 명령 프롬프트(CMD) 또는 PowerShell에서 사용
-
명령어 사용법 (Linux와 동일):
시스템 정보 전체 조회:
snmpwalk -v2c -c public 192.168.1.1 1.3.6.1.2.1.1
인터페이스 정보 조회:
snmpwalk -v2c -c public 192.168.1.1 1.3.6.1.2.1.2.2.1.2
특정 OID 값 조회:
snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.1.0
방법 2: PowerShell SNMP 모듈
-
SNMP 모듈 설치:
PowerShell Gallery에서 SNMP 모듈 설치:
Install-Module -Name SNMP -Force -
PowerShell 명령어:
특정 OID 값 조회:
Get-SnmpData -IP "192.168.1.1" -Community "public" -OID "1.3.6.1.2.1.1.1.0"OID Walk (PowerShell 스크립트 예시) - 시스템 정보 조회:
$target = "192.168.1.1" $community = "public" $baseOid = "1.3.6.1.2.1.1" 1..6 | ForEach-Object { $oid = "$baseOid.$_.0" try { $result = Get-SnmpData -IP $target -Community $community -OID $oid -UDPport 161 Write-Host "$oid : $($result.Data)" } catch { Write-Host "$oid : Error - $($_.Exception.Message)" } }
방법 3: GUI 도구
- ManageEngine MibBrowser: 무료 MIB 브라우저
- iReasoning MIB Browser: 상용 MIB 브라우저
추천 설치 경로:
- 개발자/IT 관리자: Net-SNMP for Windows (명령줄 도구 선호)
- PowerShell 사용자: PowerShell SNMP 모듈
- 일반 사용자: GUI 도구 (MIB Browser 등)
2. SNMP GET 수집기 설정 예시
시스템 모니터링:
1.3.6.1.2.1.1.1.0=system_description,1.3.6.1.2.1.1.3.0=uptime,1.3.6.1.2.1.25.1.1.0=hr_uptime
인터페이스 트래픽 모니터링:
1.3.6.1.2.1.2.2.1.10.1=if1_in_octets,1.3.6.1.2.1.2.2.1.16.1=if1_out_octets,1.3.6.1.2.1.31.1.1.1.6.1=if1_hc_in_octets
CPU 및 메모리 모니터링:
1.3.6.1.2.1.25.3.3.1.2.1=cpu_load,1.3.6.1.2.1.25.2.2.0=memory_size,1.3.6.1.2.1.25.2.3.1.6.1=memory_used
3. 32비트 vs 64비트 카운터 선택
| 인터페이스 속도 | 권장 카운터 | 이유 |
|---|---|---|
| ≤ 20 Mbps | 32비트 | 충분한 wrap around 시간 |
| 20 Mbps ~ 650 Mbps | 64비트 (Octets), 32비트 (Packets) | 바이트는 빨리 증가 |
| ≥ 650 Mbps | 64비트 | 모든 카운터가 빠르게 증가 |
4. Counter Wrap Around 시간 계산
32비트 카운터 최댓값: 4,294,967,295
Wrap Around 시간 예시:
- 10 Mbps: 약 57분
- 100 Mbps: 약 5.7분
- 1 Gbps: 약 34초
온라인 참조 자료
공식 표준 문서
- RFC 1155: Structure and Identification of Management Information
- RFC 1213: Management Information Base for Network Management (MIB-II)
- RFC 2578: Structure of Management Information Version 2 (SMIv2)
- RFC 2233: The Interfaces Group MIB using SMIv2
OID 데이터베이스
- Object Identifier Repository: 포괄적인 OID 데이터베이스 및 검색
- IANA Structure of Management Information: 공식 SMI 번호 및 MIB-II 등록소
- IANA Private Enterprise Numbers: 공식 기업 번호 등록소
- MonitorTools MIB Collection: 벤더별 MIB 파일 컬렉션
벤더별 MIB 정보
- Cisco SNMP Object Navigator: Cisco MIB 객체 검색
- Juniper MIB Explorer: Juniper 장비 MIB 정보