Linux 下使用 vnStat 统计 VPS 流量
前言
除了服务商提供的面板,我们也可以安装 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/P3TERX/ServerStatus-V