Linux 下使用 vnStat 统计 VPS 流量

前言

除了服务商提供的面板,我们也可以安装 vnStat 来监控你的 VPS 或服务器的流量使用情况,vn­Stat 安装方法很简单,可分为编译安装或者直接通过源安装。由于源安装一般不是最新版本,推荐使用编译安装。

安装

编译安装

输入以下命令下载源文件

git clone https://github.com/vergoh/vnstat.git

进入 vn­stat 目录

cd vnstat

编译文件

./configure --prefix=/usr --sysconfdir=/etc && make

安装

make install

如果需要卸载则输入 make uninstall

安装服务脚本

examples 目录下包含了最常用的服务脚本文件,根据不同的系统进行以下操作。

De­bian / Ubuntu:

cp -v examples/init.d/debian/vnstat /etc/init.d/
update-rc.d vnstat defaults
service vnstat start

Red Hat / Cen­tOS:

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 文件。

源安装

源安装比编译安装方法更简单,但一般不是最新版本。

De­bian / Ubuntu 下直接使用 apt-get 安装即可:

apt-get install vnstat

Cen­tos 需要先安装 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 命令来重启 vn­Stat。

生成数据库

同样的,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

服务命令

启动 vn­Stat:service vnstat start

停止 vn­Stat:service vnstat stop

重启 vn­Stat:service vnstat restart

查看 vn­Stat 状态:service vnstat status

使用 ServerStatus-V 查看流量统计

Server­Sta­tus-V 是一个酷炫高逼格的云探针、云监控、服务器云监控、多服务器探针。使用方便,信息直观。Server­Sta­tus-V 是 ServerStatus 中文版 项目的优化 / 修改版。原版调用的网卡流量数据,缺点是重启后流量信息会清零。而 Server­Sta­tus-V 直接调用 vn­Stat 月流量数据。

安装 & 使用:https://github.com/P3TERX/ServerStatus-V

THE END