준비운동 하기

MRTG는 대표적인 네트워크 모니터링 프로그램이다. 써본 결과 아주 괜찮은 놈이라는 것을 알게 되었다.(순전히 내 생각^^)
설치하기 위해서는, snmp라는 프로토콜(?)… 이 설치되어 있어야 한다. MRTG가 snmp를 이용해서 네트워크 트래픽을 측정하기 때문이다.
ucd-snmp-4.2.6.tar.gz 프로그램의 이름이다. 필자가 몇번이고 소스 설치를 해보려고 삽질을 해보았지만, 결국 실패하고 말았다. 자~아 그래서 RPM설치를 하기로 했다. ^^;

설치하기

다음의 사이트에서 다운 받도록 하자!

ftp://mirror.oops.org/pub/Linux/Redhat/UPDATES/7.3/RPMS/

꼬~옥 위의 사이트에서 다운 받기 바란다. 필자가 들은 바로는 ucd-snmp의 RPM프로그램이 문제가 많다는 것이|다. 그런데 그것을 김정균(?)이라는 분이 패치해서 PRM으로 제작해서 올린 사이트가 바로 위의 사이트이다.

  1. ucd-snmp-4.2.5-9.i686.rpm
  2. ucd-snmp-utils-4.2.5-9.i686.rpm
  3. ucd-snmp-devel-4.2.5-9.i686.rpm

위의 파일들은 받도록 하자!
여기서 잠깐 필자의 설치 환경은 다음과 같다.

OS 레드햇8.0
CPU 펜4 2.53G
RAM 512MB
#rpm -ivh ucd-snmp-4.2.5  <= 이런 식으로 설치해주자!!

devel → utils → snmp 의 순서로 설치한다.

☞ 만일 원래 ucd-snmp 패키지가 설치된 상태라면 당연히 지워준다!!

지우기전에 snmp 프로세스를 정지시킨다.

#/etc/rc.d/init.d/snmpd stop

그리고 나서

#rpm -qa|grep snmp

결과가 나온다면 깨끗이 지워준다. 설치가 다 되었다면,

#vi /etc/snmp/snmpd.conf       <= 이런 파일이 있는지 확인해보자! 

이제 이 파일을 설정해주어야 한다!!

------------------/etc/snmp/snmpd.conf--------------------
#       sec.name  source          community
#com2sec local     localhost       COMMUNITY
#com2sec mynetwork NETWORK/24      COMMUNITY
com2sec local   localhost       private
com2sec mynetwork 220.73.8.191  public        <- 도메인 네임을 적어주어도 된다.
 
##### Second, map the security names into group names:
 
#               sec.model  sec.name
group MyRWGroup v1         local
group MyRWGroup v2c        local
group MyRWGroup usm        local
group MyROGroup v1         mynetwork
group MyROGroup v2c        mynetwork
group MyROGroup usm        mynetwork
 
####
# Third, create a view for us to let the groups have rights to:
 
#           incl/excl subtree                          mask
view all    included  .1                               80
 
##### Finally, grant the 2 groups access to the 1 view with different
# write permissions:
 
#                context sec.model sec.level match  read   write  notif
access MyROGroup ""      any       noauth    exact  all    none   none
access MyRWGroup ""      any       noauth    exact  all    all    none
 
################################################################################# System contact information
#
# It is also possible to set the sysContact and sysLocation system
# variables through the snmpd.conf file.  **PLEASE NOTE** that setting
# the value of these objects here makes these objects READ-ONLY
# (regardless of any access control settings).  Any attempt to set the
# value of an object whose value is given here will fail with an error
# status of notWritable.
 
syslocation "Seoul Korea"
sysservices 76
syscontact "kim woo jong, fat81@hanmail.net"
# Example output of snmpwalk:
---------------/etc/snmp/snmpd.conf-----------------------

위의 파일이 설정파일이다. 여기서 주의깊게 볼 부분은 주석처리가 안된 부분이다. 각자 자신의 네트워크에 맞게 설정해주기 바란다. 만일 정확히 않으면 잠시후에 해볼 테스트에서 우리가 원하는 결과를 얻지 못할 것이다.

