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

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-release 
CentOS Linux release 7.4.1708 (Core) 
[root@rs-server ~]# uname -r
3.10.0-693.el7.x86_64
[root@rs-server ~]# yum install nethogs -y

 

[root@rs-server ~]# nethogs -help
usage: 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 loopback When nethogs is running, press:
q: quit
s: sort by SENT traffic
r: sort by RECEIVE traffic
m: 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 ~]# nethogs 
Ethernet link detected
               Ethernet link detected
Waiting for first packet to arrive (see sourceforge.net bug 1019381)
NetHogs version 0.8.5 PID   USER     PROGRAM           DEV     SENT    RECEIVED 
1023  root    sshd: root@pts/0   ens33   0.166    0.059 KB/sec
?     root    unknown TCP                0.000    0.000 KB/sec TOTAL                                    0.166    0.059 KB/sec

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

[root@rs-server ~]# nethogs -d 2 -v 3 -c 5 -a
Ethernet link detected
Ethernet link detected
Ethernet link detected
Waiting for first packet to arrive (see sourceforge.net bug 1019381)
NetHogs version 0.8.5 PID    USER       PROGRAM           DEV      SENT     RECEIVED 
1023   root    sshd: root@pts/0     ens33   0.001     0.000 MB
?      root     unknown TCP                 0.000     0.000 MB TOTAL                                       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 MByte
Outgoing:           Curr: 7.70 kBit/s
          Avg: 7.70 kBit/s
          Min: 3.97 kBit/s
          Max: 10.49 kBit/s
          Ttl: 299.35 kByte

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

NetHogs监控Linux的每个进程流量的更多相关文章

  1. python监控linux性能以及进程消耗的性能

    # -*- coding: utf-8 -*- """ Created on Tue Jun 10 10:20:13 2014 @author: lifeix " ...

  2. linux 下监控进程流量情况命令 NetHogs

    摘自: http://www.cnblogs.com/kerrycode/p/4748970.html NetHogs介绍 NetHogs是一款开源.免费的,终端下的网络流量监控工具,它可监控Linu ...

  3. redhat 7.6 流量监控命令、软件(3)nethogs 监控进程实时流量

    1.解压nethogs tar -zxvpf nethogs_0.8.5.orig.tar.gz 2.直接make,这里报错,提示pcap.h,安装libpcap就可以了 3.如果已经安装,还是报错, ...

  4. 《Unix/Linux日志分析与流量监控》书稿完成

    <Unix/Linux日志分析与流量监控>书稿完成 近日,历时3年创作的75万字书稿已完成,本书紧紧围绕网络安全的主题,对各种Unix/Linux系统及网络服务日志进行了全面系统的讲解,从 ...

  5. ubuntu下使用nethogs监控网络流量

    NetHogs是一款小巧免费的开源命令行工具,用来按进程或程序实时统计网络带宽使用率. 对于使用类似于“repo tool”.“depot_tools”等工具checkout源码时非常有用,可以查看当 ...

  6. 监控linux服务器网卡流量

    监控linux服务器网卡流量 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:众所周知,我们安装zabbix服务器 ...

  7. nethogs 查看linux进程实时网络带宽利用率

    用命令iftop来检查带宽使用情况. netstat用来查看接口统计报告,还有top监控系统当前运行进程, 如果要查看进程的带宽使用情况,可以使用nethogs 1. 安装 yum -y instal ...

  8. zabbix3.4.7监控linux进程

    利用zabbix proc.num方法监控Linux服务进程 proc.num[<name>,<user>,<state>,<cmdline>] 监控用 ...

  9. 使用psutil库监控linux的系统资源和自定义进程的cpu 内存占用。

    #coding=utf8 import time import psutil from pprint import pprint from logger_until import LoggerUnti ...

随机推荐

  1. kvm虚拟机控制台登录配置

    vm虚拟机能否像xen虚拟机一样通过virsh console 一样采用字符界面进行linux虚拟机控制台呢,答案是肯定的,默认情况下该命令是不起作用的,需要修改相关文件才能实现. 本文出自:http ...

  2. Linux 中常见的填空题

    一.填空题: 1. 在Linux系统中,以文件方式访问设备 . 2. Linux内核引导时,从文件/etc/fstab中读取要加载的文件系统. 3. Linux文件系统中每个文件用i节点来标识. 4. ...

  3. linux网络编程之posix信号量与互斥锁

    继上次学习了posix线程之后,这次来讨论一下posix信号量与互斥锁相关的知识: 跟posix消息队列,共享内存的打开,关闭,删除操作一样,不过,上面的函数是对有名信号量进行操作,通过man帮助可以 ...

  4. 【二叉搜索树】PAT-天梯赛- L2-004. 这是二叉搜索树吗?

    大致题意: 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,    其左子树中所有结点的键值小于该结点的键值:    其右子树中所有结点的键值大于等于该结点的键值:    其左右子树 ...

  5. 33、[源码]-AOP原理-获取拦截器链-MethodInterceptor

    33.[源码]-AOP原理-获取拦截器链-MethodInterceptor

  6. PHP 对参数签名

    对参数进行签名防止参数劫持 加入timestamp, 防止DOS攻击(但这次没有实现这个功能,后续再实现) interface BaseToken { /** * @param params arra ...

  7. React应用数据传递的方式

    1. props属性 典型的React应用,数据通过props按照自上而下(父->子)的顺序传递数据. 2. Context传值 1. 应用场景 对于一些应用中全局性的属性(如UI主题.语言.登 ...

  8. Greenplum最佳实践

    一.最佳实践数据库参数部分 GP数据库参数配置 以下配置存于文件–postgresql.conf中,仅列出一些最常用的参数. shared_buffers:刚开始可以设置一个较小的值,比如总内存的15 ...

  9. 心跳(纯代码制作心形,animation动画)

    思路:利用两个长方形(比例是2:3 | 3:2)可以合成心形,然后利用动画,缩放大小实现心跳(纯代码),效果如下: <body> <div></div> </ ...

  10. [HNOI2004]L语言 字典树 记忆化搜索

    [HNOI2004]L语言 字典树 记忆化搜索 给出\(n\)个字符串作为字典,询问\(m\)个字符串,求每个字符串最远能匹配(字典中的字符串)到的位置 容易想到使用字典树维护字典,然后又发现不能每步 ...