Linux服务器上监控网络带宽与监控性能命令大全
【51CTO精選譯文】本文介紹了一些可以用來監控網絡使用情況的Linux命令行工具。這些工具可以監控通過網絡接口傳輸的數據,并測量目前哪些數據所傳輸的速度。入站流量和出站流量分開來顯示。
一些命令可以顯示單個進程所使用的帶寬。這樣一來,用戶很容易發現過度使用網絡帶寬的某個進程。
這些工具使用不同的機制來制作流量報告。nload等一些工具可以讀取"proc/net/dev"文件,以獲得流量統計信息;而一些工具使用pcap庫來捕獲所有數據包,然后計算總數據量,從而估計流量負載。
下面是按功能劃分的命令名稱。
監控總體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
監控總體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl
每個套接字連接的帶寬使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
每個進程的帶寬使用――nethogs
1. nload
nload是一個命令行工具,讓用戶可以分開來監控入站流量和出站流量。它還可以繪制圖表以顯示入站流量和出站流量,視圖比例可以調整。用起來很簡單,不支持許多選項。
所以,如果你只需要快速查看總帶寬使用情況,無需每個進程的詳細情況,那么nload用起來很方便。
$ nload
安裝nload:Fedora和Ubuntu在默認軟件庫里面就有nload。CentOS用戶則需要從Epel軟件庫獲得nload。
# fedora或centos
$ yum install nload -y
# ubuntu/debian
$ sudo apt-get install nload
2. iftop
iftop可測量通過每一個套接字連接傳輸的數據;它采用的工作方式有別于nload。iftop使用pcap庫來捕獲進出網絡適配器的數據包,然后匯總數據包大小和數量,搞清楚總的帶寬使用情況。
雖然iftop報告每個連接所使用的帶寬,但它無法報告參與某個套按字連接的進程名稱/編號(ID)。不過由于基于pcap庫,iftop能夠過濾流量,并報告由過濾器指定的所選定主機連接的帶寬使用情況。
$ sudo iftop -n
n選項可以防止iftop將IP地址解析成主機名,解析本身就會帶來額外的網絡流量。
安裝iftop:Ubuntu/Debian/Fedora用戶可以從默認軟件庫獲得它。CentOS用戶可以從Epel獲得它。
# fedora或centos
yum install iftop -y
# ubuntu或 debian
$ sudo apt-get install iftop
3. iptraf
iptraf是一款交互式、色彩鮮艷的IP局域網監控工具。它可以顯示每個連接以及主機之間傳輸的數據量。下面是屏幕截圖。
$ sudo iptraf
安裝iptraf:
# Centos(基本軟件庫)
$ yum install iptraf
# fedora或centos(帶epel)
$ yum install iptraf-ng -y
# ubuntu或debian
$ sudo apt-get install iptraf iptraf-ng
4. nethogs
nethogs是一款小巧的"net top"工具,可以顯示每個進程所使用的帶寬,并對列表排序,將耗用帶寬最多的進程排在最上面。萬一出現帶寬使用突然激增的情況,用戶迅速打開nethogs,就可以找到導致帶寬使用激增的進程。nethogs可以報告程序的進程編號(PID)、用戶和路徑。
$ sudo nethogs
安裝nethogs:Ubuntu、Debian和Fedora用戶可以從默認軟件庫獲得。CentOS用戶則需要Epel。
# ubuntu或debian(默認軟件庫)
$ sudo apt-get install nethogs
# fedora或centos(來自epel)
$ sudo yum install nethogs -y
5. bmon
bmon(帶寬監控器)是一款類似nload的工具,它可以顯示系統上所有網絡接口的流量負載。輸出結果還含有圖表和剖面,附有數據包層面的詳細信息。
安裝bmon:Ubuntu、Debian和Fedora用戶可以從默認軟件庫來安裝。CentOS用戶則需要安裝repoforge,因為Epel里面沒有bmon。
# ubuntu或debian
$ sudo apt-get install bmon
# fedora或centos(來自repoforge)
$ sudo yum install bmon
bmon支持許多選項,能夠制作HTML格式的報告。欲知更多信息,請參閱參考手冊頁。
6. slurm
slurm是另一款網絡負載監控器,可以顯示設備的統計信息,還能顯示ASCII圖形。它支持三種不同類型的圖形,使用c鍵、s鍵和l鍵即可激活每種圖形。slurm功能簡單,無法顯示關于網絡負載的任何更進一步的詳細信息。
$ slurm -s -i eth0
安裝slurm
# debian或ubuntu
$ sudo apt-get install slurm
# fedora或centos
$ sudo yum install slurm -y
7. tcptrack
tcptrack類似iftop,使用pcap庫來捕獲數據包,并計算各種統計信息,比如每個連接所使用的帶寬。它還支持標準的pcap過濾器,這些過濾器可用來監控特定的連接。
安裝tcptrack:Ubuntu、Debian和Fedora在默認軟件庫里面就有它。CentOS用戶則需要從RepoForge獲得它,因為Epel里面沒有它。
# ubuntu, debian
$ sudo apt-get install tcptrack
# fedora, centos(來自repoforge軟件庫)
$ sudo yum install tcptrack
8. vnstat
vnstat與另外大多數工具有點不一樣。它實際上運行后臺服務/守護進程,始終不停地記錄所傳輸數據的大小。之外,它可以用來制作顯示網絡使用歷史情況的報告。
$ service vnstat status
* vnStat daemon is running
運行沒有任何選項的vnstat,只會顯示自守護進程運行以來所傳輸的數據總量。
$ vnstat
Database updated: Mon Mar 17 15:26:59 2014
eth0 since 06/12/13
rx: ?135.14 GiB ? ? ?tx: ?35.76 GiB ? ? ?total: ?170.90 GiB
monthly
rx ? ? ?| ? ? tx ? ? ?| ? ?total ? ?| ? avg. rate
------------------------+-------------+-------------+-------------
Feb '14 ? ? ?8.19 GiB ?| ? ?2.08 GiB ?| ? 10.27 GiB | ? 35.60 kbit/s
Mar '14 ? ? ?4.98 GiB ?| ? ?1.52 GiB ?| ? ?6.50 GiB | ? 37.93 kbit/s
------------------------+-------------+-------------+-------------
estimated ? ? ? 9.28 GiB | ? ?2.83 GiB ?| ? 12.11 GiB |
daily
rx ? ? ?| ? ? tx ? ? ?| ? ?total ? ?| ? avg. rate
------------------------+-------------+-------------+-------------
yesterday ? ? 236.11 MiB | ? 98.61 MiB | ?334.72 MiB | ? 31.74 kbit/s
today ? ?128.55 MiB | ? 41.00 MiB | ?169.56 MiB | ? 24.97 kbit/s
------------------------+-------------+-------------+-------------
estimated ? ? ? 199 MiB | ? ? ?63 MiB | ? ? 262 MiB |
想實時監控帶寬使用情況,請使用"-l"選項(實時模式)。然后,它會顯示入站數據和出站數據所使用的總帶寬量,但非常精確地顯示,沒有關于主機連接或進程的任何內部詳細信息。
$ vnstat -l -i eth0
Monitoring eth0... ? ?(press CTRL-C to stop)
rx: ? ? ? 12 kbit/s ? ?10 p/s ? ? ? ? ?tx: ? ? ? 12 kbit/s ? ?11 p/s
vnstat更像是一款制作歷史報告的工具,顯示每天或過去一個月使用了多少帶寬。它并不是嚴格意義上的實時監控網絡的工具。
vnstat支持許多選項,支持哪些選項方面的詳細信息請參閱參考手冊頁。
安裝vnstat
# ubuntu或debian
$ sudo apt-get install vnstat
# fedora或 centos(來自epel)
$ sudo yum install vnstat
9. bwm-ng
bwm-ng(下一代帶寬監控器)是另一款非常簡單的實時網絡負載監控工具,可以報告摘要信息,顯示進出系統上所有可用網絡接口的不同數據的傳輸速度。
$ bwm-ng
bwm-ng v0.6 (probing every 0.500s), press 'h' for help
input: /proc/net/dev type: rate
/ ? ? ? ? iface ? ? ? ? ? ? ? ? ? Rx ? ? ? ? ? ? ? ? ? Tx ? ? ? ? ? ? ? ?T
ot=================================================================
== ? ? ? ? ? eth0: ? ? ? ? ? 0.53 KB/s ? ? ? ? ? ?1.31 KB/s ? ? ? ? ? ?1.84
KB ? ? ? ? ? ? lo: ? ? ? ? ? 0.00 KB/s ? ? ? ? ? ?0.00 KB/s ? ? ? ? ? ?0.00
KB-------------------------------------------------------------------------------------------------------------
total: ? ? ? ? ? 0.53 KB/s ? ? ? ? ? ?1.31 KB/s ? ? ? ? ? ?1.84
KB/s
如果控制臺足夠大,bwm-ng還能使用curses2輸出模式,為流量繪制條形圖。
$ bwm-ng -o curses2
安裝bwm-ng:在CentOS上,可以從Epel來安裝bwm-ng。
# ubuntu或debian
$ sudo apt-get install bwm-ng
# fedora或centos(來自epel)
$ sudo apt-get install bwm-ng
10. cbm:Color Bandwidth Meter
這是一款小巧簡單的帶寬監控工具,可以顯示通過諸網絡接口的流量大小。沒有進一步的選項,僅僅實時顯示和更新流量的統計信息。
$ sudo apt-get install cbm
11. speedometer
這是另一款小巧而簡單的工具,僅僅繪制外觀漂亮的圖形,顯示通過某個接口傳輸的入站流量和出站流量。
$ speedometer -r eth0 -t eth0
安裝speedometer
# ubuntu或debian用戶
$ sudo apt-get install speedometer
12. pktstat
pktstat可以實時顯示所有活動連接,并顯示哪些數據通過這些活動連接傳輸的速度。它還可以顯示連接類型,比如TCP連接或UDP連接;如果涉及HTTP連接,還會顯示關于HTTP請求的詳細信息。
$ sudo pktstat -i eth0 -nt
$ sudo apt-get install pktstat
13. netwatch
netwatch是netdiag工具庫的一部分,它也可以顯示本地主機與其他遠程主機之間的連接,并顯示哪些數據在每個連接上所傳輸的速度。
$ sudo netwatch -e eth0 -nt
$ sudo apt-get install netdiag
14. trafshow
與netwatch和pktstat一樣,trafshow也可以報告當前活動連接、它們使用的協議以及每條連接上的數據傳輸速度。它能使用pcap類型過濾器,對連接進行過濾。
只監控TCP連接
$ sudo trafshow -i eth0 tcp
$ sudo apt-get install netdiag
15. netload
netload命令只顯示關于當前流量負載的一份簡短報告,并顯示自程序啟動以來所傳輸的總字節量。沒有更多的功能特性。它是netdiag的一部分。
$ netload eth0
$ sudo apt-get install netdiag
16. ifstat
ifstat能夠以批處理式模式顯示網絡帶寬。輸出采用的一種格式便于用戶使用其他程序或實用工具來記入日志和分析。
$ ifstat -t -i eth0 0.5
Time ? ? ? ? ? eth0
HH:MM:SS ? KB/s in ?KB/s out
09:59:21 ? ? 2.62 ? ? ?2.80
09:59:22 ? ? 2.10 ? ? ?1.78
09:59:22 ? ? 2.67 ? ? ?1.84
09:59:23 ? ? ?2.06 ? ? ?1.98
09:59:23 ? ? ?1.73 ? ? ?1.79
安裝ifstat:Ubuntu、Debian和Fedora用戶在默認軟件庫里面就有它。CentOS用戶則需要從Repoforge獲得它,因為Epel里面沒有它。
# ubuntu, debian
$ sudo apt-get install ifstat
# fedora, centos(Repoforge)
$ sudo yum install ifstat
17. dstat
dstat是一款用途廣泛的工具(用python語言編寫),它可以監控系統的不同統計信息,并使用批處理模式來報告,或者將相關數據記入到CSV或類似的文件。這個例子顯示了如何使用dstat來報告網絡帶寬。
安裝dstat
$ dstat -nt
-net/total- ----system----
recv ?send| ? ? time
0 ? ? 0 |23-03 10:27:13
1738B 1810B|23-03 10:27:14
2937B 2610B|23-03 10:27:15
2319B 2232B|23-03 10:27:16
2738B 2508B|23-03 10:27:17
18. collectl
collectl以一種類似dstat的格式報告系統的統計信息;與dstat一樣,它也收集關于系統不同資源(如處理器、內存和網絡等)的統計信息。這里給出的一個簡單例子顯示了如何使用collectl來報告網絡使用/帶寬。
$ collectl -sn -oT -i0.5
waiting for 0.5 second sample...
# ? ? ? ? <----------Network---------->
#Time ? ? ? KBIn ?PktIn ?KBOut ?PktOut
10:32:01 ? ? ?40 ? ? 58 ? ? 43 ? ? ?66
10:32:01 ? ? ?27 ? ? 58 ? ? ?3 ? ? ?32
10:32:02 ? ? ? 3 ? ? 28 ? ? ?9 ? ? ?44
10:32:02 ? ? ? 5 ? ? 42 ? ? 96 ? ? ?96
10:32:03 ? ? ? 5 ? ? 48 ? ? ?3 ? ? ?28
安裝collectl
# Ubuntu/Debian用戶
$ sudo apt-get install collectl
#Fedora
$ sudo yum install collectl
結束語
上述幾個使用方便的命令可以迅速檢查Linux服務器上的網絡帶寬使用情況。不過,這些命令需要用戶通過SSH登錄到遠程服務器。另外,基于Web的監控工具也可以用來實現同樣的任務。
ntop和darkstat是面向Linux系統的其中兩個基本的基于Web的網絡監控工具。除此之外還有企業級監控工具,比如nagios,它們提供了一批功能特性,不僅僅可以監控服務器,還能監控整個基礎設施。
原文鏈接:http://www.binarytides.com/linux-commands-monitor-network/
五款好玩又好用的Linux網絡測試和監控工具
【51CTO精選譯文】在這篇介紹幾款Linux網絡測試實用工具的文章中,我們使用Bandwidthd、Speedometer、Nethogs、Darkstat和iperf,跟蹤帶寬使用情況和網絡速度、查找網絡資源消耗大戶,以及測試性能。
Bandwidthd
Bandwidthd是一款好玩又好用的應用程序,雖然自2005年以來就沒有更新過,但是它仍很管用,至少在本人的Kubuntu系統上是這樣。它以色彩鮮艷的漂亮圖形顯示了你的進出帶寬使用情況,并且在網頁上按日、周、月和年加以統計。所以,你還需要Apache服務器,或另外某臺HTTP服務器。可以監控單單一臺電腦,也可以監控局域網上的每個人。如果你需要關注帶寬限量,這款優秀的應用程序可用于跟蹤每月帶寬使用情況。
圖1:漂亮的Bandwidthd圖形
Bandwidthd幾乎沒有任何說明文檔。man bandwidthd列出了其所有配置文件和目錄。它的Sourceforge頁面上更是內容寥寥無幾。現在有兩個版本:bandwidthd和bandwidthd-pgsql。Bandwidthd每隔150秒生成靜態HTML頁面,而bandwidthd-pgsql在動態PHP頁面上顯示了圖形和數據。網頁上寫道"兩個版本的可視化輸出結果很相似,但數據庫驅動的系統允許用戶進行搜索、過濾、監測多個傳感器和創建自定義報表。"我認為,如果你想要搜索、過濾、監測多個傳感器或創建自定義報表,就得改動PHP文件。在我的系統上安裝很容易,這歸功于Debian和Ubuntu程序包維護者。它創建了Apache配置,并安裝了PostgreSQL,然后我要做的就是打開Web瀏覽器,瀏覽到http://localhost/bandwidthd,除了在配置文件中外,該網址沒有記錄在任何地方,所以你最先在這里聽說該網址。
相關鏈接:http://bandwidthd.sourceforge.net/
Speedometer
Speedometer在控制臺上顯示了實時圖形(所以你不需要Web服務器),顯示了數據在你的網絡連接上傳輸有多快,它還可以解答"我的硬盤速度有多快"這一問題。最簡單的用法顯示了每秒收到或傳輸的字節數。這被稱為分路器(tap):
$ speedometer -r eth0
你可以通過創建兩個分路器來監測雙向流量:
$ speedometer -r eth0 -t eth0
默認是堆疊分路器。-c選項而是制作了漂亮的列,-k 256顯示了256種顏色,而不是默認的16種顏色,如圖2所示。
$ speedometer ?-r eth0 -c -t eth0
圖2:Speedometer以256種顏色和多列跟蹤進出的流量
你可以通過使用dd,創建一個1GB大小的原始文件,測量硬盤的原始寫入速度,然后使用Speedometer,測量創建該原件文件需要多長時間:
$ dd bs=1000000count=1000if=/dev/zero of=testfile & speedometer testfile
更改count值,即可生成不同大小的文件;比如說,count=2000創建了一個2GB大小的文件。你還可以試著更改不同的數據塊大小(bs),看看這有沒有什么區別。記得完成后,務必要刪除testfile,除非你喜歡任由毫無用處的大文件躺在那里。
相關鏈接:http://www.linux.com/speedometer
Nethogs
Nethogs是一款簡單的控制臺應用程序,可顯示每個進程的帶寬,所以你可以馬上看到誰在耗用網絡資源。最簡單的調用指定了你的網絡接口,然后它既顯示了入站數據包,又顯示了出站數據包:
$ sudo nethogs eth0
NetHogs version 0.8.0
PID USER ? ? PROGRAM ? ? ? ? ? ? ? ?DEV ? ? ? ?SENT ? ? ?RECEIVED
1703 ?carla ? ? ?ssh ? ? ? ? ? ? ? ? ? ? ? eth0 ? ? ?9702.096 ? ? 381.697 KB/sec
5734 ?www-data ?/usr/bin/fie ? ? ? ? ? ? ? ?eth0 ? ? ? ? 1.302 ? ? ?59.301 KB/sec
13113 carla ? ? ? ..lib/firefox/firefox ? ? ? ? eth0 ? ? ? ? ?0.021 ? ? ? 0.023 KB/sec
2462 ?carla ? ? ?..oobar/lib/foobar ? ? ? ? ?eth0 ? ? ? 0.000 ? ? ? 0.000 KB/sec
? ? ? root ? ? ? unknown TCP ? ? ? ? ? ? ? ? ? ? ? ? ?0.000 ? ? ? 0.000 KB/sec
TOTAL ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 9703.419 ? ? 441.021 KB/sec
使用-r選項顯示單單收到的數據包,使用-s選項查看單單發送的數據包。
相關鏈接:http://nethogs.sourceforge.net/
Darkstat
Darkstat是另一款基于Web的網絡監控工具,不過它包括自己的嵌入式HTTP服務器,所以你就不需要Apache了。以網絡接口名稱作為唯一的選項來啟動它:
$ sudo darkstat -i eth0
然后打開Web瀏覽器,瀏覽到http://localhost:667,你會看到類似圖3的結果。
圖3:Darkstat的默認顯示畫面
點擊自動重裝按鈕,即可讓它實時更新。Hosts(主機)選項卡顯示了你與相連接、你已連接了多長時間,以及你們之間已傳送了多少數據(以字節數為單位)。
你可以將Darkstat作為守護程序來運行,并且讓它在系統啟動時開啟。這一步怎么做取決于你的Linux發行版以及所使用的初始化系統(Upstart、systemd、sysvinit和BSD init)。這方面你得自己搞清楚。
相關鏈接:http://unix4lyfe.org/darkstat/
iperf
緦的讀者肯定一直在想"怎么沒有iperf?"。好了,現在就來說說iperf。iperf可報告帶寬、延遲抖動和數據報丟失等方面的情況。換句話說,它可以測試網絡鏈路質量,而鏈路質量對傳送音樂、視頻和視頻會話等流媒體來說很重要。你需要在想要測試的那條鏈路的兩頭都要安裝iperf:在這個例子中,兩頭分別是Studio和Uberpc。然后在一個主機上,在服務器模式下開啟iperf;在另一個主機上,在客戶機模式下運行iperf。要注意:在客戶機上,你必須為服務器命名。下面是運行測試的最簡單方式:
carla@studio:~$ iperf -s
terry@uberpc:~$ iperf -c studio
carla@studio:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[4] local 192.168.1.132 port 5001 connected with 192.168.1.182 port 32865
[ID] Interval ? ? ? Transfer ? ? Bandwidth
[4] ?0.0-10.0 sec ?1.09 GBytes ? 938 Mbits/sec
terry@uberpc:~$ iperf -c studio
------------------------------------------------------------
Client connecting to studio, TCP port 5001
TCP window size: 22.9 KByte (default)
------------------------------------------------------------
[3] local 192.168.1.182 port 32865 connected with 192.168.1.132 port 5001
[ID] Interval ? ? ? Transfer ? ? Bandwidth
[3] ?0.0-10.0 sec ?1.09 GBytes ? 938 Mbits/sec
這是單向的,即從服務器到客戶機。你可以從客戶機端測試雙向性能:
terry@uberpc:~$ iperf -c studio -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to studio, TCP port 5001
TCP window size: 54.8 KByte (default)
------------------------------------------------------------
[5] local 192.168.1.182 port 32980 connected with 192.168.1.132 port 5001
[4] local 192.168.1.182 port 5001 connected with 192.168.1.132 port 47130
[ID] Interval ? ? ? Transfer ? ? Bandwidth
[5] ?0.0-10.0 sec ?1020 MBytes ? 855 Mbits/sec
[4] ?0.0-10.0 sec ?1.07 GBytes ? 920 Mbits/sec
上述那些就千兆以太網而言速度不錯,接近理論最大速率,所以這告訴我們物理網絡處于良好狀態。當然,實際性能會有所下降,因為網絡開銷大于這個簡單測試。現在,不妨看一下延遲抖動。使用Ctrl+c組合鍵,停止服務器運行,然后用iperf -su重啟服務器。在客戶機上,試一試:
$ iperf -c studio -ub 900m
-b 900m意味著,以每秒900兆比特的速度運行測試,所以你需要針對自己的網絡調整這個參數,并且測試不同的速度。良好的運行速度如同這樣:
[ ID] Interval ? ? ? Transfer ? ? Bandwidth ? ? ? ?Jitter ? Lost/Total ?
Datagrams
[ ?3] ?0.0-10.0 sec ? 958 MBytes ? 803 Mbits/sec ? 0.013 ms 1780/684936
(0.26%)
[ ?3] ?0.0-10.0 sec ?1 datagrams received out-of-order
0.013毫秒抖動是它能得到的最短延遲。超過1000毫秒,就會干擾音頻和視頻流傳送。0.26%的數據報丟失率也很低。如果丟失率更高,那樣數據包需要重新發送時,會導致更長的延遲。
有一個新版本的iperf,那就是iperf 3.0.1(http://code.google.com/p/iperf/)。有朝一日,這應該會取代iperf2。新版本是從頭開始改寫的,所以它非常整潔,并不拙劣,它包括一個可用于其他程序的庫版本。新版本仍是個新興產品,所以預計會有不盡如人意的地方。
相關鏈接:http://iperf.sourceforge.net/
原文鏈接:http://www.linux.com/learn/tutorials/765381-five-funny-little-linux-network-testers-and-monitors
10個實用的 Linux 網絡和監控命令
2014-03-18 14:00 佚名 linux.cn字號:T | T本文列出了10個基礎的每個Linux用戶都應該知道的網絡和監控命令,通過 telnet 和ethernet建立與linux之間的網絡鏈接,查看linux的服務器信息等。
AD:51CTO學院:IT精品課程在線看!
本文列出了10個基礎的每個Linux用戶都應該知道的網絡和監控命令。網絡和監控命令類似于這些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看linux服務器ip地址,管理服務器網絡配置,通過 telnet 和ethernet建立與linux之間的網絡鏈接,查看linux的服務器信息等。下面讓我們看看在Linux下的網絡和監控命令的使用。
1. hostname
hostname 沒有選項,顯示主機名字 hostname –d 顯示機器所屬域名 hostname –f 顯示完整的主機名和域名 hostname –i 顯示當前機器的ip地址2. ping
ping 將數據包發向用戶指定地址。當包被接收,目標機器發送返回數據包。ping 主要有兩個作用:
用來確認網絡連接是暢通的。
用來查看連接的速度信息。
如果你 ping www.yahoo.com 它將返回它的ip地址 。你可以通過 ctrl+C 來停止命令。
3. ifconfig
查看用戶網絡配置。它顯示當前網絡設備配置。對于需要接收或者發送數據錯誤查找,這個工具極為好用。
4. iwconfig
iwconfig 工具與 ifconfig 和ethtool類似。是用于無線網卡的 . 你可以用他查看設置基本的Wi-Fi 網絡信息,例如 SSID, channel和encryption.還有其他很多配置你也可以查看和修改,, 包括 接收靈敏度, RTS/CTS, 發送數據包的分片大小,以及無線網卡的重傳機制。
5. nslookup
nslookup 這個命令在 有ip地址時,可以用這個命令來顯示主機名,可以找到給定域名的所有ip地址。而你必須連接到互聯網才能使用這個命令。
例子:nslookup blogger.com。你也可以使用 nslookup 從ip獲得主機名或從主機名獲得ip。
6. traceroute
一個方便的工具。可用來查看數據包在提交到遠程系統或者網站時候所經過的路由器的IP地址、跳數和響應時間。同樣你必須鏈接到互聯網才能使用這個命令。
7. finger
查看用戶信息。顯示用戶的登錄名字、真實名字以及登錄終端的名字和登錄權限。這是unix一個很老的命令,現在已很少使用了。
8. telnet
通過telnet協議連接目標主機,如果telnet連接可以在任一端口上完成即代表著兩臺主機間的連接良好。
telnet hostname port – 使用指定的端口telnet主機名。這通常用來測試主機是否在線或者網絡是否正常。
9. ethtool
ethtool允許你查看和更改網卡的許多設置(不包括Wi-Fi網卡)。你可以管理許多高級設置,包括tx/rx、校驗及網絡喚醒功能。下面是一些你可能感興趣的基本命令: ethtool -i 顯示一個特定網卡的驅動信息,檢查軟件兼容性時尤其有用 ethtool -p 啟動一個適配器的指定行為,比如讓適配器的LED燈閃爍,以幫助你在多個適配器或接口中標識接口名稱 ethtool -s 顯示網絡統計信息 ethtool speed <10|100|1000> 設置適配器的連接速度,單位是Mbps10. netstat
發現主機連接最有用最通用的Linux命令。你可以使用”netstat -g”查詢該主機訂閱的所有多播組(網絡)
netstat -nap | grep port 將會顯示使用該端口的應用程序的進程id netstat -a or netstat –all 將會顯示包括TCP和UDP的所有連接 netstat –tcp or netstat –t 將會顯示TCP連接 netstat –udp or netstat –u 將會顯示UDP連接 netstat -g 將會顯示該主機訂閱的所有多播網絡。【編輯推薦】
監控 Linux 性能的 18 個命令行工具
2014-02-18 10:45 幾點人, LitStone等編譯 oschina字號:T | T對于Linux系統的管理員而言,每天監控和調試Linux系統的性能問題是一項繁重的工作。本文中分享了18個命令行工具,這些工具將有助于每個Linux/Unix 系統管理員的工作。
AD:51CTO學院:IT精品課程在線看!
對于系統和網絡管理員來說每天監控和調試Linux系統的性能問題是一項繁重的工作。在IT領域作為一名Linux系統的管理員工作5年后,我逐漸認識到監控和保持系統啟動并運行是多么的不容易。基于此原因,我們已編寫了最常使用的18個命令行工具列表,這些工具將有助于每個Linux/Unix 系統管理員的工作。這些命令行工具可以在各種Linux系統下使用,可以用于監控和查找產生性能問題的原因。這個命令行工具列表提供了足夠的工具,您可以挑選適用于您的監控場景的工具。
1.Top-Linux進程監控
Linux下的Top命令是一個性能監控程序,許多系統管理員常常用它來監控Linux性能,在許多Linux或者類Unix操作系統里都有這個命令。Top命令用于按一定的順序顯示所有正在運行而且處于活動狀態的實時進程,而且會定期更新顯示結果。這條命令顯示了CPU的使用率、內存使用率、交換內存使用大小、高速緩存使用大小、緩沖區使用大小,進程PID、所使用命令以及其他。它還可以顯示正在運行進程的內存和CPU占用多的情況。對系統管理員來說,top命令式是一個非常有用的,它可用于監控系統并在需要的時候采取正確的處理動作。讓我們看看實際中的top命令。
# topTop命令舉例
有關Top命令更多的例子,請閱讀:Linux下12個使用Top命令的例子。
2. VmStat – 虛擬內存統計
Linux 的 VmStat 命令用于顯示虛擬內存、內核線程、磁盤、系統進程、I/O 塊、中斷、CPU 活動 等的統計信息。缺省情況下, vmstat 命令在 Linux 系統下不可用,你需要安裝一個包含了 vmstat 程序的 sysstat 軟件包。命令格式的常見用法是:
# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd free inact active si so bi bo in cs us sy id wa st1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0更多的 vmstat 例子,請閱讀 : 6 Linux 下的 Vmstat 命令實例
3.Lsof-列出打開的文件
在許多Linux或者類Unix系統里都有lsof命令,它常用于以列表的形式顯示所有打開的文件和進程。打開的文件包括磁盤文件、網絡套接字、管道、設備和進程。使用這條命令的主要情形之一就是在無法掛載磁盤和顯示正在使用或者打開某個文件的錯誤信息的時候。使用這條命令,你可以很容易地看到正在使用哪個文件。這條命令最常用的格式如下:
# lsof COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME init 1 root cwd DIR 104,2 4096 2 / init 1 root rtd DIR 104,2 4096 2 / init 1 root txt REG 104,2 38652 17710339 /sbin/init init 1 root mem REG 104,2 129900 196453 /lib/ld-2.5.so init 1 root mem REG 104,2 1693812 196454 /lib/libc-2.5.so init 1 root mem REG 104,2 20668 196479 /lib/libdl-2.5.so init 1 root mem REG 104,2 245376 196419 /lib/libsepol.so.1 init 1 root mem REG 104,2 93508 196431 /lib/libselinux.so.1 init 1 root 10u FIFO 0,17 953 /dev/initctl有關lsof命令的用法和例子的更多信息,請參考: Linux下10個使用lsof命令的例子。
4.Tcpdump-網絡包分析器
Tcpdump是最廣泛使用的網絡包分析器或者包監控程序之一,它用于捕捉或者過濾網絡上指定接口上接收或者傳輸的TCP/IP包。它還有一個選項用于把捕捉到的包保存到文件里,以便以后進行分析。在幾乎所有主要的Linux發布里,tcpdump都可以使用。
# tcpdump -i eth0tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648 22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648 22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347要想獲得更多有關tcpdump用法的信息,請參閱: Linux下12個使用Tcpdump命令的例子。
5.Netstat-網絡狀態統計
Netstat是一個用于監控進出網絡的包和網絡接口統計的命令行工具。它是一個非常有用的工具,系統管理員可以用來監控網絡性能,定位并解決網絡相關問題。
# netstat -a | moreActive Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:mysql *:* LISTEN tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 *:realm-rusd *:* LISTEN tcp 0 0 *:ftp *:* LISTEN tcp 0 0 localhost.localdomain:ipp *:* LISTEN tcp 0 0 localhost.localdomain:smtp *:* LISTEN tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42709 TIME_WAIT tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42710 TIME_WAIT tcp 0 0 *:http *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 *:https *:* LISTEN有關Netstat更多的例子,請參閱: Linux下20個使用Netstat命令的例子。
6. Htop – Linux進程監控
Htop 是一個非常高級的交互式的實時linux進程監控工具。 它和top命令十分相似,但是它具有更豐富的特性,例如用戶可以友好地管理進程,快捷鍵,垂直和水平方式顯示進程等等。 Htop是一個第三方工具,它不包含在linux系統中,你需要使用YUM包管理工具去安裝它。 關于安裝的更多信息,請閱讀下文.
# htopHtop 命令示例截圖
對于Htop的安裝,請讀 : 在Linux安裝Htop(Linux進程監控)
7.Iotop-監控Linux磁盤I/O
Iotop命令同樣也非常類似于top命令和Htop程序,不過它具有監控并顯示實時磁盤I/O和進程的統計功能。在查找具體進程和大量使用磁盤讀寫進程的時候,這個工具就非常有用。
# iotopIotop命令舉例的截圖 ?有關如何安裝和使用iotop的信息,請閱讀: 在Linux下安裝Iotop。
8.Iostat-輸入/輸出統計
Iostat是一個用于收集顯示系統存儲設備輸入和輸出狀態統計的簡單工具。這個工具常常用來追蹤存儲設備的性能問題,其中存儲設備包括設備、本地磁盤,以及諸如使用NFS等的遠端磁盤。
# iostat Linux 2.6.18-238.9.1.el5 (tecmint.com) 09/13/2012avg-cpu: %user %nice %system %iowait %steal %idle2.60 3.65 1.04 4.29 0.00 88.42Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn cciss/c0d0 17.79 545.80 256.52 855159769 401914750 cciss/c0d0p1 0.00 0.00 0.00 5459 3518 cciss/c0d0p2 16.45 533.97 245.18 836631746 384153384 cciss/c0d0p3 0.63 5.58 3.97 8737650 6215544 cciss/c0d0p4 0.00 0.00 0.00 8 0 cciss/c0d0p5 0.63 3.79 5.03 5936778 7882528 cciss/c0d0p6 0.08 2.46 2.34 3847771 3659776有關iostat用法和舉例的更多信息,請訪問: Linux下6個使用iostat命令的例子。
9.IPTraf-實時局域網IP監控
IPTraf是一個在Linux控制臺運行的、開放源代碼的實時網絡(局域網)監控應用。它采集了大量信息,比如通過網絡的IP流量監控,包括TCP標記、ICMP詳細信息、TCP/UDP流量分離、TCP連接包和字節數。同時還采集有關接口狀態的常見信息和詳細信息:TCP、UDP、IP、ICMP、非IP,IP校驗和錯誤,接***動等。
IP流量監控
有關IPTraf工具用法以及其他更多信息,請訪問: IPTraf網絡監控工具。
10. psacct 或者 acct - 監視用戶活動
psacct或者acct工具用于監視系統里每個用戶的活動狀況。這兩個服務進程運行在后臺,它們對系統上運行的每個用戶的所有活動進行近距離監視,同時還監視這些活動所使用的資源情況。
系統管理員可以使用這兩個工具跟蹤每個用戶的活動,比如用戶正在做什么,他們提交了那些命令,他們使用了多少資源,他們在系統上持續了多長時間等等。
有關這些命令的安裝和用法舉例信息,請參閱文章:使用psacct或者acct監視用戶活動。
11.Monit - Linux進程和服務監控工具
Monit是一個免費的開源軟件,也是一個基于網絡的進程監控工具。它能自動監控和管理系統進程,程序,文件,文件夾,權限,總和驗證碼和文件系統。
這個軟件能監控像Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH這樣的服務。你可以通過命令行或者這個軟件提供的網絡借口來查看系統狀態。
Monit Linux系統監控
更多內容請參閱:用Monit監控Linux進程
12.NetHogs-監視每個進程使用的網絡帶寬
NetHogs是一個開放源源代碼的很小程序(與Linux下的top命令很相似),它密切監視著系統上每個進程的網絡活動。同時還追蹤著每個程序或者應用所使用的實時網絡帶寬。
NetHogs:Linux下的帶寬監視
更多信息請參閱: 使用NetHogs監視Linux的網絡帶寬使用狀況。
13.iftop-監視網絡帶寬
iftop是另一個在控制臺運行的開放源代碼系統監控應用,它顯示了系統上通過網絡接口的應用網絡帶寬使用(源主機或者目的主機)的列表,這個列表定期更新。iftop用于監視網絡的使用情況,而'top'用于監視CPU的使用情況。iftop是'top'工具系列中的一員,它用于監視所選接口,并顯示兩個主機間當前網絡帶寬的使用情況。
iftop-監視網絡帶寬
更多信息請參閱:iftop-監視網絡帶寬的使用情況。
14 Monitorix-系統和網絡監控
Monitorix 是一個免費的輕量級應用工具,它的設計初衷是運行和監控Linux/Unix服務器系統和資源等。它有一個HTTP 網絡服務器,這個服務器有規律的收集系統和網絡的信息并以圖形化的形式展示出來。它監控系統的平均負載和使用,內存分配、磁盤健康狀況、系統服務、網絡端口、郵件統計(Sendmail,Postfix,Dovecot等),MySQL統計,等等。它就是用來監控系統的總體性能,幫助發現失誤、瓶頸和異常活動的。
15. Arpwatch – 以太網活動監視器
Arpwatch被設計用來監控Linux上的以太網地址解析 (MAC和IP地址的變化)。他在一段時間內持續監控以太網活動并輸出IP和MAC地址配對變動的日志。它還可以向管理員發送郵件通知,對地址配對的增改發出警告。這對于檢測網絡上的ARP***很有用。
更多信息請參閱 : Arpwatch to Monitor Ethernet Activity
16. Suricata – 網絡安全監控
Suricata 是一個開源的高性能網絡安全、***檢測和反監測工具,可以運行Linux、FreeBSD和Windows上。非營利組織OISF (Open Information Security Foundation)開發并擁有其版權。
更多信息請參閱 : Suricata – A Network Intrusion Detection and Prevention System
17. VnStat PHP – 網絡流量監控
VnStat PHP 是流行網絡工具"vnstat"的基于web的前端呈現。VnStat PHP 將網絡使用情況呈現在漂亮的圖形界面中。他可以顯示以小時、日、月計的上傳和下載流量并輸出總結報告。
更多信息請參閱 : VnStat PHP – Monitoring Network Bandwidth
18. Nagios – 網絡/服務器監控
Nagios是領先而強大的開源監控系統,他可以讓網絡/系統管理員在問題影響到正常的業務之前發現并解決它們。有了Nagios系統,管理員可以在單個窗口內遠程檢測Linux、Windows、開關、路由器和打印機。它可以危險警告并指出系統/服務器是否有異常,這可以間接幫助你在問題發生之前采取搶救措施。
更多信息請參閱 : Install Nagios Monitoring System to Monitor Remote Linux/Windows Hosts
我們想知道:你在用什么監控程序來監控Linux服務器的性能呢?如果我們在上面錯過了你認為重要的工具,請在評論中告訴我們,不要忘了分享它!
英文原文:18 Command Line Tools to Monitor Linux Performance
譯文鏈接:http://www.oschina.net/translate/command-line-tools-to-monitor-linux-performance
4個強大的Linux服務器監控工具
2014-02-09 10:20 敏敏翻譯 伯樂在線字號:T | T本文中,作者推薦了4個強大的Linux服務器監控工具。他們分別是:htop、iotop、apachetop、Glances。
AD:51CTO學院:IT精品課程在線看!
本文是我想呈現給各位的4個強大的監控工具。
htop – 交互式進程查看器
你可能知道在機器上查看實時進程的標準工具top。如果不知道,請運行$ top看看,運行$ man top閱讀幫助手冊。
htop是top的擴展版本,有更豐富的概貌(例如全命令、可視化、圖形用戶界面gui和用戶界面ui),有鼠標點擊交互(譯者注:看下面的截圖,指的是最上面的列標題如CPU%、MEM%等可以通過鼠標點擊切換以顯示不同的功能),也有許多的指導教你如何做進程管理。
安裝該命令并嘗試運行:
$ sudo apt-get install htop
截圖如下:
- From my OS X terminal in my Debian 7 box
iotop – 簡單的類似top的I/O監控器
iotop是IO實時監控器。使用它們附屬的詳細輸入輸出(IO)使用方法可以展示出你系統中每個進程線程的信息。
該命令可以與$ tcpdump(響應網絡流量的命令)一起使用。如果你發現你的web服務器上有程序在運行,你可以,比如運行$ tcpdump port 80檢查端口80(標準的http端口)的網絡流量來觀察細節。
最有用的信息可能是DISK WRITE這一列,從該列你可以準確的看到每個IO使用了多少個進程,單位為K/s。
安裝該命令并嘗試運行:
$ sudo apt-get install iotop
截圖如下:
apachetop – 展示web服務器實時統計數據
Apachetop展示Apache web服務器上關于http請求的實時表。
它顯示統計(stats), 點擊(hits), 請求(requests), 請求細節(request details),且能夠獲得當前你的web服務器正在運行程序的概貌,這一點很贊。
如果你使用的是Nginx,也有一些相似的工具,但似乎沒有apachetop那么詳細。
安裝該命令并嘗試運行:
$ sudo apt-get install apachetop
截圖如下:
Glances – 基于CLI curses庫的監控工具
Glances用各個分離的表列展示了你機器當前正運行的各種有用的實時數據。Glances旨在用最小的空間顯示盡可能多的信息,我認為它的目標完全達到了。
Glances用有限的交互可能性和更深層的信息監控PerCPU, Load, Memory, Swap, Network, Disk i/O, Mount data 和processes,但對于獲得一個整體概貌絕對是完美的。
安裝該命令并嘗試運行:
$ sudo apt-get install glances
截圖如下:
原文鏈接: Aarvik ? 翻譯: 伯樂在線 - 敏敏
譯文鏈接: http://blog.jobbole.com/58003/
【編輯推薦】
轉載于:https://blog.51cto.com/cs1990/1394406
總結
以上是生活随笔為你收集整理的Linux服务器上监控网络带宽与监控性能命令大全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 芯片封装名称说明
- 下一篇: Linux 字符设备驱动开发基础(六)—