返回博客

如何使用 vnStat 和 iftop 监控 VM 内的数据消耗

如何使用 vnStat 和 iftop 监控 VM 内的数据消耗

在云计算时代,虚拟机 (VM) 已经变得非常普遍,而物理机的使用率已开始逐渐减少。在这篇文章中,我们将介绍 ‘vnStat’ 和 ‘iftop’ 这两个工具,我们可以使用它们来监控虚拟机中的数据消耗。

首先,我正在创建一台具有以下资源的机器:
20 GHz CPU
16 GB RAM
20 GB SSD
我正在挂载 Ubuntu 18.04 镜像,该镜像可在 CloudSigma’s 库中获取。

Ubuntu 18.04:预装 64 位,带 VirtIO 驱动程序、超级用户、Python 2.7.15、Pip 18.0、OpenSSL 1.1.0i、Cloud-init 以及截至 2018-09-30 的最新更新。

接下来,我将更新机器上所有现有的软件源和软件包。

现在我们的系统已经是最新的了,我将开始介绍我们的工具:‘vnStat’ 和 ‘iftop’。

VNSTAT

根据 humdi 的说法,vnStat 是一款适用于 Linux 和 BSD 的基于控制台的网络流量监控工具,它会保留所选接口的网络流量日志。它使用内核提供的网络接口统计信息作为信息源。这意味着 vnStat 实际上不会嗅探任何流量,这也确保了极低的系统资源占用。

vnStat 的一些特性包括:

  1. 即使系统重启,数据依然存在。
  2. 它可以同时监控多个接口。
  3. 有多种输出选项,例如按天、按周等。
  4. 用户可以配置数据保留策略。
  5. 可以根据账单周期配置月份。
  6. 该工具本身非常轻量,资源占用极小。
  7. 无论流量大小,CPU 使用率都将保持不变。
安装

使用以下命令安装 vnStat:

它应该会自动检测网络接口。如果没有自动检测到,我可以使用以下命令检查接口:

在我的情况下,我可以看到两个接口:

我可以忽略回环接口(loopback)。我想监控的接口是 ‘ens3’。我可以使用以下命令在 vnStat 中进行更新:

使用指南

可以使用以下命令查看使用指南:vnStat –help

使用方法将如下所示:

借助这些命令,我们可以获取数据使用情况的指标。

为了轻松直观地进行监控,我们可以安装 vnStat 仪表板。以下是安装该仪表板的步骤:

安装以下所需的依赖项:

安装完所需的依赖项后,我们将从 github 仓库获取仪表板,解压并将其放置在我们的 Web 服务器目录中。

接下来,我们需要编辑配置。

以下行需要进行更改。我用粗体标记了所需的更改。

我可以为接口命名,以便更容易进行监控。用户可以有多个要监控的接口。我们可以在这里添加它们。

做出更改后,打开 <<IP-ADDRESS>>/vnstat

我现在能够以优雅的方式查看数据了。

diagram

network traffic

IFTOP

iftop 监听指定接口上的网络流量,如果未指定,则监听它能找到的第一个看起来像外部接口的接口。它会显示一个按主机对划分的当前带宽使用情况表。我们必须以足够的权限运行 iftop,以监控该接口上的所有网络流量。

安装

我们可以使用以下命令安装 Iftop:

使用指南

可以使用以下命令查看使用指南:iftop -h

使用说明如下所示:

它需要 root 权限才能工作。我只需使用 sudo,因为我的用户 cloudsigma 是一个 sudoer 用户。我也可以使用命令 ‘sudo su’,然后以 root 用户身份运行所有命令。

以下命令将向我显示接口 ‘ens3’ 上的所有连接以及数据交易:

如果需要捕获特定时间段内的数据流量,一种更简单的方法是:

上述命令将汇总未来 30 秒内的数据流量交易,并在时间结束后提供一个列出所有数据使用量和传输速率的表格。

虽然 iftop 提供了实时传输速率,但它不存储数据,也没有仪表板供我们直观地可视化和查看模式。因此,如果我们想查看实时数据传输速率,我们推荐使用 iftop。对于较长时间段的数据流量监控,我们推荐使用 vnStat.

我们希望您能充分利用本指南,并应用如何使用 vnStat 和 iftop 来监控 VM 内数据消耗的基础知识。

author

Akshay Nagpal

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。