ucd-snmp 4.2.1로 업그래이드
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 7,279 조회
- 0 추천
- 목록
본문
앞선 강좌에서 snmp업그레이드강좌를 상세히 다룬적이 있다. 이번 강좌는 실제작업내용을 보면서 간단히 따라할수 있도록 꾸며진 것이다.
먼저, 서버에서 실행되고 있는 snmpd를 종료시킨다. 아래 예를 보면 종료시키는 설명은 따로 하지않아도 될것 같지만 간단히 언급하면, 리눅스의 모든 데몬의 시작과 종료를 위한 스크립트를 저장하고 있는 디렉토리는 /etc/rc.d/init.d/ 이다. 또한 이 디렉토리의 스크립트들은 서버가 부팅되면서 실행이 설정되 데몬을 올리기위한 데몬들의 시작스크립트들을 포함하고 있다. 기존의 snmpd의 실행을 종료시켰다면 다음과 같이 ps로 실행되고 있는 snmp가 있는가를 확인한다. snmpd의 새로운버전을 올리려고 하는데 기존에 실행중인 snmpd가 있다면 에러가 나기때문이다. |
아래와 같이 ucd-snmp-4.2.1.tar.gz를 tar로 풀어보자. tar옵션에서 z옵션을 함께주면 보시는 예처럼 gz과 tar를 동시에 풀어준다. 압축된 snmpd소스를 tar로 풀어주고 나면 ucd-snmp-4.2.1이라는 디렉토리가 생성이 된다. 이 디렉토리로 이동하여 생성된 파일들을 아래와 같이 확인해 보시기 바란다. |
컴파일을 하기전에 먼저 Makefile을 생성하기 위해 configure를 한다. 압축을 푼후에 생성된 디렉토리(ucd-snmp-4.2.1)에서 아래예와 같이 cofigure를 실행한다. 제법 긴 라인이 출력되지만 간단히 생략하였다. configure의 마지막단계에서는 아래와 같이 몇가지 설정해야하는 것이 있다.
System Contact Information에서는 시스템관리자의 email을 입력해주면 된다. default로는 시스템의 root계정이 입력된다.
System Location 에서는 snmpd가 설치되어 있는 위치를 간단한 주석처럼 입력해주면 된다.
Logfile location은 snmpd에 관련된 로그파일의 위치를 절대경로로 입력해주면된다. 리눅스에서의 기본위치는 /var/log/snmpd.log 이며, 물론 다른곳에 위치시킬수도 있다. 이로써 configure가 끝이났다. 이제 컴파일을 한 단계이다. |
자 이제 컴파일을 해보도록 하자. 간단히 make라고만 하면 위에서 configure라는 작업결과 생성된 Makefile로 컴파일을 하게된다. 제법 긴 라인이 출력되지만 뒷부분은 생략하였다. |
컴파일이 끝난후에는 컴파일결과 생성된 outfile들을 적당한 디렉토리에 위치시키는 "make install"작업을 해야한다. 어떤위치에 설치가되는가를 두루 확인하기바란다. |
ucd-snmpd의 소스로 설치하게되면 snmpd.conf파일의 기본위치는 /usr/local/snmpd/snmpd.conf 이다. 따라서 이 디렉토리가 존재하지않는다면 아래예와 같이 mkdir로 생성을 해야한다.
그리고, 컴파일결과 생성된 EXAMPLE.conf 파일을 이 디렉토리(/usr/local/snmpd/)로 복사를 한다. 복사한후에 확인한 결과들은 아래예를 참조바란다. |
이제 새로운 snmpd.conf파일을 조금 수정해줘야한다. 물론, MRTG등의 소프트웨어를 운영하면서 가끔씩 이 파일(snmpd.conf)을 수정하게된다. 기본적인 셋팅을 위해서 이파일을 수정해야하는 것이다. 수정할 부분은 아래와 같은 부분의 주석처리이다. 이부분을 주석처리하는 이유는 다음과 같다. 대부분의 snmp Agent들은 community name으로 public을 사용한다. 이런 Agent들과 snmp를 이용한 정확한 통신을 위해서는 community name을 동일하게 설정해야하는데 모든 Agent들을 일일이 확인하면서 수정할수는 있다. 하지만, MRTG로 작업하는 많은 부분에서 모든 Agent들의 community name을 확인할수는 없을 것이다. 따라서, community name의 기본값인 public으로 설정하기위한 작업이 이 주석처리인 것이다.
|
이제 새로운 버전의 snmpd를 실행해보자. 새로운 snmpd는 /usr/local/sbin 디렉토리에 존재하므로 아래와 같이 실행해보자. 물론 잘알고는 있겠지만 노파심에 한마디 하면 업그레이드하기전의 snmpd의 실행은 "/etc/rc.d/init.d/snmpd start"와 같이 했음을 기억하기바란다. 하지만, 새로 업그레이드한 snmpd는 /usr/local/sbin/snmpd로 실행을 한다. 물론, 뒷부분에 설명되어 있지만 서버부팅과 함께 새로운 snmpd의 실행을 위해서 시작스크립트에 넣는 작업도 해야한다.
업그레이드된 snmpd의 데몬을 ps로 확인해본 것이다. |
snmpd의 업그레이드와 설정및 데몬실행이 모두 끝났으므로 이제 snmpwalk로 테스트를 해보도록 하자. 이 테스트하는 방법에 대한 것은 다음과 같은 형식으로 이루어 진다. 형식 : snmpwalk target-ip-address public system 위와 같이 OID의 값들을 정상적으로 쿼리되어 출력되면 snmpd의 업그레이드가 정상적으로 된 것을 의미하며 그 기능에도 이상이 없음을 나타내는 것이다. |
이제, 마지막으로 서버부팅이나 리부팅시에 snmpd를 자동으로 실행시키기 위해 /etc/rc.d/rc.local 파일에 다음과 같이 등록을 하도록하자. 서버부팅후에 매번 snmpd을 실행시킬수 있는 정말 부지런한 서버관리자라면 관계없겠지만, 필자처럼 게으런 서버관리자들은 자동스크립트에 넣어야 할것이다. 위의 주석처리와 snmpd실행등의 포맷은 정해진 바가 없으므로 필자의 입력양식을 참조하여 나름대로 멋있게 입력해보기 바랍니다.
이상으로 snmpd-4.2.1로의 업그레이드에 대한 간단한 강좌를 마치고 질문은 해당질문에서서 받도록 하겠다.
저작권 : 수퍼유저코리아(www.superuser.co.kr), 상업적인 용도가 아니면 모든 사용이 가능함 |
관련자료
-
이전
-
다음