강좌
클라우드/리눅스에 관한 강좌입니다.
네트워크 분류

트래픽관리를 위한 MRTG서버구축을 실무연구 1편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

1



트래픽관리를 위한 MRTG서버구축을 실무연구 1



작성자 : 리눅스포털 수퍼유저코리아(www.superuser.co.kr) 박성수



------- 전 체 목 차 ------
1. MRTG
?

2. MRTG의 다양한 용도

2-1. 네트웍모니터링

2-1-1. 일간그래프

2-1-2. 주간그래프

2-1-3. 월간그래프

2-1-4. 년간그래프

2-2. CPU 모니터링예

2-2-1. 일간 CPU사용량

2-2-2. 주간 CPU사용량

2-2-3. 월간그래프

2-2-4. 년간그래프

2-3. DISK모니터링예

2-3-1. 일간 DISK사용량

2-3-2. 주간 DISK사용량

2-3-3. 월간 DISK사용량

2-3-4. 년간 DISK사용량

2-4. MEMORY 모니터링예

2-4-1. 일간 MEMORY 사용량

2-4-2. 주간 MEMORY 사용량

2-4-3. 월간 MEMORY 사용량

2-4-4. 년간 MEMORY사용량

2-5. 스위치의 포트별 사용량 분석

3. MRTG운용을 위해서 필요한 것은?

3-1. 트래픽분석서버

3-2. 분석대상자원

3-3. 필요한 프로그램 및 툴들

3-4. 네트웍이 갖춰진 환경

4. SNMP?

5. MIB이란?

6. 리눅스로 구축하는 MRTG서버

7. MRTG트래픽서버 디렉토리구성도

7-1. MRTG 홈디렉토리

7-2. MRTG 실행파일들 저장위치

7-3. MRTG Configuration 파일들의 저장위치

7-4. MRTG 실행결과 생성되는 HTML파일, LOG파일들의

8. MRTG를 이용한 트래픽사용량 분석

8-1. 서버트래픽분석 개론

8-2. Configuration file 만들기

8-3. cfg파일 분석

8-4. mrtg 초기실행하기

8-5. 결과확인 및 분석하기

8-6. 결과페이지 로딩시 암호인증걸기

8-7.cron 등록하기

9. MRTG를 이용한 다양한자원(CPU, DISK, MEMORY) 사용량 분석

9-1. 다양한 자원분석 사용량분석 개론

9-2. 관련 MIB 확인하기

9-3. Configuration file 만들기

9-4. cfg파일 분석

9-5. mrtg 초기실행과 웹페이지 생성확인

9-6. 웹브라우즈로 결과확인

9-7. 마무리 작업










1. MRTG?

MRTGMuti Router Traffic Grapher의 약어이다.

MRTG는 현재 세계각처에서 트래픽모니터링 및 트래픽관리 및 관리를 위해서 사용되고 있는 가장 범용의 툴이다.

MRTG는 트래픽관리서버(MRTG가 설치되어 운용되고 있는 서버)에서 주기적으로 실행된 결과를 gif png의 그래픽파일을 포함한 HTML파일을 자동으로 생성하여 웹브라우즈를 통해서 네트웍트래픽을 분석/관리할 수 있다.

MRTGCPERL로서 개발되었으며, 속도를 요하는 루틴은 대부분 C, HTML을 생성하는 부분은 대부분 perl로 되어 있다.

MRTG로 분석된 간단한 결과페이지를 보면 아래와 같다.

311967fe.png

그림1 MRTG로 분석한 트래픽예

간단히 설명드리자면 위의 그래프는 MRTG에서 표준으로 분석하여 결과로 보여주는 4(,,,)의 결과중 첫 번째 일간 트래픽추이를 모니터링한 것을 보여준 것이다.

이를 통해서 네트웍관리자나 관계자들은 네트웍의 증설 및 관리를 할 수 있게된다.








