一、如何查看centos的網絡帶寬出口
檢查維護系統的時候,經常會要查看服務器的網絡端口是多大的,所以需要用到linux的一個命令。
如何查看CentOS的網絡帶寬出口多大?可以用下面的命令來查看。
# ethtool eth0
前面是命令,后面跟的是設備名,如果對外連接的網絡設備是eth1,那就需要改成: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服務器上監控網絡帶寬的18個常用命令和工具
本文介紹了一些可以用來監控網絡使用情況的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
- 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/ target=_blank class=infotextkey>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,它們提供了一批功能特性,不僅僅可以監控服務器,還能監控整個基礎設施
大帶寬服務器BGP IP:
140.210.20.1
140.210.20.2
140.210.20.3
140.210.20.4
140.210.20.5
140.210.20.6
140.210.20.7
140.210.20.8
140.210.20.9
140.210.20.10
140.210.20.11
140.210.20.12
140.210.20.13
140.210.20.14
140.210.20.15
140.210.20.16
140.210.20.17
140.210.20.18
140.210.20.19
140.210.20.20
140.210.20.21
140.210.20.22
140.210.20.23
140.210.20.24
140.210.20.25
140.210.20.26
140.210.20.27
140.210.20.28
140.210.20.29
140.210.20.30
140.210.20.31
140.210.20.32
140.210.20.33
140.210.20.34
140.210.20.35
140.210.20.36
140.210.20.37
140.210.20.38
140.210.20.39
140.210.20.40
140.210.20.41
140.210.20.42
140.210.20.43
140.210.20.44
140.210.20.45
140.210.20.46
140.210.20.47
140.210.20.48
140.210.20.49
140.210.20.50
140.210.20.51
140.210.20.52
140.210.20.53
140.210.20.54
140.210.20.55
140.210.20.56
140.210.20.57
140.210.20.58
140.210.20.59
140.210.20.60
140.210.20.61
140.210.20.62
140.210.20.63
140.210.20.64
140.210.20.65
140.210.20.66
140.210.20.67
140.210.20.68
140.210.20.69
140.210.20.70
140.210.20.71
140.210.20.72
140.210.20.73
140.210.20.74
140.210.20.75
140.210.20.76
140.210.20.77
140.210.20.78
140.210.20.79
140.210.20.80
140.210.20.81
140.210.20.82
140.210.20.83
140.210.20.84
140.210.20.85
140.210.20.86
140.210.20.87
140.210.20.88
140.210.20.89
140.210.20.90
140.210.20.91
140.210.20.92
140.210.20.93
140.210.20.94
140.210.20.95
140.210.20.96
140.210.20.97
140.210.20.98
140.210.20.99
140.210.20.100
140.210.20.101
140.210.20.102
140.210.20.103
140.210.20.104
140.210.20.105
140.210.20.106
140.210.20.107
140.210.20.108
140.210.20.109
140.210.20.110
140.210.20.111
140.210.20.112
140.210.20.113
140.210.20.114
140.210.20.115
140.210.20.116
140.210.20.117
140.210.20.118
140.210.20.119
140.210.20.120
140.210.20.121
140.210.20.122
140.210.20.123
140.210.20.124
140.210.20.125
140.210.20.126
140.210.20.127
140.210.20.128
140.210.20.129
140.210.20.130
140.210.20.131
140.210.20.132
140.210.20.133
140.210.20.134
140.210.20.135
140.210.20.136
140.210.20.137
140.210.20.138
140.210.20.139
140.210.20.140
140.210.20.141
140.210.20.142
140.210.20.143
140.210.20.144
140.210.20.145
140.210.20.146
140.210.20.147
140.210.20.148
140.210.20.149
140.210.20.150
140.210.20.151
140.210.20.152
140.210.20.153
140.210.20.154
140.210.20.155
140.210.20.156
140.210.20.157
140.210.20.158
140.210.20.159
140.210.20.160
140.210.20.161
140.210.20.162
140.210.20.163
140.210.20.164
140.210.20.165
140.210.20.166
140.210.20.167
140.210.20.168
140.210.20.169
140.210.20.170
140.210.20.171
140.210.20.172
140.210.20.173
140.210.20.174
140.210.20.175
140.210.20.176
140.210.20.177
140.210.20.178
140.210.20.179
140.210.20.180
140.210.20.181
140.210.20.182
140.210.20.183
140.210.20.184
140.210.20.185
140.210.20.186
140.210.20.187
140.210.20.188
140.210.20.189
140.210.20.190
140.210.20.191
140.210.20.192
140.210.20.193
140.210.20.194
140.210.20.195
140.210.20.196
140.210.20.197
140.210.20.198
140.210.20.199
140.210.20.200
140.210.20.201
140.210.20.202
140.210.20.203
140.210.20.204
140.210.20.205
140.210.20.206
140.210.20.207
140.210.20.208
140.210.20.209
140.210.20.210
140.210.20.211
140.210.20.212
140.210.20.213
140.210.20.214
140.210.20.215
140.210.20.216
140.210.20.217
140.210.20.218
140.210.20.219
140.210.20.220
140.210.20.221
140.210.20.222
140.210.20.223
140.210.20.224
140.210.20.225
140.210.20.226
140.210.20.227
140.210.20.228
140.210.20.229
140.210.20.230
140.210.20.231
140.210.20.232
140.210.20.233
140.210.20.234
140.210.20.235
140.210.20.236
140.210.20.237
140.210.20.238
140.210.20.239
140.210.20.240
140.210.20.241
140.210.20.242
140.210.20.243
140.210.20.244
140.210.20.245
140.210.20.246
140.210.20.247
140.210.20.248
140.210.20.249
140.210.20.250
140.210.20.251
140.210.20.252
140.210.20.253
140.210.20.254
140.210.20.255