메뉴 닫기

트래픽 모니터링 프로그램 – vnstat

 

트래픽 모니터링 프로그램 vnstat 를 소개합니다.  

주요 특징으로는 트래픽 양을 데이터베이스로 쌓아놓아, 하루에 얼마나 전송했고 한달에 얼마나 전송했는지를 시간이 지나서도 쿼리를 이용해서 조회할 수 있습니다.

 

1. 설치

vnstat 홈페이지를 방문하여 소스 파일을 다운로드 후 설치합니다.

홈페이지 :  http://humdi.net/vnstat/

 


# wget http://humdi.net/vnstat/vnstat-1.12.tar.gz

# tar xvfz vnstat-1.12.tar.gz

# cd vnstat-1.12.tar.gz

# make

# make all

# make install

2. 설정

vnstat 일부 기능은 커널에 의존합니다.  따라서 이것을 체크해주는 것이 좋으므로, 다음과 같이 합니다.


# vnstat –testkernel

This test will take about 60 seconds.
[==============================] done.

Detected boot time variation during test: 0
Maximum boot time variation set in config: 15

The current kernel doesn’t seem to suffer from boot time variation problems.
Everything is ok.

vnstat 는 이더넷 인터페이스대로 데이터베이스를 유지합니다.  다음과 같이 데이터베이스를 생성합니다.


# vnstat -u -i eth0

주기적으로 모니터링하여 데이터베이스를 갱신할 수 있도록 crontab 에 다음과 같이 설정합니다.  (5분 주기)


*/5 * * * * root vnstat -u -i eth0

3.  사용방법

crontab 을 이용하여 주기적으로 모니터링하거나 데몬 형태로 vnstat 를 띄워놓으면 서버 트래픽 사용량을 데이터베이스에 쌓아 놓습니다.
이제 이것을 어떻게 조회하는지 방법을 살펴보도록 하겠습니다.

vnstat 처음 실행할 때…

데이터베이스에 충분한 데이터가 없으므로 다음과 같이 메세지가 출력됩니다.


vnstat
eth0: Not enough data available yet.

 

옵션없이 실행할 때…

# vnstat

vnstat_18

 

지난 24시간 동안 시간별 트래픽 양 보기 (-h 옵션)

# vnstat -h

vnstat_11

지난 24시간 동안 시간대별 인바운드(rx),  아웃바운드 (tx)  트래픽  (단위는 kBytes) 을 그래프와 함께 보여줍니다.
위 그림에서는 새벽 2시에 아웃바운드 (tx) 트래픽이 많이 발생한 것을 그래프와 수치로 확인할 수 있습니다.

오늘로 부터 지난 7일간 전체 트래픽 양 보기 (-w 옵션)

# vnstat -w

vnstat_15

첫번째 줄 – last 7 days 지난 7일간 인바운드(rx),  아웃바운드 (tx), 전체 트래픽  (단위는 GBytes)
두번째 줄 – 이번주 인바운드(rx),  아웃바운드 (tx), 전체 트래픽  (단위는 GBytes)
세번째 줄 – 금주 추측 인바운드(rx),  아웃바운드 (tx), 전체 트래픽  (단위는 GBytes)

이번달 날짜별 트래픽 양 보기 (-d 옵션)

# vnstat -d

vnstat_12

날짜별 인바운드(rx),  아웃바운드 (tx), 전체 트래픽  (단위는 GBytes) 그리고, 그래픽 바로 어느 날 트래픽을 많이 썼는지 알 수 있습니다.
위 그림에서는 아웃바운드(tx) 트래픽은 13일, 인바운드(rx) 트래픽은 8, 13, 27일 많이 발생했었네요.

월별 트래픽 양 보기 (-m 옵션)

# vnstat -m

vnstat_13

월별 인바운드(rx),  아웃바운드 (tx), 전체 트래픽  (단위는 GBytes / TBytes) 그리고, 그래픽 바로 어느 날 트래픽을 많이 썼는지 알 수 있습니다.


트래픽 양이 가장 많았던 날 TOP 10 보기 (-t 옵션)

# vnstat -t

vnstat_14

트래픽을 가장 많이 쓴 날을 1~10위까지 한번에 확인할 수 있습니다.

실시간 트래픽 양 보기 (-l 옵션)

# vnstat -l

vnstat_16

위 명령을 내린 시간부터 누적 인/아웃바운드 트래픽 사용량을 표시해주는데
좌측부터 인바운드 : 초당 kb 트래픽량 / 초당 패킷량    아웃바운드 : kb 트래픽량 / 초당 패킷량 실시간으로 누적 카운트 하고 

CTRL – C 를 누르게 되면 다음과 같이 모니터링 시간 동안의 누적 카운트를 보여주게됩니다.  

– 좌/우 구분 – 인바운드(rx) // 아웃바운드(tx)
– 상/하 구분 – 총합, 최대, 평균, 최저 bytes 트래픽 // 총합, 최대, 평균, 최저 packets 트래픽 
– 모니터링 진행 시간 

vnstat_17

 

NIC 장치별 트래픽 양 보기 (-i 옵션 장치명)

# vnstat -i eth0

vnstat_18

NIC 포트를 2개 이상 운영하는 경우  위와 같이 장치별로 확인할 수 있습니다.

위와 같이 축적된 데이터를 보려면 
vnstat -u -i eth1  과 같이 데이터베이스 생성 및 데이터가 주기적으로 저장되어 있어야 합니다.

 

[polldaddy rating=”7739789″]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다