在日常运维环境中,我们肯定会遇到以下这种需求:

1、网络流量异常,不知道是哪个程序的流量爆涨?

2、日常需要监控网络实时的流量进去数据

面试装逼系列|这篇文章,让运维监控不再成为你的短板!

学会这 18 个工具,你一定能真正理解如何监控网络带宽!

基于这两点需求,民工哥今天给大家分享两个很强大的命令工具:

  • Nethogs

  • Nload

1.Nethogs

1.1 Nethogs介绍

NetHogs是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。

NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑飞了然后突然占用你的带宽。

1.2 Nethogs安装

安装依赖包

[root@rs-server ~]# yum install libpcap libpcap-devel -y[root@rs-server ~]# yum -y install epel-release

安装nethogs

[root@rs-server ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)[root@rs-server ~]# uname -r3.10.0-693.el7.x86_64[root@rs-server ~]# yum install nethogs -y
[root@rs-server ~]# nethogs -helpusage: nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [device [device [device ...]]]-V : prints version.-h : prints this help.-b : bughunt mode - implies tracemode.-d : delay for update refresh rate in seconds. default is 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 : tracemode.-p : sniff in promiscious mode (not recommended).-s : sort output by sent column.-a : monitor all devices, even loopback/stopped ones.device : device(s) to monitor. default is all interfaces up and running excluding loopbackWhen nethogs is running, press:q: quits: sort by SENT trafficr: sort by RECEIVE trafficm: switch between total (KB, B, MB) and KB/s mode

输入命令nethogs -help出现帮助信息,表明安装成功,非常的简单快速。

1.3 Nethogs命令介绍

以下是NetHogs的一些交互命令(键盘快捷键)

  • m : 修改单位

  • r : 按流量排序

  • s : 按发送流量排序

  • q : 退出命令提示符

参数介绍:

  • -V : 显示版本信息,注意是大写字母V.

  • -v:切换显示单位,默认是默认是KB/s(0表示 KB/s,1表示KB,2表示B,3表示MB)

  • -c:检测次数(后面直接跟数字)

  • -a:检测所有的设备

  • -d : 延迟更新刷新速率,以秒为单位。默认值为 1.

  • -t : 跟踪模式.

  • -b : bug 狩猎模式 — — 意味着跟踪模式.

  • -p : 混合模式(不推荐).

    • device: 要监视的设备名称. 默认为 eth0

1.4 Nethogs实践

[root@rs-server ~]# nethogsEthernet link detected               Ethernet link detectedWaiting for first packet to arrive (see sourceforge.net bug 1019381)NetHogs version 0.8.5PID   USER     PROGRAM           DEV     SENT    RECEIVED1023  root    sshd: root@pts/0   ens33   0.166    0.059 KB/sec?     root    unknown TCP                0.000    0.000 KB/secTOTAL                                    0.166    0.059 KB/sec

直接使用nethogs命令的显示界面如上

[root@rs-server ~]# nethogs -d 2 -v 3 -c 5 -aEthernet link detectedEthernet link detectedEthernet link detectedWaiting for first packet to arrive (see sourceforge.net bug 1019381)NetHogs version 0.8.5PID    USER       PROGRAM           DEV      SENT     RECEIVED1023   root    sshd: root@pts/0     ens33   0.001     0.000 MB?      root     unknown TCP                 0.000     0.000 MBTOTAL                                       0.001     0.000 MB

nethogs命令功能还是挺强大的,抓紧时间练习一下吧!!

2.Nload

2.1 nload介绍

nload是一个实时监控网络流量和带宽使用情况,展示进出的流量情况,不仅有数值,也可以有动态图展示。

2.2 nload 安装

[root@rs-server ~]# yum -y install epel-release

nload安装

[root@rs-server ~]# yum install nload -y

nload如果直接输入这个命令默认只查看第一个网络的流量进出情况,一般是在nload后面指定网络,可以指定多个网络。

2.3 nload操作介绍

nload 默认分为上下两块:

  • 上半部分是:Incoming也就是进入网卡的流量,

  • 下半部分是:Outgoing,也就是从这块网卡出去的流量,

每部分都有当前流量(Curr),

平均流量(Avg),

最小流量(Min),

最大流量(Max),

总和流量(Ttl)这几个部分,看起来还是蛮直观的。

nload默认的是eth0网卡,如果你想监测eth1网卡的流量
#nload eth1

参数介绍

  • -a:全部数据的刷新时间周期,单位是秒,默认是300.

  • -i:进入网卡的流量图的显示比例最大值设置,默认10240 kBit/s.

  • -m:不显示流量图,只显示统计数据。

  • -o:出去网卡的流量图的显示比例最大值设置,默认10240 kBit/s.

  • -t:显示数据的刷新时间间隔,单位是毫秒,默认500。

  • -u:设置右边Curr、Avg、Min、Max的数据单位,默认是自动变的.注意大小写单位不同!

  • h|b|k|m|g h: auto, b: Bit/s, k: kBit/s, m: MBit/s etc.

  • H|B|K|M|G H: auto, B: Byte/s, K: kByte/s, M: MByte/s etc.

  • -U:设置右边Ttl的数据单位,默认是自动变的.注意大小写单位不同(与-u相同)!

  • Devices:自定义监控的网卡,默认是全部监控的,使用左右键切换。

界面操作

  • 上下方向键、左右方向键、enter键或者tab键都就可以切换查看多个网卡的流量情况

  • 按 F2 显示选项窗口。

  • 按 F5 将当前设置保存到用户配置文件。

  • 按 F6 从配置文件重新加载设置。

  • 按 q 或者 Ctrl+C 退出 nload。

2.4 nload实践

Device ens33 [192.168.1.100] (1/1):============================================================================Incoming:         Curr: 936.00 Bit/s         Avg: 1.27 kBit/s         Min: 840.00 Bit/s         Max: 6.26 kBit/s         Ttl: 8.78 MByteOutgoing:          Curr: 7.70 kBit/s          Avg: 7.70 kBit/s          Min: 3.97 kBit/s          Max: 10.49 kBit/s          Ttl: 299.35 kByte

更多相关的参数与操作,大家可以自己练习一下。

©著作权归作者所有:来自51CTO博客作者mob604756ef35df的原创作品,如需转载,请注明出处,否则将追究法律责任

好知识,才能预见未来

赞赏

0人进行了赞赏支持

更多相关文章

  1. 网络损伤仪如何使用高级过滤模式过滤带VLan的流量
  2. 苹果Mac如何设置应用默认打开方式?
  3. 前端技术分享:一个超级好用的CSS样式表
  4. 解决docker服务默认网卡和宿主机网卡内网段冲突
  5. Percona XtraDB Cluster之流量控制
  6. 电商流量来源分析平台:从数据底层到数据可视化
  7. 多厂商***系列之四:Cisco&H3C Dynamic LAN-To-LAN ***【 包含路由
  8. 多厂商***系列之二:Cisco&H3C GRE Over IPsec& SVTI ***
  9. Nginx安装后第一个要改的配置…

随机推荐

  1. android语音识别和合成第三方
  2. 如何在Log中模拟方法e
  3. Android使用SVG矢量图打造酷炫动画效果
  4. Android中获取网络天气数据
  5. android调用系统通讯录,并返回联系人号码
  6. Android开发四大组件之Service(实例篇)
  7. android Room框架学习
  8. 内存探究记录
  9. Android Service的生命周期图解
  10. react native 0.49 android版本热更新