溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

發(fā)布時(shí)間:2020-08-05 18:02:52 來源:網(wǎng)絡(luò) 閱讀:699 作者:我不是九爺 欄目:云計(jì)算

一、如何查看CentOS的網(wǎng)絡(luò)帶寬出口

?

檢查維護(hù)系統(tǒng)的時(shí)候,經(jīng)常會要查看服務(wù)器的網(wǎng)絡(luò)端口是多大的,所以需要用到Linux的一個(gè)命令。

如何查看CentOS的網(wǎng)絡(luò)帶寬出口多大?可以用下面的命令來查看。

?

# ethtool eth0

前面是命令,后面跟的是設(shè)備名,如果對外連接的網(wǎng)絡(luò)設(shè)備是eth2,那就需要改成:ethtool eth0

[root@localhost ~]# ethtool eth0

Settings for eth0:
? ? ? ? Supported ports: [ TP ]
? ? ? ? Supported link modes: ? 10baseT/Half 10baseT/Full
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100baseT/Half 100baseT/Full
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1000baseT/Full
? ? ? ? Supported pause frame use: No
? ? ? ? Supports auto-negotiation: Yes
? ? ? ? Advertised link modes: ?10baseT/Half 10baseT/Full
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100baseT/Half 100baseT/Full
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1000baseT/Full
? ? ? ? Advertised pause frame use: No
? ? ? ? Advertised auto-negotiation: Yes
? ? ? ? Speed: 1000Mb/s
? ? ? ? Duplex: Full
? ? ? ? Port: Twisted Pair
? ? ? ? PHYAD: 0
? ? ? ? Transceiver: internal
? ? ? ? Auto-negotiation: on
? ? ? ? MDI-X: Unknown
? ? ? ? Supports Wake-on: d
? ? ? ? Wake-on: d
? ? ? ? Current message level: 0x00000007 (7)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?drv probe link
? ? ? ? Link detected: yes

?

二、Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具

?

?

本文介紹了一些可以用來監(jiān)控網(wǎng)絡(luò)使用情況的Linux命令行工具。這些工具可以監(jiān)控通過網(wǎng)絡(luò)接口傳輸?shù)臄?shù)據(jù),并測量目前哪些數(shù)據(jù)所傳輸?shù)乃俣?。入站流量和出站流量分開來顯示。

一些命令可以顯示單個(gè)進(jìn)程所使用的帶寬。這樣一來,用戶很容易發(fā)現(xiàn)過度使用網(wǎng)絡(luò)帶寬的某個(gè)進(jìn)程。

這些工具使用不同的機(jī)制來制作流量報(bào)告。nload等一些工具可以讀取"proc/net/dev"文件,以獲得流量統(tǒng)計(jì)信息;而一些工具使用pcap庫來捕獲所有數(shù)據(jù)包,然后計(jì)算總數(shù)據(jù)量,從而估計(jì)流量負(fù)載。

下面是按功能劃分的命令名稱。

  • 監(jiān)控總體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload

  • 監(jiān)控總體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl

  • 每個(gè)套接字連接的帶寬使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow

  • 每個(gè)進(jìn)程的帶寬使用――nethogs

1. nload

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

nload是一個(gè)命令行工具,讓用戶可以分開來監(jiān)控入站流量和出站流量。它還可以繪制圖表以顯示入站流量和出站流量,視圖比例可以調(diào)整。用起來很簡單,不支持許多選項(xiàng)。

所以,如果你只需要快速查看總帶寬使用情況,無需每個(gè)進(jìn)程的詳細(xì)情況,那么nload用起來很方便。

  1. $?nload?

安裝nload:Fedora和Ubuntu在默認(rèn)軟件庫里面就有nload。CentOS用戶則需要從Epel軟件庫獲得nload。

  1. #?fedora或centos?

  2. $?yum?install?nload?-y?

  3. #?ubuntu/debian?

  4. $?sudo?apt-get?install?nload?

2. iftop

