SNMP

다운로드 14
업데이트 2025. 10. 29.

snmpv2-iftables

SNMPv2c를 사용하여 인터페이스 트래픽 통계를 수집하고 델타 값을 계산합니다. Ethernet 인터페이스(ifType=6)만 필터링하여 출력합니다.

문법

snmpv2-iftables [community=COMMUNITY] host=HOST[:PORT] [interval=INTERVAL] [timeout=SECONDS] [retry=RETRY]
community=COMMUNITY
SNMP 커뮤니티 문자열. 보편적으로 사용되는 커뮤니티 문자열은 public입니다. 운영 환경에 따라 다른 커뮤니티 문자열을 사용할 수 있습니다.
host=HOST[:PORT]
쉼표(,)를 구분자로 하는 HOST:PORT 형식의 문자열 목록 (예: 192.168.1.1:161,10.0.0.5). 포트 번호는 생략할 수 있습니다(기본값: 161).
interval=INTERVAL
델타 계산을 위한 측정 간격 (초 단위, 기본값: 10)
timeout=SECONDS
타임아웃 (초 단위, 기본값: 5)
retry=RETRY
SNMP 요청에 대한 응답이 타임아웃(timeout) 시간 내에 도착하지 않을 때 재시도할 횟수 (기본값: 2)

설명

동작 원리
  1. ifTable (OID1.3.6.1.2.1.2.2)를 첫 번째 수집
  2. interval로 지정된 시간동안 대기 (1초 단위로 분할하여 취소 가능)
  3. 동일한 ifTable을 두 번째 수집
  4. 수집된 두 값의 차이값(델타) 계산 (32비트 카운터 오버플로우 처리)
  5. 델타 값을 기반으로 bps, fps, utilization 계산
  6. Ethernet 인터페이스(ifType=6)만 필터링
  7. 인터페이스 인덱스 순서로 정렬하여 출력
계산 방식
  • bps (bits per second): (bytes_delta * 8 * 1000) / interval_ms
  • fps (frames per second): (packets_delta * 1000) / interval_ms
  • utilization (%): (bps * 100.0) / bandwidth (소수점 2자리)
  • 32비트 오버플로우 처리: newValueoldValue보다 작은 경우 delta = newValue + 0xFFFFFFFFL - oldValue

출력 필드

필드타입이름설명
host문자열호스트대상 호스트
port32비트 정수포트대상 포트
index32비트 정수인덱스인터페이스 인덱스
name문자열이름인터페이스 이름 (ifDescr)
type문자열타입예: ethernetCsmacd, gigabitEthernet, ieee8023adLag
mtu32비트 정수MTU예: 1500, 9000
mac문자열MACMAC 주소
bandwidth64비트 정수대역폭bps 단위 (예: 1Gbps는 1000000000, 10Gbps는 10000000000)
admin_status문자열관리 상태예: up, down, testing
oper_status문자열운영 상태예: up, down, dormant, lowerLayerDown
last_change문자열마지막 변경TimeTicks 형식 (예: 0:00:00.00, 1:23:45.67)
rx_utilization64비트 실수수신 사용률 %수신 대역폭 사용률
tx_utilization64비트 실수송신 사용률 %송신 대역폭 사용률
rx_bps64비트 정수수신 bps초당 수신 비트 수
tx_bps64비트 정수송신 bps초당 송신 비트 수
rx_fps64비트 정수수신 fps초당 수신 프레임 수
tx_fps64비트 정수송신 fps초당 송신 프레임 수
rx_bytes64비트 정수수신 바이트수신 바이트 (delta)
tx_bytes64비트 정수송신 바이트송신 바이트 (delta)
rx_ucast_pkts64비트 정수수신 유니캐스트 패킷수신 유니캐스트 패킷 (delta)
tx_ucast_pkts64비트 정수송신 유니캐스트 패킷송신 유니캐스트 패킷 (delta)
rx_nucast_pkts64비트 정수수신 논유니캐스트 패킷수신 논유니캐스트 패킷 (delta)
tx_nucast_pkts64비트 정수송신 논유니캐스트 패킷송신 논유니캐스트 패킷 (delta)
rx_errors64비트 정수수신 에러수신 에러 (delta)
tx_errors64비트 정수송신 에러송신 에러 (delta)
rx_discards64비트 정수수신 폐기수신 폐기 (delta)
tx_discards64비트 정수송신 폐기송신 폐기 (delta)
rx_unknown_protos64비트 정수수신 알 수 없는 프로토콜수신 알 수 없는 프로토콜 (delta)
tx_queue_length64비트 정수송신 큐 길이송신 큐 길이
interval64비트 정수간격측정 간격 (밀리초)
start_time날짜시작 시각첫 번째 수집 시각
end_time날짜종료 시각두 번째 수집 시각

사용 예

  1. 기본 interval(10초)로 트래픽 통계 수집

    snmpv2-iftables community=public host=192.168.1.1
    
  2. 5초 간격으로 측정

    snmpv2-iftables community=public host=192.168.1.1 interval=5
    
  3. 여러 스위치 동시 모니터링

    snmpv2-iftables community=public 
        host=192.168.1.1,192.168.1.2,192.168.1.3 interval=10