Linuxの自己論文 - トラフィック監視を達成するために、いくつかの方法

DEV 1 2 -n 1.sar

sarコマンドは、キットに含まれているSYSSTAT、システムは、統計の数を提供します。異なるシステム上での注文は、いくつかの違いがあり、いくつかのシステムでは、サポートWebベースのインターフェイスに統計データを提供SAR、あなたはまた、デバイスの上、送信数を表示し、秒あたりのトラフィックパケットを受け取ることができます。

1 DEV 1 2 -n SAR 指令手段2の後に1:1で二回撮影したすべての第2の値を取ります。DEVディスプレイネットワークインタフェース情報
2 SARは1 2 -nフェッチ ネットワークエラーのEDEV表示統計。
3 NFS 1 2 -n SAR 情報NFSクライアントは、統計的な活動をNFS。
4 NFSD 1 2 -n SAR 統計情報NFSD NFSサーバ
5 SOCK 1 2 -n SAR SOCK表示ソケット情報
6 ALL 1 2 -n SAR ALLすべての5つのスイッチを表示
[sre@CDVM-213017031 ~]$ sar -n DEV 1 2
Linux 2.6.32-431.el6.x86_64 (CDVM-213017031)  05/04/2017  _x86_64_ (4 CPU)
 
08:05:30 PM  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
08:05:31 PM  lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
08:05:31 PM  eth0 1788.00 1923.00 930.47 335.60  0.00  0.00  0.00
 
08:05:31 PM  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
08:05:32 PM  lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
08:05:32 PM  eth0 1387.00 1469.00 652.12 256.98  0.00  0.00  0.00
 
Average:  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average:   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
Average:   eth0 1587.50 1696.00 791.29 296.29  0.00  0.00  0.00
IFACE rxpck / sの txpck / sの rxkB / sの txkB / sの rxcmp / sの txcmp / sの rxmcst / sの
LANインターフェース パケットは、秒あたりの受信しました 秒ごとに送信されるデータパケット バイト数は、秒あたりの受信します 秒当たりの送信バイト数 毎秒受信した圧縮データ・パケット 秒あたりに送信された圧縮されたパケット 毎秒のマルチキャストパケットを受信し
RXERR / sの TXERR / sの 高専/ sの rxdrop / sの txdrop / sの txcarr / sの rxfram / sの RXFIFO / sの TXFIFO / sの
不良パケットは、秒あたりの受信しました 不良パケット毎秒送信され 第二の競合あたり バッファがいっぱいであるため、廃棄されたパケットの数あたりのデータを受信し データを送信し廃棄されたパケットの数当たりの、バッファが充填されるため パケットを送信する場合、第2のキャリアあたりのエラーの数 フレームは、第2のアライメント誤差あたりのパケットを受信しました 第2のFIFOの速度あたりのエラーの数を介してデータパケットを受信 2速あたりのエラーの数を介して送信FIFOデータパケット
2.リアルタイム監視スクリプト
#!/bin/bash
ethn=$1
while true
do
 RX_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 1
 RX_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 "\t RX `date +%k:%M:%S` TX"
 
 RX=$((${RX_next}-${RX_pre}))
 TX=$((${TX_next}-${TX_pre}))
 
 if [[ $RX -lt 1024 ]];then
 RX="${RX}B/s"
 elif [[ $RX -gt 1048576 ]];then
 RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
 else
 RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
 fi
 
 if [[ $TX -lt 1024 ]];then
 TX="${TX}B/s"
 elif [[ $TX -gt 1048576 ]];then
 TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
 else
 TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
 fi
 
 echo -e "$ethn \t $RX $TX "
 
done

このスクリプト追加のソフトウェアをインストールし、インタフェースをチェックする必要はないが、小数点以下の精度であることをカスタマイズすることができ、フレキシブルディスプレイ部流の大きさに応じて、デフォルトの収集間隔は1秒です。

使い方は以下のとおりです。

スクリプトの保存1.、コールnet.sh.として実行可能なスクリプトファイル、など