iftop可測量通過每一個(gè)套接字連接傳輸?shù)臄?shù)據(jù);它采用的工作方式有別于nload。iftop使用pcap庫來捕獲進(jìn)出網(wǎng)絡(luò)適配器的數(shù)據(jù)包,然后匯總數(shù)據(jù)包大小和數(shù)量,搞清楚總的帶寬使用情況。

雖然iftop報(bào)告每個(gè)連接所使用的帶寬,但它無法報(bào)告參與某個(gè)套按字連接的進(jìn)程名稱/編號(ID)。不過由于基于pcap庫,iftop能夠過濾流量,并報(bào)告由過濾器指定的所選定主機(jī)連接的帶寬使用情況。

  1. $?sudo?iftop?-n?

n選項(xiàng)可以防止iftop將IP地址解析成主機(jī)名,解析本身就會帶來額外的網(wǎng)絡(luò)流量。

?

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

安裝iftop:Ubuntu/Debian/Fedora用戶可以從默認(rèn)軟件庫獲得它。CentOS用戶可以從Epel獲得它。

  1. #?fedora或centos?

  2. yum?install?iftop?-y?

  3. #?ubuntu或?debian?

  4. $?sudo?apt-get?install?iftop?

3. iptraf

iptraf是一款交互式、色彩鮮艷的IP局域網(wǎng)監(jiān)控工具。它可以顯示每個(gè)連接以及主機(jī)之間傳輸?shù)臄?shù)據(jù)量。下面是屏幕截圖。

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

  1. $?sudo?iptraf?

安裝iptraf:

  1. #?Centos(基本軟件庫)?

  2. $?yum?install?iptraf?

  3. #?fedora或centos(帶epel)?

  4. $?yum?install?iptraf-ng?-y?

  5. #?ubuntu或debian?

  6. $?sudo?apt-get?install?iptraf?iptraf-ng?

4. nethogs

nethogs是一款小巧的"net top"工具,可以顯示每個(gè)進(jìn)程所使用的帶寬,并對列表排序,將耗用帶寬最多的進(jìn)程排在最上面。萬一出現(xiàn)帶寬使用突然激增的情況,用戶迅速打開nethogs,就可以找到導(dǎo)致帶寬使用激增的進(jìn)程。nethogs可以報(bào)告程序的進(jìn)程編號(PID)、用戶和路徑。

  1. $?sudo?nethogs?

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

安裝nethogs:Ubuntu、Debian和Fedora用戶可以從默認(rèn)軟件庫獲得。CentOS用戶則需要Epel。

  1. #?ubuntu或debian(默認(rèn)軟件庫)?

  2. $?sudo?apt-get?install?nethogs?

  3. #?fedora或centos(來自epel)?

  4. $?sudo?yum?install?nethogs?-y?

5. bmon

bmon(帶寬監(jiān)控器)是一款類似nload的工具,它可以顯示系統(tǒng)上所有網(wǎng)絡(luò)接口的流量負(fù)載。輸出結(jié)果還含有圖表和剖面,附有數(shù)據(jù)包層面的詳細(xì)信息。

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

安裝bmon:Ubuntu、Debian和Fedora用戶可以從默認(rèn)軟件庫來安裝。CentOS用戶則需要安裝repoforge,因?yàn)镋pel里面沒有bmon。

  1. #?ubuntu或debian?

  2. $?sudo?apt-get?install?bmon?

  3. #?fedora或centos(來自repoforge)?

  4. $?sudo?yum?install?bmon?

bmon支持許多選項(xiàng),能夠制作HTML格式的報(bào)告。欲知更多信息,請參閱參考手冊頁。

6. slurm

slurm是另一款網(wǎng)絡(luò)負(fù)載監(jiān)控器,可以顯示設(shè)備的統(tǒng)計(jì)信息,還能顯示ASCII圖形。它支持三種不同類型的圖形,使用c鍵、s鍵和l鍵即可激活每種圖形。slurm功能簡單,無法顯示關(guān)于網(wǎng)絡(luò)負(fù)載的任何更進(jìn)一步的詳細(xì)信息。

  1. $?slurm?-s?-i?eth0?

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

