본문 바로가기

IT 관련

리눅스에 MRTG 설치 및 설정 방법


MRTG는 Multi Router Traffic Grapher의 약자로서 SNMP 기반의 장비를 모니터링 하는데 사용한다. 주 사용 용도는 네트워크 트래픽 사용량 모니터링이지만, 경우에 따라서는 CPU, 디스크 사용량 등 벤더에서 제공하는 SNMP MIP 값을 사용하여 다양한 정보를 수집 할 수 있다. 여기서는 네트워크 트래픽 사용량 모니터링에 한정하여 이야기 하기로 한다.


먼저 리눅스를 설치하자. 내가 설치한 OS는 CentOS 3.0이다.   

CentOS 홈페이지 : http://www.centos.org/

리눅스를 설치 할 때 다음의 패키지는 필수적으로 설치 되어 있어야 한다.
- GCC, Perl, gd, libpng, zlip, apache

MRTG 최신 버전을 다운 받는다.

MRTG 홈페이지 : http://oss.oetiker.ch/mrtg/

1. MRTG 설치 방법
 1) GCC, Perl, gd, libpng, zlip, apache 패키지 설치 확인
   예) rpm -qa | grep zlip
 2) 디렉토리 생성 및 MRTG 업로드
    #mkdir -p /usr/local/src
    #cd /usr/local/src
    mrtg-2.16.2.tar.gz 파일을 /usr/local/src에 업로드 한다.
 3) MRTG 설치
    #gunzip -c mrtg-2.16.2.tar.gz | tar xvf -
    #cd mrtg-2.16.2
    #./configure --prefix=/usr/local/mrtg-2
    #make
    #make install

 2. MRTG 설정
   1) 디렉토리 생성
    #mkdir -p /home/mrtg/www
    #mkdir -p /home/mrtg/cfg
    ※ /home/mrtg/www : WordkDir 저장 되는 곳
    ※ /home/mrtg/cfg : cfg 파일이 저장 되는 곳
    2) 아파치 httpd.conf 수정
  - vi 편집기를 이용하여 Document Roots를 수정한다. → /home/mrtg/www
    ※ /home/mrtg/www는 인덱스 페이지를 저장하기 위해 만든 임의의 디렉토리이다.
       따라서 원하는 디렉토리를 사용해도 상관은 없다.



 3) CFG 파일 생성
  - cfg 파일을 생성하기 전에 모니터링 대상 장비에 SNMP 설정이 되어 있어야 한다.   
  - /usr/sbin/mrtg-2/bin/cfgmaker  장비 communiyt명@IP > /home/mrtg/cfg/장비명.cfg 
    ex) /usr/sbin/mrtg-2/bin/cfgmaker  public@10.10.10.1 > /home/mrtg/cfg/장비명.cfg

  -  필요에 따라 모니터링 대상장비 cfg 파일 수정
   ※ 활성화 된 모든 인테페이스를 모니터링 하기 때문에 사용하지 않는 것은 주석(#) 처리 해준다.
   ※ 필요한 옵션 등도 여기에서 수정 할 수 있다.
  4) 인덱스 페이지 생성
  - 트래픽 사용량을 웹에서 확인하기 위해서는 인덱스 페이지를 생성해주어야 한다.
  -
/usr/sbin/mrtg-2/bin/indexmaker /home/home/cfg/
장비명.cfg > /home/mrtg/www/index.html
   ex) /usr/sbin/mrtg-2/bin/indexmaker /home/home/cfg/router
.cfg > /home/mrtg/www/index.html
l  ※ 두대 이상을 한 페이지에서 보기 위해서는
/usr/sbin/mrtg-2/bin/indexmaker 
     /home/home/cfg/router1
.cfg /home/home/cfg/router2.cfg > /home/mrtg/www/index.html 
     처럼 해주면 된다.

  5) Cron 설정
  - 모니터링 주기에 따라 설정을 해준다. 여기서는 5분마다 모니터링 하는 기준으로 설명을 하겠다. 
  - #cd /usr/sbin/mrtg-2/bin
  - #vi mrtg.sh
     /usr/local/mrtg-2/mrtg /home/mrtg/cfg/장비명.cfg 추가
   - #chmod 755 mrtg.sh
   - #crontab -e
      */5 * * * * /usr/local/mrtg-2/bin/mrtg.sh
    ※ 리눅스에서는 */5가 매 5분마다 의미이지만, 다른 OS(ex:솔라리드 등)에서는 적용 가능
       여부를  확인 해야 한다.