2012년 1월 13일 금요일

mrtg - 하루중 가장 높은 트래픽 기록하기















[Linux] mrtg - 하루중 가장 높은 트래픽 기록하기
글쓴이 : 관리자     날짜 : 10-11-08 12:50     조회 : 1101    

0. 테스트 환경

    모든 테스트 환경은 2010년 11월 1일 기준의 최신 AnNyung Linux 배포판에서 했다.

 

 

1. 개요

    - mrtg를 운영할 경우, 매일매일의 (최대)사용트래픽을 숫자로 저장하고자 한다.

    - 통상적으로, 그래프로 나타내어 지는 트래픽의 양은 정확한 수치로 표현하기가 어렵다.

    - 따라서, mrtg 로그파일을 이용하여 하루에 한 번씩 가장 높은 트래픽을 추출하여 별도의 숫자로 기록하는 방식이다.

 

 

2. mrtg 로그파일


    - 스위치의 해당 포트에 대한 트래픽 양을 기록한 로그파일은 확장자가 .log 파일이다.

    - 여기서는 3886_8.log 파일을 해당 포트의 트래픽 로그파일로 가정한다.

    - 로그파일의 내용을 살펴보면, 그 포맷은 다음과 같다.

 

      첫번째라인 : timestamp값 | IN bytes 갯수 |  OUT bytes 갯수

      두번째라인이후 : timestamp값 | 평균 IN bytes |  평균 OUT bytes | 최대 IN bytes | 최대 OUT bytes

 

 

3. 쉘상에서 하루 최대트래픽 가져오기

    - mrtg의 로그는 5분(=300초) 간격으로 기록되므로, 한시간에 12라인이.... 하루에 288라인이 기록된다.

    -  첫 라인을 제외하고, 두 번째 라인부터 289라인까지가 현시간을 기준으로 1일 쌓인 mrtg 로그이다.

    - 여기서 필요한 값은, 첫 번째 칸의 timestamp 값과 네 번째 칸의 최대 IN bytes 값이다.

    - 따라서, 로그파일의 두 번째 라인부터 289라인까지의 값 중에서 네 번째 칸이 가장 큰 값을 가져오면 된다.

 


      head -n 289 3886_8.log  // 3886_8.log 파일의 첫 라인부터 289라인까지 가져온다.

      tail -n 288                       // 가져온 값에서 첫 라인을 제외하고 나머지 288라인을 가져온다.

      sort -k4 -n -r              // 네 번째 필드를 기준으로(-k4), 숫자순서로(-n), 내림차순으로(-r) 정리한다.

      head -n 1                       // 정렬된 값의 가장 처음 라인을 가져온다.

 

    - 위의 결과값으로 나온 필드 중에서 첫 번째(1288707600) 필드와 네 번째(4544071) 필드만 필요하다.

       첫 값은 timestamp 값이고, 네 번째 필드가 트래픽 값이며 단위는 bytes 이다.

 

 

4. 추출값 변환

 

    - 위의 명령어는 한 줄이다. 중간에 awk 다음에 역슬래쉬(\)를 넣은 것은 생략하고 한 줄로 적으면 된다.

    - 해당 명령어로 원하는 값을 얻었다.

       2010년 11월 02일 23:20:00 시간에 29.4메가의 트래픽이 하루동안 가장 큰 트래픽이다.

    - timestamp값을 변환하여 알아보기 쉽게 하였고, 트래픽은 메가단위로 소숫점 한자리까지만 나타냈다.

    - awk 명령어에 대한 내용은 다른 자료를 찾아보기 바란다. 내용이 길어져서 차후에 별도로 지면을 할애하여 설명할 계획이다.

 

    - 참고1 : perl이 설치되어 있다면, 다음의 명령어로 콘솔상에서 timestamp값을 바로 변환할 수도 있다.

       # perl -e 'print scalar localtime(1288707600),"\n"'

       Tue Nov  2 23:20:00 2010

 

    - 참고2 : 추출데이터를 약간 가공만 하면, 하루 누적트래픽 등도 구할 수 있다.

http://hostinglove.com/bbs/board.php?bo_table=Tip_Tech&wr_id=16

댓글 없음:

댓글 쓰기