安裝slurm

  1. #?debian或ubuntu?

  2. $?sudo?apt-get?install?slurm?

  3. #?fedora或centos?

  4. $?sudo?yum?install?slurm?-y?

7. tcptrack

tcptrack類似iftop,使用pcap庫來捕獲數(shù)據(jù)包,并計(jì)算各種統(tǒng)計(jì)信息,比如每個(gè)連接所使用的帶寬。它還支持標(biāo)準(zhǔn)的pcap過濾器,這些過濾器可用來監(jiān)控特定的連接。

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

安裝tcptrack:Ubuntu、Debian和Fedora在默認(rèn)軟件庫里面就有它。CentOS用戶則需要從RepoForge獲得它,因?yàn)镋pel里面沒有它。

  1. #?ubuntu,?debian?

  2. $?sudo?apt-get?install?tcptrack?

  3. #?fedora,?centos(來自repoforge軟件庫)?

  4. $?sudo?yum?install?tcptrack?

8. vnstat

vnstat與另外大多數(shù)工具有點(diǎn)不一樣。它實(shí)際上運(yùn)行后臺服務(wù)/守護(hù)進(jìn)程,始終不停地記錄所傳輸數(shù)據(jù)的大小。之外,它可以用來制作顯示網(wǎng)絡(luò)使用歷史情況的報(bào)告。

  1. $?service?vnstat?status?

  2. *?vnStat?daemon?is?running?

運(yùn)行沒有任何選項(xiàng)的vnstat,只會顯示自守護(hù)進(jìn)程運(yùn)行以來所傳輸?shù)臄?shù)據(jù)總量。

  1. $?vnstat?

  2. Database?updated:?Mon?Mar?17?15:26:59?2014?

  3. eth0?since?06/12/13?

  4. rx:??135.14?GiB??????tx:??35.76?GiB??????total:??170.90?GiB?

  5. monthly?

  6. rx??????|?????tx??????|????total????|???avg.?rate?

  7. ?

  8. ------------------------+-------------+-------------+-------------?

  9. Feb?'14??????8.19?GiB??|????2.08?GiB??|???10.27?GiB?|???35.60?kbit/s?

  10. Mar?'14??????4.98?GiB??|????1.52?GiB??|????6.50?GiB?|???37.93?kbit/s?

  11. ------------------------+-------------+-------------+-------------?

  12. estimated???????9.28?GiB?|????2.83?GiB??|???12.11?GiB?|?

  13. daily?

  14. rx??????|?????tx??????|????total????|???avg.?rate?

  15. ------------------------+-------------+-------------+-------------?

  16. yesterday?????236.11?MiB?|???98.61?MiB?|??334.72?MiB?|???31.74?kbit/s?

  17. today????128.55?MiB?|???41.00?MiB?|??169.56?MiB?|???24.97?kbit/s?

  18. ------------------------+-------------+-------------+-------------?

  19. estimated???????199?MiB?|??????63?MiB?|?????262?MiB?|?

想實(shí)時(shí)監(jiān)控帶寬使用情況,請使用"-l"選項(xiàng)(實(shí)時(shí)模式)。然后,它會顯示入站數(shù)據(jù)和出站數(shù)據(jù)所使用的總帶寬量,但非常精確地顯示,沒有關(guān)于主機(jī)連接或進(jìn)程的任何內(nèi)部詳細(xì)信息。

  1. $?vnstat?-l?-i?eth0?

  2. Monitoring?eth0...????(press?CTRL-C?to?stop)?

  3. rx:???????12?kbit/s????10?p/s??????????tx:???????12?kbit/s????11?p/s?

vnstat更像是一款制作歷史報(bào)告的工具,顯示每天或過去一個(gè)月使用了多少帶寬。它并不是嚴(yán)格意義上的實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)的工具。

vnstat支持許多選項(xiàng),支持哪些選項(xiàng)方面的詳細(xì)信息請參閱參考手冊頁。

安裝vnstat

  1. #?ubuntu或debian?

  2. $?sudo?apt-get?install?vnstat?

  3. #?fedora或?centos(來自epel)?

  4. $?sudo?yum?install?vnstat?

