System/OS
2003.04.23 10:31
[linux] 네트웍 트래픽 모니터링(MRTG)
Views 42513 Comment 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
---------------------------------------------------------------------------------------
No. | Category | Subject | Author | Date | Views |
---|---|---|---|---|---|
202 | System/OS |
[apache2] Redirect HTTP to HTTPS
![]() |
hooni | 2022.02.03 | 867 |
201 | System/OS |
[macos] How to Fix ‘You Shut Down Your Computer Because of a Problem’
![]() |
hooni | 2022.06.01 | 981 |
200 | System/OS | 개인적으로 쓰고 있는 bash_profile | hooni | 2015.01.16 | 1001 |
199 | System/OS | [linux] The Ultimate Wget Download Guide With 15 Awesome Examples | hooni | 2020.05.26 | 1003 |
198 | System/OS | 개인적으로 쓰고 있는 zshrc 파일 | hooni | 2022.02.25 | 1035 |
197 | System/OS | [mac] How to uninstall MySQL on Mac OS. | hooni | 2017.11.08 | 1052 |
196 | System/OS |
[virtualbox] VirtualBox에 Ubuntu 설치하기
![]() |
hooni | 2019.11.22 | 1080 |
195 | System/OS |
[펌] 마이크로서비스, 모노리포, SRE, ... 덮어놓고 구글 따라하면 안 되는 기술들
![]() |
hooni | 2020.10.15 | 1119 |
194 | System/OS | [mac] 패키지 매니저, MacPort | hooni | 2015.01.03 | 1137 |
193 | System/OS | 콘솔에서 패스워드 걸린 zip 압축하는 명령 | hooni | 2018.03.02 | 1140 |
192 | System/OS | [svn] Can't convert string from native encoding to 'UTF-8' 메시지가 나오는 경우 | hooni | 2014.12.18 | 1167 |
191 | System/OS |
[mac] OS X 엘 캐피탄에서 Soudflower 사용하기
2 ![]() |
hooni | 2016.10.03 | 1186 |