snmpv2-scalars
SNMPv2c를 사용하여 스칼라 OID 값들을 하나의 레코드로 조회합니다.
문법
snmpv2-scalars community=COMMUNITY host=HOST[:PORT] oid=OID [timeout=SECONDS] [retry=RETRY]
community=COMMUNITY- SNMP 커뮤니티 문자열. 보편적으로 사용되는 커뮤니티 문자열은
public입니다. 운영 환경에 따라 다른 커뮤니티 문자열을 사용할 수 있습니다. host=HOST[:PORT]- 쉼표(
,)를 구분자로 하는HOST:PORT형식의 문자열 목록 (예:192.168.1.1:161,10.0.0.5). 포트 번호는 생략할 수 있습니다(기본값:161). oid=OID- 쉼표(
,)를 구분자로 하는 OID 목록, 스칼라 OID는.0으로 끝납니다(예:1.3.6.1.2.1.1.1.0,1.3.6.1.2.1.1.3.0). timeout=SECONDS- 타임아웃 (초 단위, 기본값: 5)
retry=RETRY- SNMP 요청에 대한 응답이 타임아웃(
timeout) 시간 내에 도착하지 않을 때 재시도할 횟수 (기본값: 2)
설명
스칼라(Scalar) OID는 SNMP MIB 구조에서 단일 인스턴스 값을 가지는 객체를 의미합니다.
특징:
- OID가
.0으로 끝남 (인스턴스 식별자) - 하나의 값만 존재 (테이블이 아님)
- 예:
sysDescr.0(1.3.6.1.2.1.1.1.0)
스칼라 vs 테이블:
| 구분 | 스칼라 (Scalar) | 테이블 (Table) |
|---|---|---|
| 인스턴스 | 단일 값 | 여러 행 |
| OID 형식 | 1.3.6.1.2.1.1.1.0 | 1.3.6.1.2.1.2.2.1.2.1 |
| 접미사 | .0 | .{index} (예: .1, .2) |
| 예시 | sysName, sysUpTime | ifDescr, ifSpeed |
| 사용 명령 | snmpv2-scalars | snmpv2-walk, snmpv2-bulkget |
스칼라 OID 예시:
1.3.6.1.2.1.1.1.0 (sysDescr.0) - 시스템 설명
1.3.6.1.2.1.1.3.0 (sysUpTime.0) - 시스템 가동 시간
1.3.6.1.2.1.1.5.0 (sysName.0) - 시스템 이름
1.3.6.1.2.1.1.6.0 (sysLocation.0) - 시스템 위치
테이블 OID 예시:
1.3.6.1.2.1.2.2.1.2.1 (ifDescr.1) - 인터페이스 1 설명
1.3.6.1.2.1.2.2.1.2.2 (ifDescr.2) - 인터페이스 2 설명
1.3.6.1.2.1.2.2.1.2.3 (ifDescr.3) - 인터페이스 3 설명
출력 필드
이 명령은 여러 스칼라 OID 값을 하나의 레코드로 출력합니다. 각 OID는 MIB 이름을 기반으로 한 필드명으로 변환됩니다.
필드명 변환 규칙:
- MIB 이름을 소문자와 밑줄로 구성된 형식(snake_case)으로 변환합니다(예:
sysDescr.0→sys_descr). .0접미사는 제거됩니다.
출력 특징:
-
호스트당 1개의 레코드를 생성하고, OID별로 별도의 레코드를 생성하지 않습니다.
-
레코드 안에서 필드 순서는
host필드가 가장 앞에 오고, 그 뒤에 OID 순서대로 생성된 필드들이 차례대로 옵니다. 즉,host필드는 항상 첫 번째 필드입니다.필드 타입 이름 설명 host 문자열 호스트 대상 호스트 (동적) 다양함 MIB 이름 각 OID의 MIB 이름을 snake_case로 변환한 필드
snmpv2-get과 다음과 같은 차이점이 있습니다.
- snmpv2-get: OID마다 별도의 레코드 생성 (OID 3개 → 3개 레코드)
- snmpv2-scalars: 모든 OID를 hots 필드를 기준으로 하나의 레코드로 통합 (OID 3개 → 1개 레코드)