Linux vnstat 命令实战示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将探索 Linux 的 vnstat 命令,这是一个强大的网络监控工具,并学习如何在 Ubuntu 22.04 上安装它、监控网络流量以及生成报告以可视化数据。我们将从安装 vnstat 开始,然后使用它来监控网络使用情况,最后生成报告以分析收集到的数据。本实验旨在通过实际示例和见解,帮助你使用 vnstat 命令进行网络流量分析。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") subgraph Lab Skills linux/sudo -.-> lab-422999{{"Linux vnstat 命令实战示例"}} linux/ifconfig -.-> lab-422999{{"Linux vnstat 命令实战示例"}} linux/netstat -.-> lab-422999{{"Linux vnstat 命令实战示例"}} linux/apt -.-> lab-422999{{"Linux vnstat 命令实战示例"}} end

在 Ubuntu 22.04 上安装 vnstat

在这一步中,我们将在 Ubuntu 22.04 Docker 容器中安装 vnstat 网络监控工具。

首先,更新软件包索引并安装 vnstat 软件包:

sudo apt-get update
sudo apt-get install -y vnstat

示例输出:

Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Fetched 324 kB in 1s (324 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libgd3 libonig5 libpcre2-8-0 libsqlite3-0 libxml2
Suggested packages:
  vnstat-cgi vnstati
The following NEW packages will be installed:
  libgd3 libonig5 libpcre2-8-0 libsqlite3-0 libxml2 vnstat
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,093 kB of archives.
After this operation, 3,800 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
...

现在,验证 vnstat 是否正确安装:

sudo vnstat --version

示例输出:

vnstat 2.6 by Teemu Toivonen <[email protected]>

很好!我们已成功在 Ubuntu 22.04 Docker 容器中安装了 vnstat 网络监控工具。

使用 vnstat 监控网络流量

在这一步中,我们将使用 vnstat 命令来监控 Ubuntu 22.04 Docker 容器中的网络流量。

首先,检查系统中的网络接口:

sudo vnstat --iface

示例输出:

Interface:
  eth0

输出显示我们将要监控的网络接口是 eth0

现在,使用 vnstat 开始监控网络流量:

sudo vnstat -u -i eth0

此命令将启动 vnstat 守护进程并开始监控 eth0 接口。-u 选项告诉 vnstat 在后台更新数据库。

要查看当前的网络流量统计信息,可以使用以下命令:

sudo vnstat

示例输出:

Database updated: 2023-04-10 12:34:56

eth0:
  rx:  12.45 MiB      tx:  4.32 MiB      total:  16.77 MiB

Monthly Report for eth0
------------------------
Apr '23      rx:  12.45 MiB      tx:  4.32 MiB      total:  16.77 MiB

这显示了 eth0 接口的总接收(rx)、发送(tx)和总流量。

你还可以使用以下命令查看更详细的网络流量统计信息:

sudo vnstat -d
sudo vnstat -h
sudo vnstat -m

这些命令将分别显示每日、每小时和每月的网络流量统计信息。

使用 vnstat 生成报告并可视化网络数据

在这一步中,我们将学习如何使用 vnstat 工具生成报告并可视化网络数据。

首先,生成一个基于文本的网络流量报告:

sudo vnstat -i eth0 -d

示例输出:

eth0 daily traffic statistics (eth0)

          rx      |     tx      |    total    |   date
-----------------+-------------+-------------+----------
          12.45 M|       4.32 M|      16.77 M| 2023-04-10

此命令显示了 eth0 接口的每日网络流量统计信息。

要生成更详细的报告,可以使用 vnstat -m 命令:

sudo vnstat -i eth0 -m

示例输出:

eth0 monthly traffic statistics (eth0)

        rx      |     tx      |    total    |   month
---------------+-------------+-------------+----------
        12.45 M|       4.32 M|      16.77 M| Apr '23

此命令显示了 eth0 接口的每月网络流量统计信息。

为了可视化网络数据,我们可以使用 vnstati 工具,它是 vnstat 包的一部分。让我们生成一个基于图像的报告:

sudo vnstati -i eth0 -o eth0_report.png

此命令将在当前目录下生成一个名为 eth0_report.png 的 PNG 图像文件,其中包含网络流量数据的图形化表示。

你可以使用图像查看器查看生成的报告图像,或将其上传到文件共享服务。

总结

在本实验中,我们首先在 Ubuntu 22.04 Docker 容器中安装了 vnstat 网络监控工具。我们更新了软件包索引,安装了 vnstat 软件包,并验证了安装。接着,我们使用 vnstat 命令监控系统中的网络流量,检查了可用的网络接口,并启动了 vnstat 守护进程以监控 eth0 接口。最后,我们探索了如何使用 vnstat 生成报告并可视化网络数据,使用各种命令显示有关网络使用情况和流量模式的详细信息。

Linux 命令速查表