安装 vnStat 统计服务器流量 - Himly/vps-tutorial GitHub Wiki

vnStat 是一款 Linux 下统计网卡流量的软件,可以很方便地查看当前、当天、当月的流量统计报告. 所以,如果想知道自己服务器到底跑了多少流量,vnstat 是一个很好用的服务器流量统计命令. 以下是截图展示:

  • 统计天数的:

img

  • 统计月份的:

img

1. 安装

centos 需要先安装 epel 源后才能使用 yum 来安装

yum install epel-release -y && yum install -y vnstat

Debian / ubuntu 安装

apt-get install vnstat

2. 创建监控数据库

首先,使用 ip aifconfig 命令查看你机器的网卡名称,一般默认为 eth0 , 如果是全新的 iso 安装的 Debian 9,那么默认的网卡名称应该为 ens3ens4

其次,如果你的网卡名称为 ens3 ,由于默认的配置文件还是旧的网卡名称 eth0 ,所以 我们修改 /etc/vnstat.conf 文件,直接修改第五行即可

vim /etc/vnstat.conf
# default interface
Interface "ens3"

这里的 eth0 可以改成你需要的网卡

vnstat -u -i eth0

此时我们进入数据库的目录 /var/lib/vnstat 会发现数据库文件的权限是 root 用户

 ls -al /var/lib/vnstat

// total 16
// drwxr-xr-x  2 vnstat vnstat 4096 Aug  5 09:11 ./
// drwxr-xr-x 27 root   root   4096 Aug  5 09:11 ../
// -rw-r--r--  1 vnstat vnstat 2792 Aug  5 09:11 ens3
// -rw-r--r--  1 root   root   2792 Aug  5 09:11 .ens3

这个情况会导致 vnstat 用户无法写入数据库,所以我们修改权限,首先,停止 vnStat 服务

systemctl stop vnstat

然后修改 .ens3 文件的权限

chown vnstat:vnstat /var/lib/vnstat/.ens3

再启动 vnStat 服务

systemctl start vnstat

好了,安装配置完成.

3. 启动服务并设置开机启动

启动服务并设置开机启动

service vnstat start
chkconfig vnstat on

无法使用 chkconfig 的用户

chmod +x /etc/rc.local
vi /etc/rc.local

加入

service vnstat start

4. 流量查看命令

vnstat 基本使用命令

vnstat -l     #实时流量情况
vnstat -h     #按小时查询流量情况
vnstat -d     #按天数查询流量情况
vnstat -m     #按月数查询流量情况
vnstat -w     #按周数查询流量情况
vnstat -t     #查询TOP10流量情况

5. 一些参数的意思

rx             #接收流量(inbound)
tx             #发送流量(outbound)
total          #已用流量总数
avg.rate       #平均速率
estimated      #预估使用量 

6. 参考链接

6.1 张柯宇:https://www.cnblogs.com/zhangkeyu/p/6657733.html 6.2 烧饼:https://sb.sb/blog/debian-install-vnstat