2、実行可能なスクリプトにはchmod + xの./net.shファイル。

3、SH net.sh eth0の出口に押し、CTRL + C、eth0のモニタトラフィックインターフェイスを開始します。

スクリプトは、リアルタイム・データ・ネットワーク・ファイル・システムでは/ proc /ネット/ devのは、時間を読むことによって実行し、簡単な計算によって得られます。ディレクトリの/ proc /ネットは/ devについて、下記を参照してください。

3.catの/ proc /ネット/ devの

Linuxのカーネルは、カーネルの設定を変更し、実行時に/ procファイルシステムへのアクセスカーネルの内部データ構造のためのメカニズムを提供します。procファイルシステムは擬似ファイルシステムは、スペースを取らずに、専用メモリの中で、外部メモリを存在です。ファイルシステムへのインタフェースを提供した方法でデータにアクセスするには、オペレーティングシステムのカーネルです。ユーザーとアプリケーションは、情報システムPROC、特定のパラメータを変更することができ、カーネルによって得ることができます。情報システム、プロセス等は、動的にユーザまたはアプリケーションがprocファイルを読み取るように、procファイルシステムは、動的システムのカーネルが必要とされる情報から読み出されて送信され、変更されています。/ procファイルシステムは、ディレクトリの数、ネットワークアダプタと統計の保存に/ proc /ネット/ devのが含まれています。

[sre@CDVM-213017031 ~]$ cat /proc/net/dev
Inter-| Receive            | Transmit
 face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
 lo:137052296 108029 0 		0 	0  	  0   	0   		0 	   137052296 108029 0  0 	0  	  0  	0   		0
 eth0:13661574714188 31346790620 0 0 0  0   0  			 0 	   5097461049535 27671144304 0 0 0  0 	 0   		0

左端は、受信、パッケージを認め、送信はパケットを送信表すインターフェイスの名前を表します。

バイト パケット ERRS 落とす
バイト数は受信および送信を示し データパケットの正しい量を送受信します データはエラーパケット量を送受信します トランシーバをドロップされたパケットの量を表します

実際には、我々は通常、頻繁に使用される、多くのビューリアルタイム交通カードコマンド、ディレクトリ内のリアルタイムトラフィックを読み取ることで、単純計算です。

ifconfigコマンド、より多くの/ proc /ネット/ devの、猫の/ proc /ネット/ devのと4. watchコマンド、リアルタイム監視します。

例えば、1 -n時計を実行するには、「ifconfigコマンドeth0を」

Every 1.0s: ifconfig eth0Thu May 4 20:26:45 2017
 
eth0  Link encap:Ethernet HWaddr FA:16:3E:7E:55:D1
   inet addr:10.213.17.31 Bcast:10.213.23.255 Mask:255.255.248.0
   inet6 addr: fe80::f816:3eff:fe7e:55d1/64 Scope:Link
   UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
   RX packets:31350149703 errors:0 dropped:0 overruns:0 frame:0
   TX packets:27674701465 errors:0 dropped:0 overruns:0 carrier:0
   collisions:0 txqueuelen:1000
   RX bytes:13663400883450 (12.4 TiB) TX bytes:5098104759633 (4.6 TiB)

時計は、あなたが手動で何度も繰り返し実行し、保存するために、コマンドの業績を監視することができます。Linuxでは、次の定期的なプログラムと全画面表示結果を見て。

最後に、いくつかのに加えて、カードを見て、多くの方法があり、現在のシステムの流れの上に設けることができ、あなたのニーズを満たすことができない場合、私は道のすべてを繰り返すことはしません、今それを自分のgoogleしてください。

2使用し、読みやすさの容易さによると、それは強くティア1とティアをお勧めします。私は、スクリプトの家をサポートすることを願って、学習を支援します。

发布了32 篇原创文章 · 获赞 181 · 访问量 2万+

おすすめ

転載: blog.csdn.net/weixin_45728976/article/details/104092116