IT. POST LIST

POST ALL LABEL

mrtg 를 그려 보자 part1

By 때찌때찌맴매 - 12월 04, 2013

mrtg ?

Multi Router Traffic Grapher 의 약자로서 snmp 기반의 장비를 모니터링 하는데 사용함. 주 사용 용도는 네트워크 트래픽 사용량 모니터링 이지만, 경우에 따라서는 cpu, 디스크 사용량 등 벤더에서 제공하는 snmp mip 값을 사용 하여 다양한 정보를 수집 가능.



os 는 centos 5.8에서 진행및 아파치가 필요 하기 때문에 아파치가 설치되어 있다는 전재하에 진행합니다.


1. mrtg 다운

mrtg 다운 전에 필요 한 패키지를 설치 하자

# yum install -y net-snmp* , gd, libpng , zlib

# yum install mrtg   or  http://oss.oetiker.ch/mrtg 에서 소스 다운 후 설치

소스 설치시


# ./configure –prefix=/usr/local/mrtg

# make && make install


2. mrtg 설정


1) 디렉토리 생성

# mkdir -p /home/mrtg/cfg  —> yum 으로 했을때는 이 디렉토리만 생성해도됩니다.

# mkdir -p /home/mrtg/www  —> 소스로 설치 했을시 해당 디렉토리도 같이 진행합니다. 인덱스 페이지를 저장하기 위해 만든 디렉토리이기 때문에 어느곳이든 상관 없습니다.


본 호구는 vhost 를 사용하기 때문에 호스트 설정은 나중에하고,  yum 으로 mrtg 설치했습니다.



2) snmp 설정

#  vim /etc/snmp/snmpd.conf



40 #       sec.name  source          community
41 #com2sec notConfigUser  default       public
42 com2sec hoguinside  xxx.xxx.xxx.xxx       public —-> IP는 서버의 IP나 default 로 해도 무방
43
44 ####
45 # Second, map the security name into a group name:
46
47 #       groupName      securityModel securityName
48 group   notConfigGroup v1           hoguinside —-위의 source 명과 동일하게
49 group   notConfigGroup v2c           hoguinside —- 마찬가지
50
51 ####
52 # Third, create a view for us to let the group have rights to:
53
54 # Make at least  snmpwalk -v 1 localhost -c public system fast again.
55 #       name           incl/excl     subtree         mask(optional)
56 #view    systemview    included   .1.3.6.1.2.1.1
57 #view    systemview    included   .1.3.6.1.2.1.25.1.1
58 view    systemview    included   .1     80  —-subtree 값 변경
기존에 있던 내용은 주석 처리 하거나 삭제 해도 됩니다.



# /etc/init.d/snmpd start



# netstat -nlp | grep snmpd

snmp 는 udp 161 번 사용 한다. iptables 를 사용한다면 등록 해주긔



tcp        0      0 127.0.0.1:199               0.0.0.0:*                   LISTEN      13578/snmpd
udp        0      0 0.0.0.0:161                 0.0.0.0:*                               13578/snmpd

# snmpwalk -On -v 2c -c public xxx.xxx.xxx.xxx
snmpget 은 원하는 MIB(OID)의 결과 값을 가져오고,

snmpwalk 는 원하는 mIB(OID)를 포함하는 하위 값을 차례로 가져옵니다.

명령어를 통해 해당 결과 값을 가져오는지 확인합니다.


3. cfg 생성


# cfgmaker –global ‘WorkDir: /var/www/mrtg’ –global ‘Options[_]: bits,growright’ –output /home/mrtg/cfg/hoguinside.cfg public@xxx.xxx.xxx.xxx

cfgmaker 는 설치방법에따라 경로가 다름

workdir     : 수집할 자료값이 저장될위치(내 경로는 yum 으로 설치 했기에  /var/www/mrtg 해당위치에 했습니다.)
bits          : 기본단위
growright  :  새로운데이터가 오른쪽으로 생성
output      : cfg파일이 저장될 위치 (아까 위쪽에 디렉토리 만드러씀 ㅇㅇ)

[root@localhost06:03:00:/var/www/mrtg]# ll /home/mrtg/cfg/
합계 12
drwxr-xr-x 2 root root 4096  2월 27 17:39 ./
drwx—— 4 mrtg mrtg 4096  2월 27 14:06 ../
-rw-r–r– 1 root root 1007  2월 27 17:04 hoguinside.cfg



# vim /home/mrtg/cfg/hoguinside.cfg



