트래픽 모니터링 프로그램 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. Detected boot time variation during test: 0 The current kernel doesn’t seem to suffer from boot time variation problems. |
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
지난 24시간 동안 시간별 트래픽 양 보기 (-h 옵션)
지난 24시간 동안 시간대별 인바운드(rx), 아웃바운드 (tx) 트래픽 (단위는 kBytes) 을 그래프와 함께 보여줍니다.
위 그림에서는 새벽 2시에 아웃바운드 (tx) 트래픽이 많이 발생한 것을 그래프와 수치로 확인할 수 있습니다.
오늘로 부터 지난 7일간 전체 트래픽 양 보기 (-w 옵션)
# vnstat -w
첫번째 줄 – last 7 days 지난 7일간 인바운드(rx), 아웃바운드 (tx), 전체 트래픽 (단위는 GBytes)
두번째 줄 – 이번주 인바운드(rx), 아웃바운드 (tx), 전체 트래픽 (단위는 GBytes)
세번째 줄 – 금주 추측 인바운드(rx), 아웃바운드 (tx), 전체 트래픽 (단위는 GBytes)
이번달 날짜별 트래픽 양 보기 (-d 옵션)
# vnstat -d
날짜별 인바운드(rx), 아웃바운드 (tx), 전체 트래픽 (단위는 GBytes) 그리고, 그래픽 바로 어느 날 트래픽을 많이 썼는지 알 수 있습니다.
위 그림에서는 아웃바운드(tx) 트래픽은 13일, 인바운드(rx) 트래픽은 8, 13, 27일 많이 발생했었네요.
월별 트래픽 양 보기 (-m 옵션)
# vnstat -m
월별 인바운드(rx), 아웃바운드 (tx), 전체 트래픽 (단위는 GBytes / TBytes) 그리고, 그래픽 바로 어느 날 트래픽을 많이 썼는지 알 수 있습니다.
트래픽 양이 가장 많았던 날 TOP 10 보기 (-t 옵션)
# vnstat -t
트래픽을 가장 많이 쓴 날을 1~10위까지 한번에 확인할 수 있습니다.
실시간 트래픽 양 보기 (-l 옵션)
# vnstat -l
위 명령을 내린 시간부터 누적 인/아웃바운드 트래픽 사용량을 표시해주는데
좌측부터 인바운드 : 초당 kb 트래픽량 / 초당 패킷량 아웃바운드 : kb 트래픽량 / 초당 패킷량 실시간으로 누적 카운트 하고
CTRL – C 를 누르게 되면 다음과 같이 모니터링 시간 동안의 누적 카운트를 보여주게됩니다.
– 좌/우 구분 – 인바운드(rx) // 아웃바운드(tx)
– 상/하 구분 – 총합, 최대, 평균, 최저 bytes 트래픽 // 총합, 최대, 평균, 최저 packets 트래픽
– 모니터링 진행 시간
NIC 장치별 트래픽 양 보기 (-i 옵션 장치명)
# vnstat -i eth0
NIC 포트를 2개 이상 운영하는 경우 위와 같이 장치별로 확인할 수 있습니다.
위와 같이 축적된 데이터를 보려면
vnstat -u -i eth1 과 같이 데이터베이스 생성 및 데이터가 주기적으로 저장되어 있어야 합니다.
[polldaddy rating=”7739789″]