详解实时查看网卡流量的几款工具
點擊上方“朱小廝的博客”,選擇“設為星標”
后臺回復"書",獲取推薦書籍
來源:dazhuanlan.com
nload工具
nload用于實時查看網卡流量,默認系統都沒有安裝,首先安裝方式如下:
$ yum install -y epel-release $ yum install -y nload使用也非常簡單,如下:
$ nload Device eth0 [192.168.0.110] (4/5): =================================================================================== Incoming:Curr: 5.21 kBit/s # Incoming:進來的流量Avg: 4.09 kBit/s # Outgoing:出去的流量Min: 1.59 kBit/s # Curr:當前的流量值Max: 12.51 kBit/s # Avg:平均值的流量值Ttl: 4.16 GByte # Min:最小的流量值 Outgoing: # Max:最大的流量值Curr: 16.48 kBit/s # Ttl:總的流量值Avg: 14.38 kBit/sMin: 6.73 kBit/s Max: 28.39 kBit/siftop工具
默認系統沒有安裝,需要安裝,如下:
# 需要epel環境 $ yum install -y epel-release $ yum install -y iftop安裝完成之后,輸入iftop便可看到如下界面
其中,相關參數解釋如下:
1.界面上面顯示的是類似刻度尺的刻度范圍,為顯示流量圖形的長條作標尺用的。2.中間的<= =>這兩個左右箭頭,表示的是流量的方向。3.TX:發送流量4.RX:接收流量5.TOTAL:總流量6.Cumm:運行iftop到目前時間的總流量7.peak:流量峰值8.rates:分別表示過去 2s 10s 40s 的平均流量
sar命令
sar命令包含在sysstat工具包中,提供系統的眾多統計數據。其在不同的系統上命令有些差異,某些系統提供的sar支持基于網絡接口的數據統計,也可以查看設備上每秒收發包的個數和流量。
# DEV顯示網絡接口信息 # 命令后面1 2 意思是:每一秒鐘取1次值,取2次 $ sar –n DEV 1 2另外,-n參數很有用,他有6個不同的開關:DEV | EDEV | NFS | NFSD | SOCK | ALL ,其代表的含義如下:
DEV顯示網絡接口信息。EDEV顯示關于網絡錯誤的統計數據。NFS統計活動的NFS客戶端的信息。NFSD統計NFS服務器的信息 SOCK顯示套接字信息 ALL顯示所有5個開關
$ sar -n DEV 1 2 Linux 3.10.0-514.26.2.el7.x86_64 (localhost) 08/31/2019 _x86_64_ (1 CPU)09:52:28 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 09:52:29 AM eth0 2.02 1.01 0.13 0.16 0.00 0.00 0.00 09:52:29 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.0009:52:29 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 09:52:30 AM eth0 1.02 1.02 0.07 0.23 0.00 0.00 0.00 09:52:30 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s Average: eth0 1.52 1.02 0.10 0.19 0.00 0.00 0.00 Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00參數說明:
?IFACE:LAN接口?rxpck/s:每秒鐘接收的數據包?txpck/s:每秒鐘發送的數據包?rxbyt/s:每秒鐘接收的字節數?txbyt/s:每秒鐘發送的字節數?rxcmp/s:每秒鐘接收的壓縮數據包?txcmp/s:每秒鐘發送的壓縮數據包?rxmcst/s:每秒鐘接收的多播數據包?rxerr/s:每秒鐘接收的壞數據包?txerr/s:每秒鐘發送的壞數據包?coll/s:每秒沖突數?rxdrop/s:因為緩沖充滿,每秒鐘丟棄的已接收數據包數?txdrop/s:因為緩沖充滿,每秒鐘丟棄的已發送數據包數?txcarr/s:發送數據包時,每秒載波錯誤數?rxfram/s:每秒接收數據包的幀對齊錯誤數?rxfifo/s:接收的數據包每秒FIFO過速的錯誤數?txfifo/s:發送的數據包每秒FIFO過速的錯誤數
實時監控腳本1
ifconfig可以查看的是從連上網開始的流量總和,cat /proc/net/dev記錄的值也是總流量,那么可以計算一下,實時流量=當前流量-上一秒的流量。
[root@localhost ~]# cat network.sh # 傳入網卡參數 ethn=$1while true doRX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')TX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')sleep 1RX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')TX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')clear# echo -e激活轉義符# 輸出時間的標題echo -e "t RX `date +%k:%M:%S` TX"RX=$((${RX_next}-${RX_pre}))TX=$((${TX_next}-${TX_pre}))if [[ $RX -lt 1024 ]];thenRX="${RX}B/s"elif [[ $RX -gt 1048576 ]];thenRX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')elseRX=$(echo $RX | awk '{print $1/1024 "KB/s"}')fiif [[ $TX -lt 1024 ]];thenTX="${TX}B/s"elif [[ $TX -gt 1048576 ]];thenTX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')elseTX=$(echo $TX | awk '{print $1/1024 "KB/s"}')fi# 輸出流量echo -e "$ethn t $RX $TX "done執行結果如下:
[root@localhost ~]# ./network.sh eth0RX 20:23:38 TX eth0 66B/s 0B/s RX 20:23:39 TX eth0 132B/s 0B/s RX 20:23:40 TX eth0 186B/s 194B/s RX 20:23:41 TX eth0 240B/s 194B/s RX 20:23:42 TX eth0 132B/s 0B/s RX 20:23:43 TX eth0 240B/s 194B/s RX 20:23:44 TX eth0 396B/s 4.19727KB/s RX 20:23:45 TX eth0 276B/s 178B/s實時監控腳本2
$ cat network_flow.sh # 監控實時網卡流量 # $1 接收所傳第一個參數 即要監控的網卡 NIC=$1 # echo -e "traffic in --- traffic out" while true;do# $0 命令輸出結果 ~ 匹配模式OLD_IN=`awk '$0~"'$NIC'"{print $2}' /proc/net/dev`OLD_OUT=`awk '$0~"'$NIC'"{print $10}' /proc/net/dev`sleep 1NEW_IN=`awk '$0~"'$NIC'"{print $2}' /proc/net/dev`NEW_OUT=`awk '$0~"'$NIC'"{print $10}' /proc/net/dev`clear# printf不換行 %s占位符IN=$(printf "%.1f%s" "$(($NEW_IN-$OLD_IN))" "B/s")OUT=$(printf "%.1f%s" "$(($NEW_OUT-$OLD_OUT))" "B/s")echo " traffic in `date +%k:%M:%S` traffic out "echo "$NIC $IN $OUT"done執行結果如下:
$ ./network_flow.sh eth0traffic in 11:15:02 traffic out eth0 732.0B/s 948.0B/straffic in 11:15:03 traffic out eth0 132.0B/s 0.0B/straffic in 11:15:04 traffic out eth0 132.0B/s 0.0B/straffic in 11:15:05 traffic out eth0 132.0B/s 0.0B/straffic in 11:15:06 traffic out eth0 186.0B/s 242.0B/straffic in 11:15:07 traffic out eth0 132.0B/s 0.0B/straffic in 11:15:08 traffic out eth0 132.0B/s 0.0B/straffic in 11:15:09 traffic out eth0 132.0B/s 0.0B/straffic in 11:15:10 traffic out eth0 240.0B/s 242.0B/straffic in 11:15:11 traffic out eth0 132.0B/s 0.0B/s 想知道更多?掃描下面的二維碼關注我掃描上面微信,備注"書",獲取推薦書籍點個贊+在看,少個 bug?????總結
以上是生活随笔為你收集整理的详解实时查看网卡流量的几款工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里开源的Arthas竟然还不会用?最佳
- 下一篇: 看了这个高并发系统架构,才知道我对秒杀的