2. MRTG의 다양한 용도

MRTG가 네트웍트래픽 모니터링이나 분석을 위한 도구로만 사용되는 것은 아니다.

MRTGSNMP프로토콜에서 지원되는 다양한 자원(서버,라우터,스위치등)의 객체(MIB)들의 값을 가져와서 사용량등을 분석할 수도 있다.

, MRTG로 가능한 여러 가지 작업들을 예를 들어보면 다음과 같다.

  • 네트웍트래픽모니터링 및 분석

  • 서버의 트래픽모니터링 및 분석

  • CPU의 모니터링 및 분석

  • MEMORY의 모니터링 및 분석

  • DISK의 사용량 모니터링 및 분석

  • 기타 MIB에서 가져올 수 있는 다양한 자원들의 모니터링 및 분석

물론, MRTG의 가장 주된 목적은 트래픽을 분석하기위해 모니터링하는 것이다.

하지만, MRTGSNMP(Simple Network Monitoring Protocol)라는 네트웍관리 프로토콜을 사용하며, SNMPMIB(Management Information Base)이라는 자원의 객체데이터베이스에 정의된 값들을 가져오거나 셋팅이 가능하기 때문에 MRTG는 이들을 통한 모든 분석 및 다양한 객체의 분석 및 모니터링이 가능하다는 결론이 나온다.

2-1. 네트웍모니터링

MRTG를 통해서 분석할 수 있는 가장 대표적인 것이 아래와 같은 네트웍트래픽모니터링이다.

네트웍관련 회사들은 각회사의 네트웍을 관리하고 분석함으로서 네트웍상황이나 요금발생, 기타 경영의 지표로 활용하게된다.

2-1-1. 일간그래프

5분주기로 MRTG가 실행되어 모니터링한 결과의 1일변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

311967fe.png

2-1-2. 주간그래프

30분주기의 트래픽결과를 분석하여 일주일 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

mcc34ccc.png

2-1-3. 월간그래프

2시간주기의 트래픽결과를 모니터링하여 한달동안의 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

m55a482ba.png

2-1-4. 년간그래프

1일 주기의 결과값을 계산하여 일년동안의 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

1ef81798.png

2-2. CPU 모니터링예

MRTG를 활용하면 네트웍 트래픽뿐아니라 CPU의 사용량또한 모니터링이 가능하다.

단지 사용하는 MIB객체와 configuration만 바꿔주므로써 가능한데 이에 대한 자세한 설명은 configuration편과 MIB편에서 자세히 다루기로 하고 단지 CPU모니터링에 사용된 MIB객체(여기서는 ssCpuRawUser.0ssCpuRawIdle.0)를 달리하여 실행한 결과라는 것정도만 이해하도록 하자.

2-2-1. 일간 CPU사용량

5분주기로 MRTG가 실행되어 CPU사용량을 모니터링한 결과를 하루동안의 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

m1f7eea97.png

2-2-2. 주간 CPU사용량

30분주기의 CPU사용량을 모니터링한 결과를 분석하여 일주일간의 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

m1bc9f598.png

2-2-3. 월간그래프

2시간주기의 CPU사용량을 모니터링한 결과를 분석하여 한달간의 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

m51adc135.png

2-2-4. 년간그래프

1일주기의 CPU사용량을 모니터링한 결과를 분석하여 1년간의 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

m54cf73e6.png

2-3. DISK모니터링예

또한 MRTGDISK의 사용량까지도 모니터링이 가능하다. 메모리에 관련된 MIB객체를 이용하면 다음예와 같은 분석결과를 얻을 수 있으며 여기서 사용한 MIB객체는 dskPercent.1dskPercent.2이다.



2-3-1. 일간 DISK사용량

5분주기로 MRTG가 실행되어 DISK의 사용량을 모니터링한 결과의 1일변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

m33b7d2c1.png

2-3-2. 주간 DISK사용량

