SNMP는 장비를 어떻게 감시할까? 폴링과 Trap

SNMP는 장비를 어떻게 감시할까? 폴링과 Trap

JP-Hosting · 인프라 정보

JP Hosting 고양이와 SNMP 감시 화면, 이벤트 알림이 표시된 스위치

안녕하세요, JP-Hosting입니다. 사무실 스위치에서 랜 케이블이 빠졌을 때, 감시 서버는 어떻게 알아챌까요? 서버가 일정 간격으로 포트 상태를 확인할 수도 있고, 스위치가 연결이 끊겼다는 알림을 먼저 보낼 수도 있습니다. SNMP는 이 두 가지 방식으로 네트워크 장비를 감시할 수 있게 해 줍니다.

폴링은 감시 서버가 장비에 상태를 묻는 방식이고, Trap은 장비가 이벤트를 먼저 알리는 방식입니다. 일반적인 UDP 구성에서 조회 요청은 장비의 UDP 161로, Trap은 알림 수신기의 UDP 162로 향해요.

SNMP 한국어 4컷. 매니저가 에이전트의 UDP 161로 GET을 보내고 Response를 받습니다. OID로 조회 항목을 지정하고, 에이전트는 수신기의 UDP 162로 Trap을 보냅니다.
4컷으로 보는 SNMP 폴링과 Trap

1. 감시 서버는 매니저, 장비는 에이전트

SNMP(Simple Network Management Protocol)는 스위치나 라우터 같은 장비의 상태와 운영 데이터를 관리하는 프로토콜입니다. 감시 서버의 매니저가 필요한 정보를 요청하면, 장비에서 실행되는 에이전트가 해당 값을 돌려줍니다.

2. GET과 Response로 상태를 주기적으로 확인해요

감시 서버가 60초마다 스위치의 포트 상태를 확인한다고 해 볼게요. 매니저는 조회할 항목의 OID를 담아 GET 요청을 장비의 UDP 161로 보냅니다. 에이전트는 Response로 현재 값을 돌려줍니다. 매니저가 이렇게 반복해서 값을 읽는 것을 폴링이라고 해요.

포트가 두 조회 사이에 끊겼다가 복구되면, 폴링에서 두 번 모두 정상 상태로 보일 수 있습니다. 이때 장비가 보낸 이벤트 알림이 기록에 도움이 됩니다.

3. OID로 읽을 값을 지정해요

OID(Object Identifier)는 조회하거나 알릴 항목을 식별하는 번호입니다. MIB는 그 항목의 이름과 자료형, 의미 등을 정의합니다. 예를 들어 스위치의 포트 상태와 수신 바이트는 서로 다른 항목이고, 인터페이스별 항목은 인덱스로 어느 포트의 값인지 구분해요.

조회 항목값을 읽는 방법
포트 상태운영 상태를 읽어 Up, Down 등을 확인
송수신량누적 바이트 카운터 두 값의 차이로 평균 bps 계산
CPU 사용률장비가 지원하는 항목에서 사용률 확인

예를 들어 수신 바이트 카운터가 60초 동안 750만 바이트 늘었다면, 7,500,000 × 8 ÷ 60 = 평균 1,000,000 bps입니다. 장비 재시작 등으로 카운터가 초기화된 구간은 계산에서 제외합니다.

4. 연결이 끊기면 장비가 Trap을 보낼 수 있어요

스위치의 포트 연결이 끊기면, 장비가 설정된 수신기의 UDP 162로 linkDown Trap을 보낼 수 있습니다. Trap에는 수신 확인 응답이 없어서 네트워크가 끊겨 알림이 전달되지 않을 수도 있어요. 장비와 감시 시스템이 지원하는 Inform은 수신 측이 응답하는 알림 방식입니다.

평소 상태와 장기 추세는 폴링으로 확인하고, 포트 연결 끊김 같은 이벤트는 Trap으로 받아볼 수 있어요.

참고 문서 · RFC 3416 · SNMP 메시지 · RFC 3417 · UDP 포트 · RFC 2863 · 인터페이스 MIB

Powered by Blogger.