RadarURL
Skip to content
2014.12.26 20:22

MRTG 구축

조회 수 558 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

주 제 : MRTG 구축


 


작성자 : 김마현. mail : mapoo@ㄴㅔㅇㅣ트.,  web : http://mapoo.kr


최초작성일 : 2012-03-29,  SerialNo : 20120329A51



 


< 목 차 >


>     시작말


>     1. 설치환경


>     2. 설치하기


>     3. 세팅하기


>     4. 다른 장비의 MIB 가져오기


>     5. 모니터링 웹보기



>     맺음말


 


n  시작말 :


MRTG‘Multi Router Traffic Grapher’의 약자로써, SNMP(Simple Network Management Protocol)를 지원하는 장비(서버, 스위치 등)로부터 MIB(Management Information Base)값을 가져와서 C Perl을 이용하여 웹에 그래프를 구현해 주는 유틸리티이다. MRTG를 잘 활용한다면 NMS( Network Management System)를 구축할 수 있다.


 


1.     설치환경


1)     H/W 사양


CPU : VM


M/B : VM


RAM : 512MB


HDD : 10G


NIC : VM – Fast Ethernet


2)     S/W 사양


OS : CentOS 4.7 ServerCD i386


Host Name : CentOS47-VM


GCC : gcc-3.4.6-10


Perl : perl-5.8.5-36.el4_6.3


MRTG : mrtg-2.14.7


Apache : httpd-2.2.2


ZLIB : zlib-1.2.1


LIBPNG : libpng-1.2.18


GD : gd-2.0.33


SNMP : net-snmp-5.1.2


 


2.     설치하기


1)     라이브러리 설치


1>   Zlib 설치 - 데이터 압축 라이브러리








[root@CentOS47-VM ~]# tar zxvf zlib-1.2.1.tar.gz –C /usr/local


[root@CentOS47-VM ~]# /usr/local/zlib-1.2.1/configure –prefix=/usr/local/zlib


[root@CentOS47-VM ~]# /usr/local/zlib-1.2.1/make


[root@CentOS47-VM ~]# /usr/local/zlib-1.2.1/make install



2>   Libpng 설치 - png 포맷 이미지파일 사용을 위한 라이브러리








[root@CentOS47-VM ~]# tar zxvf libpng-1.2.18.tar.gz –C /usr/local


[root@CentOS47-VM ~]# cp /usr/local/libpng/scripts/makefile.linux /usr/local/libpng/makefile


[root@CentOS47-VM ~]# /usr/local/libpng/make install



3>   GD 설치 - 동적이미지 생성 ANSI C라이브러리








[root@CentOS47-VM ~]# tar zxvf gd-2.0.33.tar.gz –C /usr/local


[root@CentOS47-VM ~]# /usr/local/gd-2.0.33/configure –prefix=/usr/local/gd


[root@CentOS47-VM ~]# /usr/local/gd-2.0.33/make


[root@CentOS47-VM ~]# /usr/local/gd-2.0.33/make install



2)     Apache 설치








[root@CentOS47-VM ~]# tar zxvf httpd-2.2.2 –C /usr/local


[root@CentOS47-VM ~]# /usr/local/httpd-2.2.2/configure --prefix=/usr/local/apache2 --enable-so --with-mpm=worker --enable-rewrite


[root@CentOS47-VM ~]# /usr/local/httpd-2.2.2/make


[root@CentOS47-VM ~]# /usr/local/httpd-2.2.2/make install



3)     MRTG 설치








[root@CentOS47-VM ~]# tar zxvf mrtg-2.14.7.tar.gz –C /usr/local


[root@CentOS47-VM ~]# /usr/local/mrtg-2.14.7/configure --prefix=/usr/local/mrtg --with-gd=/usr/local/gd --with-z=/usr/local/zlib --with-png=/usr/local/libpng


[root@CentOS47-VM ~]# /usr/local/httpd-2.2.2/make


[root@CentOS47-VM ~]# /usr/local/httpd-2.2.2/make install



4)     SNMP 설치








[root@CentOS47-VM ~]# rpm -ivh /usr/local/net-snmp-5.1.2-18.el4.rpm


