一. 安裝vnstat
epel包內建vnstat,可以先安裝epel,然後執行下列命令:
yum install vnstat -y
二. 配置
修改/etc/sysconfig/vnstat檔案,可看到如下配置(如果預設網口為eth0,則可以不修改):
VNSTAT_OPTIONS="-u -i eth0"
修改/etc/vnstat.conf,主要關注“Interface”,用來確認預設的網口
Interface "eth0"
為了方便查看,我修改了以下參數
RateUnit 0
三. 建立資料庫
在建立資料庫檔案前,需要使用chsh命令修改vnstat的執行指令碼
#chsh -s /bin/bash vnstat
然後執行下列命令建立資料庫:
#runuser -l vnstat -g vnstat -c '/usr/bin/vnstat -u -i eth0'
首次執行,建立資料庫,會出現如下內容:
Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.
如果不修改vnstat的shell環境,直接執行runuser建立資料庫,則會報如下錯誤:
This account is currently not available.
建立資料庫成功後,還原vnstat的shell環境為nologin
#chsh -s /sbin/nologin vnstat
建立完成後執行vnstat,由於資料量不夠,返回錯誤:
eth0: Not enough data available yet.
等待一段時間後就可以輸出結果:
[root@li815-118 ~]# vnstat
Database updated: Wed Jan 21 22:45:02 2015
eth0 since 01/21/15
rx: 521.74 MB tx: 581.62 MB total: 1.08 GB
monthly
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Jan '15 521.74 MB | 581.62 MB | 1.08 GB | 0.62 KB/s
------------------------+-------------+-------------+---------------
estimated 771 MB | 859 MB | 1.59 GB |
daily
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
today 521.74 MB | 581.62 MB | 1.08 GB | 13.80 KB/s
------------------------+-------------+-------------+---------------
estimated 549 MB | 612 MB | 1.13 GB |
四. 開機服務
centos6版本開機自起vnstat服務:
chkconfig vnstat on
vnstat的一些服務控制命令:
service vnstat start
service vnstat stop
service vnstat restart
service vnstat status
五. 舉例
輸出xml格式資料
vnstat -i eth0 –xml
查看eth0的狀態
vnstat -i eth0
查看每天狀態
vnstat -i eth0 -d
查看每小時狀態
vnstat -i eth0 -h
查看每周狀態
vnstat -i eth0 -w
查看排名前10的網路
vnstat -i eth0 -t
用簡單模式查看資訊
vnstat -i eth0 -s
計算傳輸
vnstat -i eth0 -tr
查看即時速率
vnstat -i eth0 -l