当前位置: 首页 > article >正文

如何在 Ubuntu 22.04 上使用 vnStat 监控网络流量

简介

vnStat是一个免费的、开源的、基于控制台的Linux操作系统网络流量监控工具。通过vnStat,你可以在不同的时间段监控网络统计数据。它简单、轻量级,并且消耗的系统资源很小。vnStat允许你按小时、日、月、周和日生成网络流量数据。本教程将向你展示如何在Ubuntu 22.04上安装和使用vnStat来监控网络流量。

特性

  • 同时监控多个接口。
  • 提供多种输出选项,如按日、周等。
  • 按小时、日、月或周排序数据,或获取前10天的数据。
  • 允许你以图像格式生成输出。
  • 同时监控多个网络接口。
  • 轻量级且CPU使用率低。

接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

https://img-blog.csdnimg.cn/img_convert/4c16271f125adea69da6ed9e7b2a4226.png

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

https://img-blog.csdnimg.cn/img_convert/414570cd3da48d4cc4bf51489992000b.png

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。

https://img-blog.csdnimg.cn/img_convert/c8afbeb764459a37a8451dd2ed8eeff1.png

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。

https://img-blog.csdnimg.cn/img_convert/ea5814f1d1068ca9fa2bb94631cfbdf1.png

  • 到此为止,我们的云服务器就远程连接上了。

开始安装

更新系统软件包

开始之前,建议更新并升级所有系统软件包到最新版本。你可以使用以下命令更新所有软件包:

apt update -y
apt upgrade -y

所有软件包更新后,你可以在下一步从源代码安装vnStat。

安装vnStat

默认情况下,Ubuntu默认仓库中没有vnStat的最新版本。因此,你需要从源代码编译它。

首先,使用以下命令安装编译vnStat所需的所有依赖:

apt-get install build-essential gcc make libsqlite3-dev -y

安装完所有依赖后,使用以下命令下载vnStat源代码的最新版本:

wget https://humdi.net/vnstat/vnstat-2.10.tar.gz

下载完成后,使用以下命令解压下载的文件:

tar -xvzf vnstat-2.10.tar.gz

接下来,切换到解压后的目录,并使用以下命令配置它:

cd vnstat-2.10
./configure --prefix=/usr --sysconfdir=/etc

接下来,通过运行以下命令安装vnStat:

make
make install

安装完vnStat后,你可以使用以下命令验证安装的vnStat版本:

vnstat -v

你应该得到以下输出:

vnStat 2.10 by Teemu Toivola

完成后,你可以进行下一步。

使用systemd管理VnStat

要使用systemd管理VnStat,你需要将vnStat的systemd服务文件从vnStat源代码复制到/etc/systemd/system/目录:

cp -v vnstat-2.10/examples/systemd/vnstat.service /etc/systemd/system/

接下来,使用以下命令启用并启动vnStat服务:

systemctl enable vnstat
systemctl start vnstat

你还可以使用以下命令检查vnStat服务的状态:

systemctl status vnstat

你应该得到以下输出:

