Linux流量監控工具,linux流量監控

來源:互聯網
上載者:User

Linux流量監控工具,linux流量監控
iftop工具簡述

今天看到一流量監控工具,覺得不錯,就在自家伺服器上裝了一下,記錄一下,留以後之需;

在類Unix系統中可以使用top查看系統資源、進程、記憶體佔用等資訊。查看網路狀態可以使用netstat、nmap等工具。若要查看即時的網路流量,監控TCP/IP串連等,則可以使用iftop;iftop是類似於top的即時資料流量監控工具;可以用來監控網卡的即時資料流量(可以指定網段)、反向解析IP、顯示連接埠資訊等,詳細的將會在後面的使用參數中說明:

使用iftop -P 定位最大流量連接埠

iftop介面相關說明

介面上面顯示的是類似刻度尺的刻度範圍,為顯示流量圖形的長條作尺規用的。

中間的<= =>這兩個左右箭頭,表示的是流量的方向。

  • TX:發送流量
  • RX:接收流量
  • TOTAL:總流量
  • Cumm:運行iftop到目前時間的總流量
  • peak:流量峰值
  • rates:分別表示過去 2s 10s 40s 的平均流量

根據連接埠定位程式PID

圖中紅框中直接顯示了http服務,當然如果只顯示連接埠號碼而且我們也不知道什麼程式時,可以通過下面步驟來確認:

[root@localhost sbin]# lsof -i:45294   或者 netstat -atunp |grep 45294 

通過上面代碼可以進一步確定PID

根據進程PID確定進程的名稱

[root@localhost sbin]# cat /proc/PID號/cmdline

然後可以看到具體啟動並執行程式,最後就可以分析為什麼這個程式這麼消耗流量了

 

iftop工具安裝

安裝前需要已經安裝好基本的編譯所需的環境,比如make、gcc、autoconf等。安裝iftop還需要安裝libpcap和libcurses

安裝所需依賴包(centos)

[root@localhost sbin]# yum install flex byacc  libpcap ncurses ncurses-devel libpcap-devel

編譯安裝iftop工具
1)下載iftop工具的源碼包;

[root@localhost ~]# wget http://oss.aliyuncs.com/aliyunecs/iftop-0.17.tar.gz

2) 解壓縮下載的iftop檔案

[root@localhost ~]# tar zxvf iftop-0.17.tar.gz

3) 進入到解壓的的iftop目錄中

[root@localhost ~]# cd iftop-0.17 

4) 配置並制定安裝目錄為/usr/local/iftop目錄下

[root@localhost iftop-0.17]# ./configure –prefix=/usr/local/iftop

5)編譯並安裝

[root@localhost iftop-0.17]# make && make install

安裝完成以後直接使用/usr/local/iftop/sbin/iftop 啟動iftop程式查看流量使用方式,如果想使用iftop的方式直接開啟程式,需要將iftop的程式添加到環境變數中即可

遇到的問題

make: yacc: Command not found
make: *** [grammar.c] Error 127

解決方案:apt-get install byacc   /   yum install byacc

configure: error: Curses! Foiled again!
(Can't find a curses library supporting mvchgat.)
Consider installing ncurses.

解決方案:apt-get install libncurses5-dev  /    yum  install ncurses-devel

 

常用的參數

-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

 

進入iftop畫面後的一些操作命令(注意大小寫)

按h切換是否顯示協助;

按n切換顯示原生IP或主機名稱;

按s切換是否顯示原生host資訊;

按d切換是否顯示遠端目標主機的host資訊;

按t切換顯示格式為2行/1行/只顯示發送流量/只顯示接收流量;

按N切換顯示連接埠號碼或連接埠服務名稱;

按S切換是否顯示原生連接埠資訊;

按D切換是否顯示遠端目標主機的連接埠資訊;

按p切換是否顯示連接埠資訊;

按P切換暫停/繼續顯示;

按b切換是否顯示平均流量圖形條;

按B切換計算2秒或10秒或40秒內的平均流量;

按T切換是否顯示每個串連的總流量;

按l開啟螢幕過濾功能,輸入要過濾的字元,比如ip,按斷行符號後,螢幕就只顯示這個IP相關的流量資訊;

按L切換顯示畫面上邊的刻度;刻度不同,流量圖形條會有變化;

按j或按k可以向上或向下滾動螢幕顯示的串連記錄;

按1或2或3可以根據右側顯示的三列流量資料進行排序;

按<根據左邊的本機名或IP排序;

按>根據遠端目標主機的主機名稱或IP排序;

按o切換是否固定只顯示當前的串連;

按f可以編輯過濾代碼,這是翻譯過來的說法,我還沒用過這個!

按!可以使用shell命令,這個沒用過!沒搞明白啥命令在這好用呢!

按q退出監控。

 

更多工具

通常定位進程流量的還可以用到iptraf,nethogs等

iptraf可以參考:http://linuxperf.com/?p=11 

nethogs可以參考:http://man.linuxde.net/nethogs 

bmon工具參考:http://blog.sina.com.cn/s/blog_706476980101gliu.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.