Linux下網路流量實時監控工具大全

五柳-先生發表於2016-05-11

在工作中發現,經常因為業務的原因,需要即時瞭解某臺伺服器網路卡的流量,雖然公司也部署了cacti軟體,但cacti是五分鐘統計的,沒有即時性,並且有時候開啟監控頁面不方便,個人喜歡隨手在某臺伺服器上輸入一個命令,檢視網路卡即時流量。百度了一下,發現有這麼幾種方法,現對此類軟體進行了一個總結。

一、iptraf軟體

   rhel的iso裡有包含,我公司的系統,並沒有預設安裝,它功能強大,可以按照協議,網路卡等進行分析。
1.1 iptraf安裝
原始碼安裝
wget ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.0.tar.gz
tar zxvf iptraf-3.0.0.tar.gz
cd iptraf-3.0.0
./Setup
yum方式安裝
yum install -y iptraf
1.2 iptraf使用
[root@kaifa opt]# iptraf
按任意鍵繼續

第一項:IP流量監控
第二項:常規檢視網路卡流量狀態。只檢視各網路卡的總流量
第三項:詳細檢視網路卡流量狀態。比如按TCP,UDP,ARP等協議檢視

選all interfaces,檢視所有網路卡介面
 

   介面分上下兩部分,上部分可詳細顯示哪個與之相連的IP,發了多少包,即時流量是多少,下部分,可以顯示udp等資訊。

按Q退出監控介面,然後選擇“Exit”退出iptraf。

第二、nload軟體
    rhel iso不帶,需要去第三方網站下載原始碼包。功能相對單一,只能檢視總的流量,不能像上款的iptraf那樣,可看總流量,可細分檢視其它協議點的流量。nload預設分為上下兩塊,每部分都有當前流量(Curr),平均流量(Min),最大流量(Max),總流量(Ttl),看起來還是比較直觀的。
2.1 nload安裝
wget http://www.roland-riegel.de/nload/nload-0.7.2.tar.gz
tar zxvf nload-0.7.2.tar.gz
cd nload-0.7.2
./configure –prefix=/usr/local/nload
make
make install
2.2 nload使用
[root@kaifa opt]# /usr/local/nload/bin/nload eth0
 


第三、ifstat軟體
    rhel iso不自帶,雖然到第三方網站下載原始碼包,編譯安裝。這個軟體還有windows版,它可以報告網路卡介面流量狀態,能檢視網路卡的流出和流入的位元組,是按每秒生產一次資料。
3.1 ifstat安裝

wget http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz
tar -zxvf ifstat-1.1.tar.gz 
cd ifstat-1.1
./configure  --prefix=/usr/local/ifstat
make 
make  install
3.2 ifstat使用
 

3.3相關引數
-l    監測環路網路介面(lo)。預設情況下,ifstat監測活動的所有非環路網路介面。經使用發現,加上-l引數能監測所有的網路介面的資訊,而不是隻監測 lo的介面資訊,也就是說,加上-l引數比不加-l引數會多一個lo介面的狀態資訊。
-a  監測能檢測到的所有網路介面的狀態資訊。使用發現,比加上-l引數還多一個plip0的介面資訊,搜尋一下發現這是並口(網路裝置中有一 個叫PLIP (Parallel Line Internet Protocol). 它提供了並口...)
-z  隱藏流量是無的介面,例如那些介面雖然啟動了但是未用的
-i  指定要監測的介面,後面跟網路介面名
-s  等於加-d snmp:[comm@][#]host[/nn]] 引數,通過SNMP查詢一個遠端主機
-h 顯示簡短的幫助資訊
-n 關閉顯示週期性出現的頭部資訊(也就是說,不加-n引數執行ifstat時最頂部會出現網路介面的名稱,當一屏顯示不下時,會再一次出現介面的名稱,提示 我們顯示的流量資訊具體是哪個網路介面的。加上-n引數把週期性的顯示介面名稱關閉,只顯示一次)
-t 在每一行的開頭加一個時間 戳(能告訴我們具體的時間)
-T 報告所有監測介面的全部頻寬(最後一列有個total,顯示所有的介面的in流量和所有介面的out流量,簡單的把所有介面的in流量相加,out流量相 加)
-w  用指定的列寬,而不是為了適應介面名稱的長度而去自動放大列寬
-W 如果內容比終端視窗的寬度還要寬就自動換行
-S 在同一行保持狀態更新(不滾動不換行)注:如果不喜歡螢幕滾動則此項非常方便,與bmon的顯示方式類似
-b 用kbits/s顯示頻寬而不是kbytes/s(bit和byte有何區別應該都知道吧)
-q 安靜模式,警告資訊不出現
-v 顯示版本資訊
-d 指定一個驅動來收集狀態資訊

第四、sar軟體

    這個工具RHEL iso裡包含,它是一個優秀的效能監控工具,不僅僅監控網路,它可以顯示cpu,執行佇列,磁碟i/o,分頁(交換區),記憶體,CPU中斷等效能資料。Sar命令在sysstat包中,我公司系統沒有安裝此包,所以要安裝它,才有sar命令。

4.1 sar安裝
Yum install sysstat
4.2 sar使用
 

命令後面 5 2 意思是:每5秒鐘取一次值,取2次。
IFACE:LAN介面
rxpck/s:每秒鐘接收的資料包
txpck/s:每秒鐘傳送的資料包
rxbyt/s:每秒鐘接收的位元組數
txbyt/s:每秒鐘傳送的位元組數
rxcmp/s:每秒鐘接收的壓縮資料包
txcmp/s:每秒鐘傳送的壓縮資料包
rxmcst/s:每秒鐘接收的多播資料包

第五、iftop軟體
    RHEL iso不自帶,iftop可以用來監控網路卡的實時流量(可以指定網段)、反向解析IP、顯示埠資訊等

5.1 iftop安裝

rhel6.0以上系統安裝,需要libpcap-devel-1.4.0-1

wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure –prefix=/usr/local/iftop
make
make install
5.2 iftop使用
[root@nfstest opt]# /usr/local/iftop/sbin/iftop
 

5.3、介面相關說明
介面上面顯示的是類似刻度尺的刻度範圍,為顯示流量圖形的長條作標尺用的。
中間的<= =>這兩個左右箭頭,表示的是流量的方向。
TX:傳送流量
RX:接收流量
TOTAL:總流量
Cumm:執行iftop到目前時間的總流量
peak:流量峰值
rates:分別表示過去 2s 10s 40s 的平均流量
5.4、相關引數
常用的引數
-i設定監測的網路卡,如:# iftop -i eth1
-B 以bytes為單位顯示流量(預設是bits),如:# iftop -B
-n使host資訊預設直接都顯示IP,如:# iftop -n
-N使埠資訊預設直接都顯示埠號,如: # iftop -N
-F顯示特定網段的進出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),幫助,顯示引數資訊
-p使用這個引數後,中間的列表顯示的本地主機資訊,出現了本機以外的IP資訊;
-b使流量圖形條預設就顯示;
-f這個暫時還不太會用,過濾計算包用的;
-P使host資訊及埠資訊預設就都顯示;
-m設定介面最上邊的刻度的最大值,刻度分五個大段顯示,例:# iftop -m 100M

本文出自 “系統網路運維” 部落格,請務必保留此出處http://369369.blog.51cto.com/319630/805726

相關文章