#/etc/rc.d/init.d/snmpd start   <---프로세스를 띄워 주자!
#ps -ax|grep snmpd     <-- 제대로 띄워졌는지 확인하자!

테스트를 해보자!

#snmptest localhost private
 
Variable: sysLocation.0
Variable: sysServices.0
Variable: sysContact.0
Variable: 그냥 엔터를 쳐준다.
Received Get Response from 127.0.0.1
requestid 0x6FED441D errstat 0x0 errindex 0x0
system.sysLocation.0 = "Seoul Korea"
system.sysServices.0 = 76
system.sysContact.0 = "kim woo jong, fat81@hanmail.net"

위와 비슷하게 결과가 나온다면, 우선 snmp가 제대로 설치되었다고 봐도 될 것이다.
이제는 MRTG를 설치해 보도록 하자!

  1. gcc (이거 깔리지 않은 곳은 없겠지?)
  2. perl (이거 깔리지 않은 곳은 없겠지?)
  3. gd (www.boutell.com)
  4. libpng (www.libpng.org)
  5. zlib (www.info-zip.org/pub/infozip/zlib/)

우선 zlib을 설치하도록 하자!
필자는 zlib-1.1.4.tar.gz을 받았다. 압축을 풀어주고 Makefile을 만들어 준다.

#tar xzvf zlib-1.1.4.tar.gz
#cd zlib-1.1.4
#./configure
#make test
#make install
#tar xzvf libpng-1.2.5.tar.gz
#cd libping-1.2.5/scripts/
#cp makefile.linux ../makefile
#cd ..
#make test
#make install
#tar xzvf gd-2.0.11.tar.gz
#cd gd-2.0.11
#./configure
#make
#make install

위의 프로그램들이 설치되어 있는지 체크해보고, 만일 설치되어 있지 않다면 위와 같이 설치하도록 하자! 이 것 역시 마찬가지 였다.

필자는 mrtg-2.9.27.tar.gz을 받았다.
이번에도 마찬가지로 압축을 풀어주고 아래와 같이 설치하자~

#tar xzvf mrtg-2.9.27.tar.gz
#cd  mrtg-2.9.27
#./configure --with-gd=/usr/local/gd --with-z=/usr/local/zlib --with-png=/usr/local/libpng
#make
#make install
 
#/usr/local/mrtg-2/bin/cfgmaker --global 'Workdir:/usr/local/program/apache/htdocs/mrtg' --global 'language:korean' public@220.73.8.191 > /usr/local/program/apache/htdocs/mrtg/mrtg.cfg

위의 과정은 아주 중요하다. 특히 Workdir 과 public@220.73.8.191 이라는 부분을 유심히 살펴보기 바란다. 또한 여러분의 설정도 이에 맞게 해주기 바란다. 도메인을 써주어도 무방하다.
에러 없이 정해준 디렉토리에 mrtg.cfg 라는 파일이 제대로 생성되었는지도 확인하자!!

#mrtg /usr/local/program/apache/htdocs/mrtg/mrtg.cfg (/home/htdocs에 localhost_로 시작하는 html파일이 mrtg결과물로 생긴다.)

만일 html파일이 생기지 않는다면 다음과 같은 방법을 써보도록 하자!

#indexmaker /webhosting/mrtg/index.html /mrtg.cfg

그리고 정해둔 웹서버에 접속하여 보도록 하자! 어떤가 그래프들과 그에 맞는 시간과 IP그리고 그래프가 보이지 않는가?
이제 이것을 cron 데몬으로 올려보자!

#crontab -e
*/5 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/program/apache/htdocs/mrtg/mrtg.cfg

위와 같이 적어주고, 저장한다. 5분마다 갱긴하면서 업데이트 되도록 했다.

#crontab -l 

위의 적어준대로 나오는지 확인하자.

  • computer/networking/mrtg_설치하기.txt
  • Last modified: 3 years ago
  • by likewind