? vnstat.service - vnStat network traffic monitor
   Loaded: loaded (/lib/systemd/system/vnstat.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2022-11-29 08:34:08 IST; 2h 49min ago
     Docs: man:vnstatd(1)
           man:vnstat(1)
           man:vnstat.conf(5)
 Main PID: 1730 (vnstatd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/vnstat.service
           ??1730 /usr/sbin/vnstatd -n

Nov 29 08:34:08 vyompc systemd[1]: Started vnStat network traffic monitor.
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: vnStat daemon 1.18 started. (pid:1730 uid:122 gid:128)
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: Monitoring: enp20s0 (1000 Mbit) wlp22s0 (1000 Mbit)

完成后,你可以进行下一步。

如何使用vnStat监控网络流量

vnStat提供了多个选项,允许你监控网络流量。你可以使用以下命令列出所有可用选项:

vnstat --help

你应该得到以下输出:

vnStat 2.10 by Teemu Toivola

      -5,  --fiveminutes [limit]   show 5 minutes
      -h,  --hours [limit]         show hours
      -hg, --hoursgraph            show hours graph
      -d,  --days [limit]          show days
      -m,  --months [limit]        show months
      -y,  --years [limit]         show years
      -t,  --top [limit]           show top days

      -b, --begin            set list begin date
      -e, --end              set list end date

      --oneline [mode]             show simple parsable format
      --json [mode] [limit]        show database in json format
      --xml [mode] [limit]         show database in xml format

      -tr, --traffic [time]        calculate traffic
      -l,  --live [mode]           show transfer rate in real time
      -i,  --iface      select interface

Use "--longhelp" or "man vnstat" for complete list of options.

在使用vnStat之前,你需要等待一段时间以更新vnStat数据库。更新数据库后,你可以像下面这样运行vnStat,不带任何选项:

vnstat

你应该看到以下输出:

                      rx      /      tx      /     total    /   estimated
 wlp22s0:
       Oct '22     17.80 GiB  /    4.35 GiB  /   22.15 GiB
       Nov '22     16.61 GiB  /    3.62 GiB  /   20.23 GiB  /   21.48 GiB
     yesterday    332.22 MiB  /  114.17 MiB  /  446.39 MiB
         today    710.25 MiB  /   44.85 MiB  /  755.11 MiB  /    1.55 GiB

要使用特定的网络接口,使用-i选项,如下所示:

vnstat -i ens3

你应该得到以下输出,显示每日和每月的统计数据:

Database updated: 2020-11-12 06:30:00

   ens3 since Saturday 29 January 2022

          rx:  185.89 GiB      tx:  38.82 GiB      total:  224.70 GiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Oct '22     17.80 GiB |    4.35 GiB |   22.15 GiB |   71.04 kbit/s
       Nov '22     16.61 GiB |    3.62 GiB |   20.23 GiB |   71.20 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated     17.64 GiB |    3.85 GiB |   21.48 GiB |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday    332.22 MiB |  114.17 MiB |  446.39 MiB |   43.34 kbit/s
         today    710.25 MiB |   44.85 MiB |  755.11 MiB |  154.31 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated      1.46 GiB |      92 MiB |    1.55 GiB |

要显示每小时的统计数据,运行以下命令:

vnstat -h

你应该得到以下输出:

 ens3  /  hourly

 h  rx (MiB)   tx (MiB)  ][  h  rx (MiB)   tx (MiB)  ][  h  rx (MiB)   tx (MiB)
12        5.4        0.2 ][ 20       30.4       14.8 ][ 04        0.0        0.0
13       72.7       15.0 ][ 21       24.8        6.4 ][ 05        0.0        0.0
14

相关链接
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site


http://www.kler.cn/a/443082.html

相关文章:

  • 基于Springboot + vue实现的办公用品管理系统
  • 【YOLOv8杂草作物目标检测】
  • Knowledge Editing through Chain-of-Thought
  • Flink三种集群部署模型
  • Ubuntu问题 -- 硬盘存储不够了, 如何挂载一个新的硬盘上去, 图文简单明了, 已操作成功
  • 20250110_ PyTorch中的张量操作
  • java 通过jdbc连接sql2000方法
  • JS 生成防篡改水印
  • OCR多模态大模型:视觉模型与LLM的结合之路
  • PDFMathTranslate 一个基于AI优秀的PDF论文翻译工具
  • 知识库管理系统可扩展性深度测评
  • 【论文笔记】Visual Prompt Tuning
  • 《自制编译器》--青木峰郎 -读书笔记 编译hello
  • 三维测量与建模笔记 - 7.2 点云滤波
  • mapper.xml传入参数为Map的正确做法
  • springboot使用scoket
  • C#速成(文件读、写操作)
  • Vite打包后动态路由加载失败的问题
  • springboot集成h2数据库并使用多数据源
  • AG32 IDE 开发环境搭建
  • 大模型微调---Prompt-tuning微调
  • spring\strust\springboot\isp前后端那些事儿
  • C# 中的Task
  • YOLOv5-7.0训练过程中出现报错Example: export GIT_PYTHON_REFRESH=quiet
  • 在JVM(Java虚拟机)中,PC寄存器(Program Counter Register)扮演着至关重要的角色,它是JVM执行引擎的核心组成部分之一。
  • Java开发者的神经网络进阶指南:深入探讨交叉熵损失函数