Linux下使用vnstat统计服务器流量

warning: 这篇文章距离上次修改已过480天,其中的内容可能已经有所变动。

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

出现如下报错:权限的问题导致
Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.

chmod -R 777 /var/lib/vnstat/
chown vnstat:vnstat eth0

数据库目录:/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

附:nload

nload 是一个实时监控网络流量和带宽使用的控制台应用程序,使用两个图表可视化地展示接收和发送的流量,并提供诸如数据交换总量、最小/最大网络带宽使用量等附加信息。
nolad 与 vnstat 区别在于,nload 可以显示实时网速,vnstat 显示的则是平均网速。
1、安装
I、CentOS

# yum install nload

II、Ubuntu

# apt install nload

2、使用

# nload

3、参数
更新间隔

#  nload -t 500

默认每 100 毫秒刷新一次显示数值,上面的例子将时间间隔设置成 500 毫秒。
显示单位

# nload -u h|H|b|B|k|K|m|M|g|G
# nload -U h|H|b|B|k|K|m|M|g|G

小写选项 -u: h 意为自动格式化为人类易读的单位,b 意为 Bit/s,k 意为 kBit/s,m 意为 MBit/s,g 意为 GBit/s。大写字母意为使用 Byte 替代 Bit。默认为 k。
大写选项 -U 与小写选项 -u 非常相似,不同之处在于它展示的是数据量,比如 Bit, kByte, GBit 等等。(没有 "/s")。默认值是 M。
快捷键
nload 命令一旦执行就会开始监控网络设备,你可以使用下列快捷键操控 nload 应用程序:
按键盘上的 ← → 或者 Enter/Tab 键在设备间切换

  • 按 F2 显示选项窗口
  • 按 F5 将当前设置保存到用户配置文件
  • 按 F6 从配置文件重新加载设置
  • 按 q 或者 Ctrl+C 退出 nload
最后修改于:2021年03月11日 08:32

添加新评论