9. bwm-ng

bwm-ng(下一代帶寬監(jiān)控器)是另一款非常簡單的實(shí)時(shí)網(wǎng)絡(luò)負(fù)載監(jiān)控工具,可以報(bào)告摘要信息,顯示進(jìn)出系統(tǒng)上所有可用網(wǎng)絡(luò)接口的不同數(shù)據(jù)的傳輸速度。

  1. $?bwm-ng?

  2. bwm-ng?v0.6?(probing?every?0.500s),?press?'h'?for?help?

  3. input:?/proc/net/dev?type:?rate?

  4. /?????????iface???????????????????Rx???????????????????Tx????????????????T?

  5. ot=================================================================?

  6. ==???????????eth0:???????????0.53?KB/s????????????1.31?KB/s????????????1.84?

  7. KB?????????????lo:???????????0.00?KB/s????????????0.00?KB/s????????????0.00?

  8. KB-------------------------------------------------------------------------------------------------------------?

  9. total:???????????0.53?KB/s????????????1.31?KB/s????????????1.84?

  10. KB/s?

如果控制臺足夠大,bwm-ng還能使用curses2輸出模式,為流量繪制條形圖。

  1. $?bwm-ng?-o?curses2?

安裝bwm-ng:在CentOS上,可以從Epel來安裝bwm-ng。

  1. #?ubuntu或debian?

  2. $?sudo?apt-get?install?bwm-ng?

  3. #?fedora或centos(來自epel)?

  4. $?sudo?apt-get?install?bwm-ng?

10. cbm:Color Bandwidth Meter

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

這是一款小巧簡單的帶寬監(jiān)控工具,可以顯示通過諸網(wǎng)絡(luò)接口的流量大小。沒有進(jìn)一步的選項(xiàng),僅僅實(shí)時(shí)顯示和更新流量的統(tǒng)計(jì)信息。

  1. $?sudo?apt-get?install?cbm?

11. speedometer

這是另一款小巧而簡單的工具,僅僅繪制外觀漂亮的圖形,顯示通過某個(gè)接口傳輸?shù)娜胝玖髁亢统稣玖髁俊?/p>

  1. $?speedometer?-r?eth0?-t?eth0?

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

安裝speedometer

  1. #?ubuntu或debian用戶?

  2. $?sudo?apt-get?install?speedometer?

12. pktstat

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

pktstat可以實(shí)時(shí)顯示所有活動連接,并顯示哪些數(shù)據(jù)通過這些活動連接傳輸?shù)乃俣?。它還可以顯示連接類型,比如TCP連接或UDP連接;如果涉及HTTP連接,還會顯示關(guān)于HTTP請求的詳細(xì)信息。

  1. $?sudo?pktstat?-i?eth0?-nt?

  2. $?sudo?apt-get?install?pktstat?

13. netwatch

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

netwatch是netdiag工具庫的一部分,它也可以顯示本地主機(jī)與其他遠(yuǎn)程主機(jī)之間的連接,并顯示哪些數(shù)據(jù)在每個(gè)連接上所傳輸?shù)乃俣取?/p>

  1. $?sudo?netwatch?-e?eth0?-nt?

  2. $?sudo?apt-get?install?netdiag?

14. trafshow

與netwatch和pktstat一樣,trafshow也可以報(bào)告當(dāng)前活動連接、它們使用的協(xié)議以及每條連接上的數(shù)據(jù)傳輸速度。它能使用pcap類型過濾器,對連接進(jìn)行過濾。

只監(jiān)控TCP連接

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

  1. $?sudo?trafshow?-i?eth0?tcp?

  2. $?sudo?apt-get?install?netdiag?

15. netload

netload命令只顯示關(guān)于當(dāng)前流量負(fù)載的一份簡短報(bào)告,并顯示自程序啟動以來所傳輸?shù)目傋止?jié)量。沒有更多的功能特性。它是netdiag的一部分。

