System/OS
2003.04.23 10:31
[linux] 네트웍 트래픽 모니터링(MRTG)
조회 수 42517 댓글 0
MRTG(Multi Router Traffic Grapher)를 이용한 네트웍 트래픽 모니터링
- 자사의 네트웍 트랙픽 현황 뿐만 아니라 특정 서버의 Memory 현황이나 CPU 사용현황 등을 모니터링 할 수 있다.
ucd-snmp 다운로드: http://dpe.postech.ac.kr/research/00/ETRI/setup/SNMP/index.html
프로그램 ucd-snmp-3.6.2.tar.gz
GD 그래픽 라이브러리 다운로드: http://www.boutell.com/gd/
프로그램 gd1_6_1.tar.gz
MRTG 다운로드: http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/pub/
http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
프로그램 mrtg-2_8_9_tar.gz
Perl 다운로드: http://www.perl.com/perl/info/software.html
1. 설치
1.0 snmp 설치
$ which snmpd
해서 안나오면 설치
$ tar xvzfp ucd-snmp-3.6.2.tar.gz
$ cd ucd-snmp
$ ./configure --prefix=/usr/local/ucd-snmp
$ make
$ make install
우선 실행해 둔다
$ /usr/local/ucd-snmp/sbin/snmpd
1.1 GD 그래픽 라이브러리 설치
$ find . -name libgd.a -print | more
# 해서 안나오면 설치
$ cp gd1_6_1.tar.gz /usr/local
$ cd /usr/local
$ tar xvzfp gd1_6_1.tar.gz
$ cd gd1.6.1
$ make
$ cp libgd.a /usr/local/lib
# header 파일들은 /usr/local/lib 디렉토리에 복사
$ cp *.h /usr/local/lib
1.2 MRTG 설치
1.2.1 압축풀기
$ tar xvzfp mrtg-2.5.4.a.tar.gz
$ cd mrtg-2.5.4.a
$ ./configure
1.2.1 Makefile 편집
GD_LIB, GD_INCLUE, PERL 변수를 조정하여
GD 라이브러리와 헤더파일, 펄의 위치를 설정한다.
$ vi Makefile
# this is to fix IRIX who prefers csh
SHELL=/bin/sh
# GD_INCLUDE
# GD_INCLUDE=/usr/local/gd
GD_INCLUDE=/usr/local/lib/gd1.3
# GD_LIB
# The path to the gd graphics library: libgd.a
# GD_LIB=/usr/local/lib
# GD_LIB=/usr/local/gd
GD_LIB=/usr/local/lib/gd1.3
# Where is perl 5 on this machine
# PERL=/usr/local/bin/perl
PERL=/usr/bin/perl
1.2.2 주 rateup 실행 프로그램을 만들기
주 프로그램을 만들고 컴파일을 마치면 MRTG가 사용하는 펄 시크립트 내에서
펄 인터프리터의 정확한 위치를 알려주기 위하여 make substitute를 실행한다.
$ make rateup
1.2.2 Perl실행 파일의 경로 삽입
MRTG의 Perl Script에 시스템의 Perl실행 파일의 패쓰를 삽입한다.
$ make substitute
1.2.4 감시를 하고자 하는 router의 config file을 만든다
cfgmaker라는 명령어를 사용하여 감시를 하고자 하는 router의 config file을 만든다.
$ cd run
$ cfgmaker <community>@<router-host-name or IP > mrtg.cfg
예) $ cfgmaker public@210.123.104.2 > mrtg.cfg
여기서 public은 라우터 snmp 지정 이름이며 203.255.119.19는 라우터 IP 주소이다.
1.2.5 mrtg.cfg파일을 편집
$ vi mrtg.cfg
WorkDir: /usr/local/www/htdocs/mrtg/ 혹은 WorkDir : /home/httpd/html/mrtg/
Language: korean # --->> 한글 설정
1.2.6 Web 디렉토리 만들기
$ mkdir /usr/local/www/htdocs/mrtg 혹은 WorkDir : /home/httpd/html/mrtg/
1.2.6 WebPage 만들기
$ indexmaker mrtg.cfg > index.html
$ cp index.html /home/httpd/html/mrtg/
그리고 mrtg 실행 화일이 있는 곳에서 ./mrtg mrtg.cfg 하게 되면
이미지 파일이 만들어 집니다.
mrtg*.gif화일들을 카피 한다.
$ cp mrtg*.gif /home/httpd/html/mrtg/
2. MRTG 실행(컴파일)
$ MRTG_HOME/run/mrtg mrtg.cfg
*** warning) 처음 ./mrtg mrtg.cfg를 하면 warning이 뜬다.
$ WorkDir로 이동해서 모든 gif file을 지운다. 다시 ./mrtg mrtg.cfg를 수행 한다.
$ MRTG_HOME/run/mrtg mrtg.cfg
*** warning) 두번째 이번에도 warning이 뜬다.
$ WorkDir로 이동해서 모든 gif file을 지운다. 다시 ./mrtg mrtg.cfg를 수행 한다.
$ MRTG_HOME/run/mrtg mrtg.cfg
*** 이제는 warning 메시지가 뜨지 않고 정상 종료를 할 것이다. 그리고 원하는 홈페이지 구축
정상적으로 완료하였다면 다음과 같은 파일들이 생성되었을 것이다.
203.255.119.19-day.gif
203.255.119.19-week.gif iserver
203.255.119.19-year.gif iserver
203.255.119.19.html
3. 매 5분마다 수행을 하기위해
마지막으로 crontab에 다음의 사항을 추가 한다
$ vi /etc/crontab
*/5 * * * * root <mrtg 경로명> <mrtg.cfg 경로명 >
또는 0-59/5 * * * * /usr/bin/perl /usr/local/mrtg /data/traffic/network.cfg
또는 0,5,10,15,20,25,30,35,40,45,50,55 * * * * <mrtg-bin>/mrtg <path to mrtg-cfg>/mrtg.cfg (모두 한줄에 쓴다.)
예) 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/mrtg/run/mrtg /usr/local/mrtg/run/mrtg.cfg
예) */5 * * * * root /mrtg/run/mrtg /mrtg/run/mrtg.cfg
# crontab 실행
$ /usr/bin/crontab -u root /etc/crontab
---------------------------------------------------------------------------------------
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
1089 | Etc |
성문 종합 영어 정리된 pdf 파일
![]() |
hooni | 2013.06.25 | 31271 |
1088 | Develop |
[js] jQuery 관련 문서 ㅎㅎ
![]() |
hooni | 2013.04.23 | 31258 |
1087 | Develop | [android] 디바이스(시뮬레이터) hosts 파일 수정하기 | hooni | 2013.04.23 | 31134 |
1086 | Develop | 서기의 PHP 동영상 강의(싱싱해) | hooni | 2013.05.15 | 31045 |
1085 | System/OS | [linux] 특정 문자열 포함된 파일 찾는 명령어 | hooni | 2013.10.16 | 30729 |
1084 | Etc | 영작 연습을 위한 실용영어 문장 1001개 (1~500) | hooni | 2013.06.21 | 30674 |
1083 | System/OS | [linux] 랜카드가 2개 일 때 네트워크 설정 | hooni | 2003.04.23 | 30141 |
1082 | Develop | [js] 웹페이지에서 특정 엘리먼트 드래그, 복사, 컨텍스트메뉴, 키보드 막기 | hooni | 2013.11.04 | 30139 |
1081 | System/OS |
맥북에서 MAC/윈도우 멀티부팅시 시간 설정
![]() |
hooni | 2013.04.23 | 29875 |
1080 | Develop | [ios] 테이블뷰셀/뷰에 배경 패턴 넣기.. | hooni | 2013.04.23 | 29861 |
1079 | Develop | [ios] iCloud관련 저장 디렉토리 | hooni | 2013.04.23 | 29677 |
1078 | System/OS |
[mac] OSX(맥) 단축키 설명 ㅎㅎ
![]() |
hooni | 2013.04.23 | 29676 |