1 EnableIPv6: no
2 WorkDir: /var/www/mrtg
3 Options[_]: bits,growright
4
5 Target[xxx.xxx.xxx.xxx]: 1:public@xxx.xxx.xxx.xxx:
6 SetEnv[xxx.xxx.xxx.xxx]: MRTG_INT_IP=”xxx.xxx.xxx.xxx” MRTG_INT_DESCR=”eth0″
7 MaxBytes[xxx.xxx.xxx.xxx]: 125000000 —-> 요부분은 0으로 되어 있을껀데 내당 용량으루 변경
8 Title[xxx.xxx.xxx.xxx]: Traffic Analysis for 2 — localhost
9 PageTop[xxx.xxx.xxx.xxx]: <h1>Traffic Analysis for 2 — localhost</h1>
10         <div id=”sysdetails”>
11             <table>
12                 <tr>
13                     <td>System:</td>
14                     <td>localhost in Unknown (edit /etc/snmp/snmpd.conf)</td>
15                 </tr>
16                 <tr>
17                     <td>Maintainer:</td>
18                     <td>Root &lt;root@localhost&gt; (configure /etc/snmp/snmp.local.conf)</td>
19                 </tr>
20                 <tr>
21                     <td>Description:</td>
22                     <td>eth0  </td>
23                 </tr>
24                 <tr>
25                     <td>ifType:</td>
26                     <td>ethernetCsmacd (6)</td>
27                 </tr>
28                 <tr>
29                     <td>ifName:</td>
30                     <td>eth0</td>
31                 </tr>
32                 <tr>
33                     <td>Max Speed:</td>
34                     <td>0.0 bits/s</td>
35                 </tr>
36                 <tr>
37                     <td>Ip:</td>
38                     <td>115.68.87.115 ()</td>
39                 </tr>
40             </table>
41         </div>
주석이 엄청 쳐져 있거나 위부분 만 활성화 되어 있거나 둘중 하나임

위 내용과 그 위쪽에 같은 비슷한 내용이 있을텐데, 두개중 첫번재는 loopback 용 rmtg 임, 그래서 그냥 삭제 해도됩니다.

만약, cfg 파일에 해당 내용이 없다면 snmpwalk 를 통해 값을 받아 오는지 확인 하고 mrtg 를 한번 실행 해보고 확인

실행 방법은 아래있습니다.

maxbytes(0으로 둘경우) 및 주석 해제시 앞쪽에 공간이 남아 있다면 아래 indexmake 가 안될 수 있습니다.

4 index 파일 만들기

웹에서 보여 줄 수 있도록 페이지 만들기


# indexmaker –title “hoguinside MRTG page” –output /var/www/mrtg/index.html /home/mrtg/cfg/hoguinside.cfg



[root@localhost06:09:42:/usr/bin]# cd /var/www/mrtg/
[root@localhost06:13:35:/var/www/mrtg]# ll
합계 180
drwxr-xr-x 2 root root  4096  2월 27 18:08 ./
drwxr-xr-x 3 root root  4096  2월 27 14:11 ../
-rw-r–r– 1 root root   350  2월 24  2012 favicon.ico
-rw-r–r– 1 root root  2522  2월 27 17:06 index.html -> 인덱스 페이지 생성확인
-rw-r–r– 1 root root   343  2월 24  2012 mrtg-l.gif
-rw-r–r– 1 root root   538  2월 24  2012 mrtg-l.png
-rw-r–r– 1 root root  1144  2월 24  2012 mrtg-m.gif
-rw-r–r– 1 root root   414  2월 24  2012 mrtg-m.png
-rw-r–r– 1 root root  1779  2월 24  2012 mrtg-r.gif
-rw-r–r– 1 root root  1759  2월 24  2012 mrtg-r.png
-rw-r–r– 1 root root  4696  2월 24  2012 mrtg-ti.gif
-rw-r–r– 1 root root  4293  2월 24  2012 mrtg-ti.png



5 실행 및 마무리

1) 실행

# mrtg /home/mrtg/cfg/hoguinside.cfg



2)vhost 설정

서브 도메인 으로 DNS 에 mrtg 등록

http://mrtg.hoguinside.com —> 서브도메인 생성


# vim /usr/local/apache/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>
DocumentRoot /var/www/mrtg
ServerName hoguinside.com
ServerAlias mrtg.hoguinside.com
ErrorLog logs/mrtg.hoguinside.com-error_log
CustomLog logs/mrtg.hoguinside.com-access_log common
</VirtualHost>

# /etc/init.d/apachectl restart



웹에서 확인



클릭하면 아래 처럼 확인확인





3) cron 설정



적당한 경로에다가 스크립트 생성



# vi mrtg.sh


4) 스크립트 생성
#!/bin/bash

mrtg /home/mrtg/cfg/hoguinside.cfg

5) 크론등록(5분마다 실행)
# crontab -e
*/5 * * * * su – root -c ‘/tset/mrtg.sh >&  /dev/null’

  • Share:

You Might Also Like

0 개의 댓글