[Net-SNMP]에서 제공하는 SNMP를 컴파일 하여 직접 설치해 보도록 하겠습니다. 이 글을 작성하는 시점에서의 가장 최신 버젼은 5.5입니다. 시간이 지나서 이글을 보실 경우에는 홈페이지에 방문하여 나오는 가장 최신인 안정화 버젼을 사용하시면 됩니다.
컴파일 하여 설치하기
/usr/local/net-snmp에 설치한다는 조건하에 다음과 같은 옵션으로 설치합니다.
$ tar -zxvf net-snmp-5.5.tar.gz $ cd net-snmp-5.5 $ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure --prefix=/usr/local/net-snmp \ --disable-shared --with-mib-modules=mibII,host,mibII/ip,mibII/tcp,mibII/udp, \ mibII/icmp,mibII/var_route,mibII/kernel_linux,ucd_snmp $ make $ make install
설정 파일 생성하기
EXAMPLE.conf 파일을 참고하셔서 설정파일을 생성하시면 됩니다. 기본적인 위치는 /usr/local/net-snmp/share/snmp/snmpd.conf 입니다.
rocommunity public rocommunity public 127.0.0.1 rocommunity test 87.65.43.21 includeAllDisks
위와 같은 간단한 설정만으로도 CPU사용량, 로드에버리지, 네트워크, 메모리/스왑 사용량, 접속 사용자, 실행중인 프로세스 정보를 얻어올 수 있습니다. includeAllDisks옵션은 NFS를 포함한 마운트된 모든 파티션의 정보를 얻어올 수 있게 하는 옵션입니다.
서비스 실행
서비스는 다음의 명령으로 실행합니다. /etc/rc.d/rc.local 파일등에 넣어두면 자동 실행 시킬 수 있습니다.
/usr/local/net-snmp/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid -a
서비스가 정상적으로 수행중인지 정상적으로 161번 포트가 열려있는지 확인해 봅시다. 결과가 출력된다면 성공입니다.
$ netstat -ln | grep 161