前言

除了服务商提供的面板,我们也可以安装 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

image
image

参考文章

官方安装文档

利用vnstat监控网站服务器流量

Linux 下安装 vnStat 监控 VPS 服务器流量

vnstat教程:linux下很方便查看服务器带宽流量统计的命令