리눅스 MRTG 설치 구축 설정 방법

환경 : CentOS 6.6 64비트

1. 개요

리눅스 트래픽 모니터링 툴로써 MRTG 라는 프로그램이 존재한다. vnstat, sar 등의 프로그램도 있지만, 그래픽 기반으로 모니터링할수있는것은 MRTG 만한것이 없으며, 자신의 쉘스크립트 역량에 따라서 얼마나든지 튜닝이 가능하다.

MRTG란 Muti Router Traffic Grapher의 약어이다.

MRTG는 현재 세계각처에서 트래픽모니터링 및 트래픽관리 및 관리를 위해서 사용되고 있는 가장 범용의 툴이다.

MRTG는 트래픽관리서버(MRTG가 설치되어 운용되고 있는 서버)에서 주기적으로 실행된 결과를 gif 및 png의 그래픽파일을 포함한 HTML파일을 자동으로 생성하여 웹브라우즈를 통해서 네트웍트래픽을 분석/관리할 수 있다.

MRTG는 C와 PERL로서 개발되었으며, 속도를 요하는 루틴은 대부분 C로, HTML을 생성하는 부분은 대부분 perl로 되어 있다.

2. 설치 및 구성

1) RPM 설치

yum -y install net-snmp* mrtg* freetype-devel gd-devel libjpeg-devel libpng-devel

2) cfg 파일 제작

cfgmaker --global 'WorkDir: /var/www/mrtg/' --global 'Language: korean' --global 'Options[_]: bits,growright' -output /var/www/mrtg/mrtg.cfg switch@192.168.10.254

여기서 switch는 snmp community 값이며, 192.168.10.254는 스위치 IP 주소이다.

위와 같이 snmp에 응답할 수 없다는 에러메시지가 발생하면 스위치에서 snmp 설정을 해준다.

3) 시스코 스위치 snmp 설정

필자는 시스코 스위치를 mrtg로 띄우려고 한다

conf t 후

snmp-server community switch ro <-- snmp 커뮤니티 입력
snmp-server enable traps
snmp-server host 192.168.10.97 switch <-- 커뮤니티 및 MRTG 서버 IP 입력

그리고 MRTG 서버의 snmp를 활성화 한다.

service snmpd restart

활성화 후 cfg를 다시 만든다.

cfgmaker --global 'WorkDir: /var/www/mrtg/' --global 'Language: korean' --global 'Options[_]: bits,growright' -output /var/www/mrtg/mrtg.cfg switch@192.168.10.254

이제 정상적으로 설정파일이 만들어졌다.

4) index.html 파일을 만들기

indexmaker --title "mrtg Testing" --output /var/www/mrtg/index.html /var/www/mrtg/mrtg.cfg

정상적으로 index.html 파일이 만들어졌으므로, httpd 서비스를 올려본다.

5) 홈페이지 확인

MRTG 서버를 호출합니다.

http://설정된 mrtg IP

위와같이 x박스가 표시되면 crond 에 등록을 해줘야된다.

6) crontab 등록하기

vi /etc/crontab

에 다음과 같은 항목을 넣은 후

service crond restart

한다

5분 마다 mrtg.cfg 를 실행하겠다는 의미다. 한번도 mrtg 환경파일을 실행하지 않았기 때문에 발생된 문제다. 만약에 바로 결과값을 보고싶으면 아래와 같이 입력한다.

/usr/bin/mrtg /var/www/mrtg/mrtg.cfg

명령어를 통해 데이터를 gathering 한다.

완성된 모습을 확인할수있다. mrtg 는 실시간으로 확인은 불가능하다. 때문에 crond 에 최소1분마다 동작하도록 설정해주면 해결된다.

시간이 지나면 아래와 같이 좀더 확실하게 모니터링을 할수있다.

3. 결론 및 TIP

설치 완료 이후에 아래와 같은 글자깨짐 현상이 발견되면 리눅스 MRTG 한글깨짐 현상 해결방법 이곳 포스팅을 참고하면 해결 할수 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다