Network tech/SNMP

[SNMP] SNMP(Simple Network Management Protocol) 설치 및 운용에 대해서 알아보자.

어깨 :) 2024. 7. 14. 16:32
반응형

1. 서론

이번 포스팅에서는 최신 시스템에 SNMP(agent와 manager 애플리케이션)을 설치하고 정보를 가져오는 과정을 설명합니다. 설치는 최신 Linux 배포판에서 Net-SNMP를 사용하며, 하나의 시스템(localhost)에서 manager와 agent를 운용하는 방식으로 진행됩니다.

 

2. Net-SNMP 설치

2.1 Net-SNMP 다운로드 및 설치

Net-SNMP는 net-snmp.sourceforge.net에서 다운로드할 수 있습니다. Net-SNMP는 ucd-snmp의 후속 버전으로, 더욱 개선된 기능과 안정성을 제공합니다. 최신 버전인 Net-SNMP 5.x를 설치합니다.

 

설치 과정은 다음과 같습니다. Net-SNMP 패키지를 다운로드하고, 적절한 디렉터리에 압축을 풀고,./configure, make, make install 명령을 순서대로 실행하면 됩니다.

 
[root@localhost src]# tar -xvzf net-snmp-5.9.1.tar.gz
[root@localhost src]# cd net-snmp-5.9.1
[root@localhost net-snmp-5.9.1]# ./configure
[root@localhost net-snmp-5.9.1]# make
[root@localhost net-snmp-5.9.1]# make install
 
 

3. SNMP AGENT 실행

make install까지 완료하면 agent와 manager 프로그램이 모두 설치됩니다. Net-SNMP는 agent 프로그램으로 snmpd를 제공합니다.

간단히 snmpd를 실행하여 SNMP agent 환경을 구축할 수 있습니다.

 
[root@localhost root]# snmpd
 
 

4. SNMP MANAGER 테스트

4.1 동기적 데이터 요청 - snmp get, get next

GET과 GET NEXT는 manager에서 agent에 정보를 요청할 때 사용됩니다. Net-SNMP는 이러한 요청을 위해 snmpget과 snmpnext, snmpwalk를 제공합니다.

snmpget

snmpget은 agent로부터 특정 정보를 얻어내는 데 사용됩니다. 아래는 localhost에서 public 권한으로 sysDescr 정보를 얻는 예제입니다.

[root@localhost /root]# snmpget -v 2c -c public localhost system.sysDescr.0
system.sysDescr.0 = Linux localhost 5.10.0-13-amd64 #1 SMP Debian 5.10.106-1 (2022-03-17) x86_64
 

snmpwalk

snmpwalk는 MIB 하위 계층의 모든 정보를 요청합니다.

[root@localhost /root]# snmpwalk -v 2c -c public localhost system

system.sysDescr.0 = Linux localhost 5.10.0-13-amd64 #1 SMP Debian 5.10.106-1 (2022-03-17) x86_64
system.sysObjectID.0 = OID: enterprises.netSnmpAgent.linux
system.sysUpTime.0 = Timeticks: (2685699) 7:27:36.99
system.sysContact.0 = admin@localhost
system.sysName.0 = localhost
system.sysLocation.0 = server room
system.sysORLastChange.0 = Timeticks: (0) 0:00:00.00

snmpgetnext

snmpgetnext는 현재 요청한 OID의 다음 OID 정보를 가져옵니다.

[root@localhost /root]# snmpgetnext -v 2c -c public localhost system.sysDescr.0
system.sysDescr.0 = Linux localhost 5.10.0-13-amd64 #1 SMP Debian 5.10.106-1 (2022-03-17) x86_64
system.sysObjectID.0 = OID: enterprises.netSnmpAgent.linux
 
 

4.2 비동기적 데이터 요청 - snmp trap

 

GET, GET NEXT를 통한 데이터 요청은 일정한 polling 시간을 가지고 진행됩니다. 그러나 비동기적으로 발생하는 정보를 수집하려면 SNMP TRAP을 사용해야 합니다. SNMP TRAP은 agent에서 manager로 비동기적으로 사건을 통보하는 것입니다.

Net-SNMP는 snmptrapd와 snmptrap을 제공하여 trap 정보를 전송하고 받습니다.

snmptrapd 실행

manager 측에서 snmptrapd를 실행합니다.

[root@localhost root]# snmptrapd -f -P
2024-07-14 00:13:34 Net-SNMP version 5.9.1 Started.
 
 

snmptrap 실행

agent 측에서 snmptrap을 사용하여 trap 정보를 manager로 전송합니다.

[root@localhost root]# snmptrap -v 2c -c public localhost "" netSnmpExampleMIB::netSnmpExampleHeartbeat "This is a test trap"
 

 

https://fiberroad.com/ko/resources/glossary/what-is-snmp/

 

SNMP란 무엇이며 네트워크 성능을 모니터링하는 데 어떻게 도움이 됩니까?

SNMP란 무엇입니까? SNMP(Simple Network Management Protocol)는 네트워크 관리에 도움이 되는 귀중한 네트워크 프로토콜입니다.

fiberroad.com

 

728x90