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.1mib-2표준 MIB 객체IANA/IETF시스템 정보, 인터페이스 통계
1.3.6.1.4.1enterprises벤더별 사설 객체각 기업Cisco: 1.3.6.1.4.1.9
1.3.6.1.3experimental실험적/임시 객체IANA표준화 전 테스트 용도
1.3.6.1.6snmpV2SNMPv2 전용 객체IANASNMPv2 모듈, 도메인
계층적 특성의 장점
  1. 고유성 보장: 각 OID는 전 세계적으로 유일한 식별자
  2. 확장성: 새로운 노드를 기존 구조에 추가 가능
  3. 관리 효율성: 각 브랜치별로 관리 주체가 명확히 분리
  4. 표준화: 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.0sysDescr시스템 설명문자열Cisco IOS Software
1.3.6.1.2.1.1.2.0sysObjectID시스템 객체 IDOID1.3.6.1.4.1.9.1.1
1.3.6.1.2.1.1.3.0sysUpTime시스템 가동 시간32비트 정수12345678 (단위: 100분의 1초)
1.3.6.1.2.1.1.4.0sysContact관리자 연락처문자열admin@company.com
1.3.6.1.2.1.1.5.0sysName시스템 이름문자열router01.company.com
1.3.6.1.2.1.1.6.0sysLocation시스템 위치문자열Seoul Data Center
Interfaces Group (1.3.6.1.2.1.2)

네트워크 인터페이스 정보를 제공하는 OID들입니다.

기본 인터페이스 정보
OID이름설명데이터 타입
1.3.6.1.2.1.2.1.0ifNumber인터페이스 총 개수32비트 정수
1.3.6.1.2.1.2.2.1.1.XifIndex인터페이스 인덱스32비트 정수
1.3.6.1.2.1.2.2.1.2.XifDescr인터페이스 설명문자열
1.3.6.1.2.1.2.2.1.3.XifType인터페이스 타입32비트 정수
1.3.6.1.2.1.2.2.1.4.XifMtu최대 전송 단위32비트 정수
1.3.6.1.2.1.2.2.1.5.XifSpeed인터페이스 속도32비트 정수
트래픽 통계 (32비트 카운터)
OID이름설명데이터 타입
1.3.6.1.2.1.2.2.1.10.XifInOctets수신 바이트 수32비트 정수
1.3.6.1.2.1.2.2.1.11.XifInUcastPkts수신 유니캐스트 패킷32비트 정수
1.3.6.1.2.1.2.2.1.12.XifInNUcastPkts수신 논유니캐스트 패킷32비트 정수
1.3.6.1.2.1.2.2.1.13.XifInDiscards수신 드롭 패킷32비트 정수
1.3.6.1.2.1.2.2.1.14.XifInErrors수신 오류 패킷32비트 정수
1.3.6.1.2.1.2.2.1.16.XifOutOctets송신 바이트 수32비트 정수
1.3.6.1.2.1.2.2.1.17.XifOutUcastPkts송신 유니캐스트 패킷32비트 정수
1.3.6.1.2.1.2.2.1.18.XifOutNUcastPkts송신 논유니캐스트 패킷32비트 정수
1.3.6.1.2.1.2.2.1.19.XifOutDiscards송신 드롭 패킷32비트 정수
1.3.6.1.2.1.2.2.1.20.XifOutErrors송신 오류 패킷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.XifName인터페이스 이름문자열
1.3.6.1.2.1.31.1.1.1.6.XifHCInOctets수신 바이트 수 (64비트)64비트 정수
1.3.6.1.2.1.31.1.1.1.7.XifHCInUcastPkts수신 유니캐스트 패킷 (64비트)64비트 정수
1.3.6.1.2.1.31.1.1.1.8.XifHCInMulticastPkts수신 멀티캐스트 패킷 (64비트)64비트 정수
1.3.6.1.2.1.31.1.1.1.9.XifHCInBroadcastPkts수신 브로드캐스트 패킷 (64비트)64비트 정수
1.3.6.1.2.1.31.1.1.1.10.XifHCOutOctets송신 바이트 수 (64비트)64비트 정수
1.3.6.1.2.1.31.1.1.1.11.XifHCOutUcastPkts송신 유니캐스트 패킷 (64비트)64비트 정수
1.3.6.1.2.1.31.1.1.1.12.XifHCOutMulticastPkts송신 멀티캐스트 패킷 (64비트)64비트 정수
1.3.6.1.2.1.31.1.1.1.13.XifHCOutBroadcastPkts송신 브로드캐스트 패킷 (64비트)64비트 정수
Host Resources MIB (1.3.6.1.2.1.25)

시스템 리소스 정보를 제공하는 OID들입니다.

시스템 정보
OID이름설명데이터 타입
1.3.6.1.2.1.25.1.1.0hrSystemUptime시스템 가동 시간32비트 정수
1.3.6.1.2.1.25.1.2.0hrSystemDate시스템 날짜/시간문자열
1.3.6.1.2.1.25.1.3.0hrSystemInitialLoadDevice부팅 장치32비트 정수
1.3.6.1.2.1.25.1.4.0hrSystemInitialLoadParameters부팅 매개변수문자열
메모리 정보
OID이름설명데이터 타입
1.3.6.1.2.1.25.2.2.0hrMemorySize총 메모리 크기 (KB)32비트 정수
1.3.6.1.2.1.25.2.3.1.3.XhrStorageSize스토리지 크기32비트 정수
1.3.6.1.2.1.25.2.3.1.6.XhrStorageUsed사용된 스토리지32비트 정수
CPU 정보
OID이름설명데이터 타입
1.3.6.1.2.1.25.3.3.1.2.XhrProcessorLoadCPU 사용률 (%)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

  1. 다운로드 및 설치:

    • Net-SNMP Windows에서 다운로드
    • 설치 후 명령 프롬프트(CMD) 또는 PowerShell에서 사용
  2. 명령어 사용법 (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 모듈

  1. SNMP 모듈 설치:

    PowerShell Gallery에서 SNMP 모듈 설치:

    Install-Module -Name SNMP -Force
    
  2. 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 도구

추천 설치 경로:

  1. 개발자/IT 관리자: Net-SNMP for Windows (명령줄 도구 선호)
  2. PowerShell 사용자: PowerShell SNMP 모듈
  3. 일반 사용자: 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 Mbps32비트충분한 wrap around 시간
20 Mbps ~ 650 Mbps64비트 (Octets), 32비트 (Packets)바이트는 빨리 증가
≥ 650 Mbps64비트모든 카운터가 빠르게 증가
4. Counter Wrap Around 시간 계산

32비트 카운터 최댓값: 4,294,967,295

Wrap Around 시간 예시:

  • 10 Mbps: 약 57분
  • 100 Mbps: 약 5.7분
  • 1 Gbps: 약 34초
Note
고속 네트워크에서는 반드시 64비트 카운터(ifHCInOctets, ifHCOutOctets)를 사용하세요.

온라인 참조 자료

공식 표준 문서
  • 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 데이터베이스
벤더별 MIB 정보