在平常運維環境中,咱們確定會遇到如下這種需求:面試
一、網絡流量異常,不知道是哪一個程序的流量爆漲?網絡
二、平常須要監控網絡實時的流量進去數據運維
面試裝逼系列|這篇文章,讓運維監控再也不成爲你的短板! ssh
學會這 18 個工具,你必定能真正理解如何監控網絡帶寬! 工具
基於這兩點需求,民工哥今天給你們分享兩個很強大的命令工具:oop
1.Nethogsui
1.1 Nethogs介紹 this
NetHogs是一個開源的命令行工具(相似於Linux的top命令),用來按進程或程序實時統計網絡帶寬使用率。.net
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的一些交互命令(鍵盤快捷鍵)
參數介紹:
1.4 Nethogs實踐**
[root@rs-server ~]# nethogs Ethernet link detected Ethernet link detectedWaiting 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 -d2 -v3 -c5 -a Ethernetlinkdetected Ethernetlinkdetected Ethernetlinkdetected Waitingforfirstpackettoarrive(seesourceforge.netbug1019381) NetHogsversion0.8.5 PIDUSERPROGRAMDEVSENTRECEIVED 1023 rootsshd:root@pts/0 ens33 0.0010.000MB ? root unknown TCP 0.0000.000MB TOTAL 0.0010.000MB
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 默認分爲上下兩塊:
每部分都有當前流量(Curr),
平均流量(Avg),
最小流量(Min),
最大流量(Max),
總和流量(Ttl)這幾個部分,看起來仍是蠻直觀的。
nload默認的是eth0網卡,若是你想監測eth1網卡的流量 #nload eth1
參數介紹
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
更多相關的參數與操做,你們能夠本身練習一下。