流量监控与处理工具

概述

参考:

iftop

iftop 是一个类似 top 的命令,只不过是监控系统网络中数据传输情况的,使用该命令默认打开如下的界面

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

中间的 <==> 这两个左右箭头,表示的是流量的方向。

  • TX:发送流量
  • RX:接收流量
  • TOTAL:总流量
  • Cumm:运行 iftop 到目前时间的总流量
  • peak:流量峰值
  • rates:分别表示过去 2s 10s 40s 的平均流量

OPTIONS:

其中有一些选项,可以用在打开 iftop 程序之后,这些选项使用 黄色背景 来表示在 iftop 程序中使用的字母

  • -F # 显示特定网段的进出流量,如# iftop -F 10.10.1.0/24 或# iftop -F 10.10.1.0/255.255.255.0
  • -i <DEV> # 指定要监测的网卡
  • -n # 不进行主机名的查找,e.g.显示 ip 而不显示主机名
  • -N # 显示端口号时,直接显示端口号,而不显示使用端口的进程名。
  • -P # 在展示界面显示每个连接的端口。也就是说显示当前连接的流量是哪个进程的。

EXAMPLE

  • iftop -P

Nethogs - 网络流量监控工具

nethogs 可以根据进程来查看网络带宽利用率。nethogs 类似于网络版的 top 命令,如果有突发的网络流量增大,可以使用 nethogs 去定位是哪一个 PID 造成的。

直接使用 yum 进行安装即可,yum -y install nethogs

直接执行 nethogs 命令,即可像 top 命令一样打开一个窗口实时显示当前有流量的进程,如图所示

该监控程序会显示进程的 PID,用户,进程的程序,通过哪个网卡产生的流量,发送流量和接受流量

Syntax(语法)

nethogs [OPTIONS] [DEVICE….]

可以指定 DEVICE 来监控指定网卡的流量,Note:可以指定多个网卡

OPTIONS

  • -b : bughunt mode - implies tracemode.
  • -d # 每次刷新数据的时间间隔,默认为 1 秒
  • -v : view mode (0 = KB/s, 1 = total KB, 2 = total B, 3 = total MB). default is 0.
  • -c : number of updates. default is 0 (unlimited).
  • -t # 追踪模式,类似于 tailf 命令,不再显示 top 命令式的窗口
  • -p : sniff in promiscious mode (not recommended).
  • -s : sort output by sent column.
  • -a : monitor all devices, even loopback/stopped ones.

当 nethogs 运行时,可以在打开的窗口执行下面的命令进行操作

  • q # 退出
  • s # 按照发送流量排序 sort by SENT traffic
  • r # 按照接收流量排序 sort by RECEIVE traffic
  • m # 在总流量计数(KB、B、MB)和流量速速(KB/s)之间切换显示方式

vnstat - 监控网卡流量的工具

]# vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:       384 bit/s     1 p/s          tx:       912 bit/s     1 p/s^C


 eth0  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                    21.60 KiB  |       43.41 KiB
--------------------------------------+------------------
          max            7.91 kbit/s  |    15.87 kbit/s
      average            2.85 kbit/s  |     5.74 kbit/s
          min              384 bit/s  |       912 bit/s
--------------------------------------+------------------
  packets                        282  |             281
--------------------------------------+------------------
          max                 11 p/s  |          11 p/s
      average                  4 p/s  |           4 p/s
          min                  1 p/s  |           1 p/s
--------------------------------------+------------------
  time                  1.03 minutes

Syntax()

vnstat <OPTIONS>

OPTIONS:

  • -q, –query query database
  • -h, –hours show hours
  • -d, –days show days
  • -m, –months show months
  • -w, –weeks show weeks
  • -t, –top10 show top 10 days
  • -s, –short use short output
  • -u, –update update database
  • -i, –iface # 指定要监控的网络设备,默认为 eth0
  • -?, –help short help
  • -v, –version show version
  • -tr, –traffic calculate traffic
  • -ru, –rateunit swap configured rate unit
  • -l, –live # 实时显示传输速率

EXAMPLE

  • vnstat -i eth0 -l # 查看 eth0 网卡的实时流量,结束后,会显示从命令开始执行到结束总共的网卡 收/发 流量的最大、最小、平均值

最后修改 June 19, 2024: grafana, library, pci (5d9b09ea)