vnstat으로trafic 쉽게 감시

6996 단어 Linuxvnstatvnstati
vnstat은 명령 기반의 네트워크 트레이픽 모니터입니다.
traffic하면 캐티와 mrtg가 먼저 떠오르는데 이러면 웹 서버를 만들어야 합니다.
더 간단하게 가져올 수 있는 것은 vnstat입니다.
또 시간, 날짜 등 다양한 패턴을 통해 모니터링할 수 있다.

1. 설치


그래서 먼저 설치한다.
이번에 사용된 서버는 Amazon Linux입니다.
설치(redhat 시스템)
$ sudo yum install --enablerepo=epel vnstat
redhat시스템의 설치는 epel창고에서yum까지 가능하지만 Ubuntu시스템은 app로 다음과 같은 방법으로 설치할 수 있습니다.
설치(ubuntu 시스템)
$ sudo apt-get install vnstat vnstati
또한 vnstat에 대한 설정은/etc/vnstat입니다.conf에 기록하면 데이터의 저장 위치와 저장 간격 등을 설정할 수 있습니다.

2. 명령 실행


그럼 명령을 실행해 보세요.
명령하다
$ vnstat
No database found, nothing to do. Use --help for help.

A new database can be created with the following command:
vnstat -u -i eth0

Replace 'eth0' with the interface that should be monitored.

The following interfaces are currently available:
eth0 lo
"Nodatabase found..."로 표시됩니다.
설치 후 "데이터베이스에 아무것도 없습니다!"말씀하시는 것 같습니다.
계속 보면'vnstat-u-ieth0'이라고 쓰여 있어 데이터베이스를 만들 수 있습니다.
그래서 만들어 보세요.

2.1. DB 생성


DB 생성
$ vnstat -u -i eth0
Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.
첫 번째 행에는 "Error", 두 번째 행에는 "Info"라는 데이터베이스가 작성됩니다.
이것은 새로운 데이터베이스를 만들었다.
확인
$ ls /var/lib/vnstat/
eth0
그래서 다시 명령을 집행한다.
실행
$ vnstat
eth0: Not enough data available yet.
아직 유효한 데이터가 없다고 합니다.

2.2 데이터 업데이트


따라서 데이터를 업데이트합니다.
데이터 획득
$ vnstat -u -i eth0

2.3 데이터 확인


그럼 다시 한 번 확인해 봅시다.
실행
$ vnstat
Database updated: Tue Jul 7 15:16:40 2015

eth0 since 07/07/15

rx: 25 KiB tx: 13 KiB total: 38 KiB

monthly
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Jul '15 25 KiB | 13 KiB | 38 KiB | 0.00 kbit/s
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |

daily
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
today 25 KiB | 13 KiB | 38 KiB | 0.01 kbit/s
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |
기본적으로 monthly와daily 두 가지가 표시되지만, 옵션을 통해서 weekly로 표시할 수도 있습니다.
weekly 표시
$ vnstat -w

eth0 / weekly

rx | tx | total | avg. rate
---------------------------+-------------+-------------+---------------
last 7 days 25 KiB | 13 KiB | 38 KiB | 0.00 kbit/s
current week 25 KiB | 13 KiB | 38 KiB | 0.00 kbit/s
---------------------------+-------------+-------------+---------------
estimated -- | -- | -- |

2.4. 확인 옵션


"--help"옵션을 통해 어떤 출력 방법을 사용할 수 있는지 확인할 수 있습니다.
hellp 옵션
$ vnstat --help
vnStat 1.11 by Teemu Toivola <tst at iki dot fi>

-q, --query query database
-h, --hours show hours
-d, --days show days
-m, --months show months
-w, --weeks show weeks
-t, --top10 show top10
-s, --short use short output
-u, --update update database
-i, --iface select interface (default: eth0)
-?, --help short help
-v, --version show version
-tr, --traffic calculate traffic
-ru, --rateunit swap configured rate unit
-l, --live show transfer rate in real time

See also "--longhelp" for complete options list and "man vnstat".

2.5. 설정 자동 가져오기(daemon 시작)


또한 이 vnstat은 데몬을 준비했기 때문에 시작하기만 하면 자동으로 정보를 얻을 수 있습니다.
데몬 시작
$ sudo service vnstat start
vnstatd を起動中: [ OK ]

3. 도표 작성


또한 vnstati에서 얻은 데이터에 따라 png의 도표를 만들 수 있다.
rx: 수신
tx:보내기
[월별(-m)]

명령하다
$ vnstati -m -o ./monthly.png
[일일(-d)]

명령하다
$ vnstati -d -o ./daily.png
[시간별(-h)]

명령하다
$ vnstati -h -o ./houly.png
[시간별 취합(-vs)]

명령하다
$ vnstati -vs -o ./hsum.png
위에서 말한 바와 같이 도표화를 쉽게 가져올 수 있어 매우 편리하다.

좋은 웹페이지 즐겨찾기