前言
除了服務商提供的面板,我們也可以安裝 vnStat 來監控你的 VPS 或服務器的流量使用情況,vnStat 安裝方法很簡單,可分為編譯安裝或者直接通過源安裝。由於源安裝一般不是最新版本,推薦使用編譯安裝。
安裝
編譯安裝
輸入以下命令下載源文件
git clone https://github.com/vergoh/vnstat.git
進入 vnstat 目錄
cd vnstat
編譯文件
./configure --prefix=/usr --sysconfdir=/etc && make
安裝
make install
如果需要卸載則輸入 make uninstall
安裝服務腳本
examples
目錄下包含了最常用的服務腳本文件,根據不同的系統進行以下操作。
Debian / Ubuntu:
cp -v examples/init.d/debian/vnstat /etc/init.d/
update-rc.d vnstat defaults
service vnstat start
Red Hat / CentOS:
cp -v examples/init.d/redhat/vnstat /etc/init.d/
chkconfig vnstat on
service vnstat start
如遇到 Failed to restart vnstat.service: Unit vnstat.service is masked.
請刪除 /etc/systemd/system/
下的 vnstat.service
文件。
源安裝
源安裝比編譯安裝方法更簡單,但一般不是最新版本。
Debian / Ubuntu 下直接使用 apt-get
安裝即可:
apt-get install vnstat
Centos 需要先安裝 epel 源后才能使用 yum
來安裝:
yum install epel-release -y
yum install -y vnstat
修改配置
輸入 ifconfig
命令查看自己的網卡名。一般來說 OVZ 的網卡是 venet0
,而 XEN 和 KVM 的網卡是 eth0
。
然后修改配置文件
vi /etc/vnstat.conf
修改 Interface
選項
## KVM / XEN
Interface "eth0"
## OpenVZ
Interface "venet0"
MonthRotate
為每月流量結算日期,也就是每月流量重新計算的日期,默認為每月 1 日,根據需要修改。
其它選項可查看官方配置文檔
修改好配置后使用 service vnstat restart
命令來重啟 vnStat。
生成數據庫
同樣的,OVZ 的網卡是 venet0
,而 XEN 和 KVM 的網卡是 eth0
,根據實際情況來輸入以下命令來生成數據庫。
## KVM / XEN
vnstat -u -i eth0
## OpenVZ
vnstat -u -i venet0
數據庫目錄:/var/lib/vnstat/
刪除數據庫 vnstat --delete --force -i eth0
使用方法
使用 vnstat --help
命令來查看詳細使用方法。
流量統計查詢
vnstat -h #按小時查詢
vnstat -d #按天數查詢
vnstat -m #按月數查詢
vnstat -w #按周數查詢
vnstat -t #查詢TOP10
查詢實時流量
## KVM / XEN
vnstat -l -i eth0 -ru
## OpenVZ
vnstat -l -i venet0 -ru
服務命令
啟動 vnStat:service vnstat start
停止 vnStat:service vnstat stop
重啟 vnStat:service vnstat restart
查看 vnStat 狀態:service vnstat status
使用 ServerStatus-V 查看流量統計
ServerStatus-V 是一個酷炫高逼格的雲探針、雲監控、服務器雲監控、多服務器探針。使用方便,信息直觀。ServerStatus-V 是 ServerStatus 中文版 項目的優化 / 修改版。原版調用的網卡流量數據,缺點是重啟后流量信息會清零。而 ServerStatus-V 直接調用 vnStat 月流量數據。
安裝 & 使用:https://github.com/P3terChan/ServerStatus-V
參考文章
vnstat 教程:linux 下很方便查看服務器帶寬流量統計的命令
https://p3terx.com/archives/statistics-vps-traffic-using-vnstat-under-linux.html
相關開源項目:https://github.com/P3TERX/ServerStatus-V
- ServerStatus:https://github.com/BotoX/ServerStatus
- mojeda's ServerStatus:https://github.com/mojeda/ServerStatus
- BlueVM's project:http://www.lowendtalk.com/discussion/comment/169690#Comment_169690
- ServerStatus中文版:https://github.com/tenyue/ServerStatus
- ServerStatus-Toyo:https://github.com/ToyoDAdoubi/ServerStatus-Toyo