System/OS
2003.04.23 10:31
[linux] 네트웍 트래픽 모니터링(MRTG)
조회 수 43786 댓글 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
---------------------------------------------------------------------------------------
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
95 | System/OS | [linux] Xwindow/Xmanager 사용 | hooni | 2003.04.23 | 13799 |
94 | System/OS | [linux] 최소한의 커널 설정(커널설치 전체과정) | hooni | 2003.04.23 | 17770 |
93 | System/OS | [linux] 네트워크 커널 설정.. | hooni | 2003.04.23 | 16790 |
92 | System/OS | [linux] 커널 컴파일, 설정 | hooni | 2003.04.23 | 18185 |
» | System/OS | [linux] 네트웍 트래픽 모니터링(MRTG) | hooni | 2003.04.23 | 43786 |
90 | System/OS | [linux] DHCP(Dynamic Host Configuration Protocol) 서버 | hooni | 2003.04.23 | 13323 |
89 | System/OS | [linux] Masquerade 가상 ip분할기법 | hooni | 2003.04.23 | 48361 |
88 | System/OS | [linux] DNS(Domain Name System) 설치, 설정 | hooni | 2003.04.23 | 12746 |
87 | System/OS | [linux] sendmail 설정/사용 | hooni | 2003.04.23 | 14880 |
86 | System/OS | [linux] 이기종간의 파일 공유(Samba) | hooni | 2003.04.23 | 15212 |
85 | System/OS | [linux] 텔넷, FTP 텍스트 모드에서 사용 | hooni | 2003.04.23 | 12258 |
84 | System/OS | [linux] 랜카드가 2개 일 때 네트워크 설정 | hooni | 2003.04.23 | 30428 |