RadarURL
Skip to content
2014.12.26 11:22

MRTG 구축

조회 수 255 추천 수 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
번호 제목 글쓴이 날짜 조회 수
124 SNMP 를 설정해 보자 (CentOS 5.6) JAESOO 2014.12.26 1277
123 [CentOS] MRTG를 설치하여 서버의 대역폭을 기록하자 JAESOO 2014.12.26 293
122 Using MRTG on Debian Stable (Sarge) JAESOO 2014.12.26 290
» MRTG 구축 JAESOO 2014.12.26 255
120 Usage of MRTG for System Resource #4 - MRTG Script 만들기 JAESOO 2014.12.26 205
119 Usage of MRTG for System Resource #3 - MRTG Script 사용법 JAESOO 2014.12.26 196
118 Usage of MRTG for System Resource #2 - mrtg.cfg 설정 JAESOO 2014.12.26 225
117 Usage of MRTG for System Resource #1 - mrtg 설치하기 JAESOO 2014.12.26 255
116 CentOS 5.0에 net-snmpd 설치 JAESOO 2014.12.26 364
115 리눅스로 MRTG 트래픽분석서버 구축 JAESOO 2014.12.26 299
114 ipv6 off 시키기 JAESOO 2014.12.26 137
113 mrtg 2.16.2 yum 설치 문서 JAESOO 2014.12.26 156
112 Linux MRTG 설치 (yum install) JAESOO 2014.12.26 383
111 웹서버 CentOS 6.5 MRTG 설치 JAESOO 2014.12.26 497
110 리눅스 - 디스크 검사 및 파일 시스템 복구 (badblocks, fsck) JAESOO 2014.12.26 3333
109 Linux에서 Disk(HDD) Check 하기 JAESOO 2014.12.26 349
108 UNIX, Linux fuser 사용법 (umount 옵션이 안될때 사용) JAESOO 2014.12.26 403
107 Linux 커널이 32bit 인가 64bit인가 확인하는 법 JAESOO 2014.12.22 191
106 crontab 설정확인 및 로그확인 JAESOO 2014.12.20 310
105 Centos GeoIP 설치 JAESOO 2014.12.20 159
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10

PageViews   Today : 578   Yesterday : 2,242   Total : 19,850,453  /  Counter Status   Today : 215   Yesterday : 768   Total : 1,434,084
Site Info   Member : 237  /  Total documents : 1,223   New documents : 0  /  Total comments : 24

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소