[root@CentOS47-VM ~]# rpm -ivh /usr/local/net-snmp-libs-5.1.2-18.el4.rpm



 


3.     세팅하기


1)     SNMP 세팅


1>   기존 snmp 파일 백업








[root@CentOS47-VM ~]# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf_old



2>   snmp.conf 파일 아래처럼 작성








[root@CentOS47-VM ~]# cat /etc/snmp/snmpd.conf


com2sec notConfigUser  default       abc-mrtg


 


#group   notConfigGroup v1           notConfigUser


group   notConfigGroup v2c           notConfigUser


 


view    systemview      included        .1


 


access  notConfigGroup “”      any       noauth    exact  systemview none none


 


disk / 100000


disk /home 100000


 


proc afpd


proc proftpd



3>   snmp 데몬 start 및 서비스에 등록








[root@CentOS47-VM ~]# /etc/init.d/snmpd start


[root@CentOS47-VM ~]# chkconfig snmpd on



2)     MRTG 세팅


1>   mrtg 관련 디렉토리 생성








[root@CentOS47-VM ~]# mkdir -p /home/mrtg/conf


[root@CentOS47-VM ~]# mkdir /home/mrtg/www


[root@CentOS47-VM ~]# mkdir /home/mrtg/www/localhost



2>   cfg 파일 생성








[root@CentOS47-VM ~]# /usr/local/mrtg/bin/cfgmaker --global ‘WorkDir: /home/mrtg/www/localhost’ --global ‘Options[_]: bits,growright’ --output /home/mrtg/conf/localhost.cfg abc-mrtg@127.0.0.1



* 옵션설명


- WorkDir : index파일과 png(그래프)파일이 위치할 곳


- bits : 비트단위로 표시


- growright : 그래프가 오른쪽에서 왼쪽으로 흐르게 표시


- abc-mrtg@127.0.0.1 : abc-mrtg - 커뮤니티값(snmp.conf값과 일치해야됨) 기본은 public


                      127.0.0.1 - MIB 값을 가져올 호스트의 도메인 또는 IP


* 처음실행시 경고 문구가 나오나 무시해도 된다. 기존의 로그가 없어 비교할 값이 없어서 그렇다.


3>   index 생성하기








[root@CentOS47-VM ~]# /usr/local/mrtg/bin/indexmaker --title “CentOS47-VM” /home/mrtg/conf/localhost.cfg > /home/mrtg/www/localhost/index.html



4>   mrtg 실행하기 - MIB값을 가져온다.








[root@CentOS47-VM ~]# /usr/local/mrtg/bin/mrtg /home/mrtg/conf/localhost.cfg



3)     스케쥴링 등록


1>   cron을 통해서 - 1분에 한번씩 MIB 값을 가져온다








[root@CentOS47-VM ~]# crontab -l


*/1 * * * * /usr/local/mrtg/bin/mrtg /home/mrtg/conf/localhost.cfg



2>   mrtg를 데몬으로 실행하기 - cfg 파일의 global 세팅 부분에 아래처럼 추가








[root@CentOS47-VM ~]# cat /home/mrtg/conf/localhost.cfg


RunAsDaemon: yes


Refresh : 300



* Refesh : 300초에 한번씩 MIB 값을 가져온다. 단점은 300(5) 미만으론 안된다.


* cron이나 mrtg 데몬 둘중 하나를 선택하면되지만, cron을 더 추천한다.


4)     Apache 세팅


1>   httpd.conf 수정 - mrtg index파일 위치하는 곳 설정 추가








[root@CentOS47-VM ~]# cat /usr/local/apache2/conf/httpd.conf


.


.


Alias   /morn-abc  /home/mrtg/www/localhost



2>   apache 데몬 start








[root@CentOS47-VM ~]# /usr/local/apache2/bin/apachectl start



 


4.     다른 장비의 MIB 가져오기


1)     가져오기에 앞서


위 내용은 CentOS47-VM 서버에서 자신의 MIB 값을 가져오는 방식이다.


다른 장비에서 MIB 값을 가져오기 위해선 아래 조건이 맞아야 한다.


1>   해당 장비가 SNMP를 지원


2>   Agent 서버(CentOS47-VM)와 장비간 SNMP 버전 호환


3>   Agent 서버(CentOS47-VM)와 장비간 커뮤니티값 맞추기


4>   방화벽에서 인바운드 포트개방 - udp 161


2)     장비에서 세팅


snmp.conf 파일을 위에서 한것처럼 세팅


3)     mrtg 관련 디렉토리 생성


Agent 서버(CentOS47-VM)에서








[root@CentOS47-VM ~]# mkdir /home/mrtg/www/test-local



4)     cfg 파일 생성


Agent 서버(CentOS47-VM)에서



* WorkDir의 경로와 SNMP를 가져올 장비의 IP또는 도메인 변경


5)     mrtg 실행하기


해당 장비로부터 MIB값을 가져온다.








[root@CentOS47-VM ~]# /usr/local/mrtg/bin/mrtg /home/mrtg/conf/test-local.cfg



6)     Apache 세팅


1>   httpd.conf 수정 - mrtg index파일 위치하는 곳 설정 추가








[root@CentOS47-VM ~]# cat /usr/local/apache2/conf/httpd.conf


.


.


Alias   /morn-abc2  /home/mrtg/www/testlocal



2>   apache 데몬 restart








[root@CentOS47-VM ~]# /usr/local/apache2/bin/apachectl restart



 


5.     모니터링 웹보기


1)     브라우져를 띄우고 주소줄에 아래주소 입력 - 서버의 IP 192.168.0.100라고 가정.


http://192.168.0.100/morn-abc


http://192.168.0.100/morn-abc2


 


n  맺음말 :


대부분의 네트워크, 서버 등의 장비들은 SNMP를 지원한다. SNMP 프로토콜을 이용해 분석해주는 대표적인 모니터링 툴인 MRTG는 많은 시스템 관리자가 모니터링을 위해 사용하는 툴이다. MRTG를 잘 활용하여 장비의 상황을 중앙집중식으로 모니터링할 수 있는 시스템을 갖추도록 하자.


출처 : http://mapoo.net/os/oslinux/erer/

TAG •
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
» MRTG 구축 JAESOO 2014.12.26 558
41 Using MRTG on Debian Stable (Sarge) JAESOO 2014.12.26 602
40 [CentOS] MRTG를 설치하여 서버의 대역폭을 기록하자 JAESOO 2014.12.26 803
39 SNMP 를 설정해 보자 (CentOS 5.6) JAESOO 2014.12.26 1253
38 CentOS5 MRTG서버 트래픽 모니터링 JAESOO 2014.12.26 913
37 리눅스 logrotate를 활용한 로그 관리 (compress, lotate) JAESOO 2015.01.13 1139
36 리눅스 로그파일관리 (logrotate) JAESOO 2015.01.13 704
35 데비안 리눅스 로그 관리 JAESOO 2015.01.13 670
34 아파치서버 동시접속자수에 따른 메모리 산정 (대략) JAESOO 2015.01.13 1591
33 리눅스(Linux)에서 하위 디렉토리까지 파일 찾기, 찾아서 지우기 JAESOO 2015.02.24 1201
32 ls - 파일리스팅 (접근, 수정, 속성변경 시간별 정렬 등) JAESOO 2015.02.24 751
31 톰캣(Tomcat) 실시간 로그보기 JAESOO 2015.04.13 1044
30 Tomcat 무분별하게 catalina.out 크기 커지는것 막기 JAESOO 2015.04.13 3129
29 SETUID, SETGID, Sticky Bit JAESOO 2015.05.27 953
28 특별한 퍼미션 setuid setgid sticky bit JAESOO 2015.05.27 534
27 SetUid와 SetGid JAESOO 2015.05.27 546
26 좀비 프로세스 찾기, 죽이기 JAESOO 2015.05.27 880
25 cpulimit - cpu 사용량을 정한다. JAESOO 2015.08.24 556
24 [AIX] Filesystem 사이즈 조절하기 JAESOO 2016.01.23 511
23 AIX에서 논리적 볼륨 크기 확장 JAESOO 2016.01.28 511
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

PageViews   Today : 950 Yesterday : 2356 Total : 21721069  /  Counter Status   Today : 857 Yesterday : 1688 Total : 1146226

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소