30분주기의 DISK사용량을 분석하여 일주일 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

m8bf5a64.png

2-3-3. 월간 DISK사용량

2시간주기의 DISK사용량을 모니터링하여 한달동안의 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

2c003d30.png

2-3-4. 년간 DISK사용량

1일 주기의 DISK사용량을 계산하여 일년동안의 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

m2017efc5.png

2-4. MEMORY 모니터링예

모니터링하고자하는 자원의 MEMORY의 사용량을 분석하기위해서 사용되는 MIB의 객체는 1.3.6.1.4.1.2021.4.4.01.3.6.1.4.1.2021.4.6.0 이며, 이에대한 자세한 설명은 MIB편에서 하게된다.

2-4-1. 일간 MEMORY 사용량

5분주기로 MEMORY사용량을 모니터링한 결과의 1일변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

m3043daef.png

2-4-2. 주간 MEMORY 사용량

30분주기의 MEMORY사용량을 분석하여 일주일 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

489e8624.png

2-4-3. 월간 MEMORY 사용량

2시간주기의 MEMORY사용량을 모니터링하여 한달동안의 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

5f45a53b.png

2-4-4. 년간 MEMORY사용량

1일 주기의 MEMORY사용량을 계산하여 일년동안의 변동상황을 gifpng등의 그래프가 포함된 HTML파일로 보여주게 된다.

m5b13413.png

2-5. 스위치의 포트별 사용량 분석

3COM이나 Intel등에서 생산되는 다양한 스위치의 포트들을 분석하는 것이 가능하다.

, 위에서 설명드린 것은 단순히 어떤 MIB객체를 이용하여 그 객체에 해당하는 값을 MRTG에서 가져와 분석한 것을 HTML그래프로 나타낸 것이지만 대부분의 네트웍관련 업체에서는 스위치를 대상으로 트래픽분석을 하고 있다.

, 다시 말하면 어떤 장비(서버, 라우터, 스위치등)의 네트웍사용량을 모니터링하고자할 경우에 그 장비가 연결되어 있는 스위치의 포트를 중심으로 트래픽량을 분석한다는 것이다.

이에대한 자세한 설명또한 실제프로젝트를 예로 들어 자세히 설명되어 있으므로 해당편을 참조바란다.





3. MRTG운용을 위해서 필요한 것은?

MRTG를 구축하여 트래픽분석서버를 구축하기위해서는 어떤 것들이 필요할까?

우선 MRTG 트래픽분석서버를 구축하여 운용하기 위해서 필요한 것을 열거해 보면 다음과 같다.

  1. 트래픽분석서버(MRTG가 설치되어 운영될 서버)

    • UNIX, Solaris, NT, Linux

  2. 분석대상자원(네트웍트래픽의 분석대상자원)

    • Router

    • Switch

    • Server

    • 기타네트웍장비들

  3. 필요한 프로그램 및 툴들

    • MRTG

    • gzip

    • gcc

    • perl

    • zlib

    • libpng

    • gd

    • Apache

    • snmp (ucd-snmp, cmu-snmp)

  4. 네트웍이 갖춰진 환경



3-1. 트래픽분석서버

MRTG가 설치될 서버, 즉 트래픽분석서버로 사용될 서버가 필요할 것이다.

MRTG가 설치될 수 있는 서버는 UNIXSolaris뿐아니라 NTLINUX등 거의 모든 서버에서 설치가 가능하다.

필자가 아래의 모든 운영체제(OS)에서 MRTG를 테스트해 본 것은 아니지만 MRTG 공식사이트인 www.mrtg.org에서는 아래와 같은 운영체제에서 MRTG가 설치되어 운용가능하다고 알리고 있다.

  • Linux 1.2.x, 2.0.x, 2.2.x, 2.4.x (Intel and Alpha and Sparc and PowerPC)

  • Linux MIPS, Linux S/390

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,791 개
  • 현재 접속자 :  172 명