Linux服務(wù)器上監(jiān)控網(wǎng)絡(luò)帶寬的18個(gè)常用命令和工具;

  1. $?netload?eth0?

  2. $?sudo?apt-get?install?netdiag?

16. ifstat

ifstat能夠以批處理式模式顯示網(wǎng)絡(luò)帶寬。輸出采用的一種格式便于用戶使用其他程序或?qū)嵱霉ぞ邅碛浫肴罩竞头治觥?/p>

  1. $?ifstat?-t?-i?eth0?0.5?

  2. Time???????????eth0?

  3. HH:MM:SS???KB/s?in??KB/s?out?

  4. 09:59:21??? ???2.62??????2.80?

  5. 09:59:22??? ???2.10??????1.78?

  6. 09:59:22??? ???2.67??????1.84?

  7. 09:59:23???? ??2.06??????1.98?

  8. 09:59:23???? ??1.73??????1.79?

安裝ifstat:Ubuntu、Debian和Fedora用戶在默認(rèn)軟件庫里面就有它。CentOS用戶則需要從Repoforge獲得它,因?yàn)镋pel里面沒有它。

  1. #?ubuntu,?debian?

  2. $?sudo?apt-get?install?ifstat?

  3. #?fedora,?centos(Repoforge)?

  4. $?sudo?yum?install?ifstat?

17. dstat

dstat是一款用途廣泛的工具(用python語言編寫),它可以監(jiān)控系統(tǒng)的不同統(tǒng)計(jì)信息,并使用批處理模式來報(bào)告,或者將相關(guān)數(shù)據(jù)記入到CSV或類似的文件。這個(gè)例子顯示了如何使用dstat來報(bào)告網(wǎng)絡(luò)帶寬。

安裝dstat

  1. $?dstat?-nt?

  2. -net/total-?----system----?

  3. recv??send|?????time?

  4. 0?????0?|23-03?10:27:13?

  5. 1738B?1810B|23-03?10:27:14?

  6. 2937B?2610B|23-03?10:27:15?

  7. 2319B?2232B|23-03?10:27:16?

  8. 2738B?2508B|23-03?10:27:17?

18. collectl

collectl以一種類似dstat的格式報(bào)告系統(tǒng)的統(tǒng)計(jì)信息;與dstat一樣,它也收集關(guān)于系統(tǒng)不同資源(如處理器、內(nèi)存和網(wǎng)絡(luò)等)的統(tǒng)計(jì)信息。這里給出的一個(gè)簡單例子顯示了如何使用collectl來報(bào)告網(wǎng)絡(luò)使用/帶寬。

  1. $?collectl?-sn?-oT?-i0.5?

  2. waiting?for?0.5?second?sample...?

  3. #?????????<----------Network---------->?

  4. #Time???????KBIn??PktIn??KBOut??PktOut?

  5. 10:32:01??????40?????58?????43??????66?

  6. 10:32:01??????27?????58??????3??????32?

  7. 10:32:02???????3?????28??????9??????44?

  8. 10:32:02???????5?????42?????96??????96?

  9. 10:32:03???????5?????48??????3??????28?

安裝collectl

  1. #?Ubuntu/Debian用戶?

  2. $?sudo?apt-get?install?collectl?

  3. #Fedora?

  4. $?sudo?yum?install?collectl?

結(jié)束語

上述幾個(gè)使用方便的命令可以迅速檢查Linux服務(wù)器上的網(wǎng)絡(luò)帶寬使用情況。不過,這些命令需要用戶通過SSH登錄到遠(yuǎn)程服務(wù)器。另外,基于Web的監(jiān)控工具也可以用來實(shí)現(xiàn)同樣的任務(wù)。

ntop和darkstat是面向Linux系統(tǒng)的其中兩個(gè)基本的基于Web的網(wǎng)絡(luò)監(jiān)控工具。除此之外還有企業(yè)級監(jiān)控工具,比如nagios,它們提供了一批功能特性,不僅僅可以監(jiān)控服務(wù)器,還能監(jiān)控整個(gè)基礎(chǔ)設(shè)施。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI