
私は Web サーバー (VPS 上の Debian Squeeze) を運用していますが、ホスティング会社が提供するグラフでは、サーバーへの受信トラフィックが送信トラフィックの約 2 倍であることが一貫して示されています。このことに少し困惑しているので、アップロード/ダウンロードの数値を確認するだけでなく、関係するリモート ホストごとに分割して、受信トラフィックの大部分が特定のソースからのものであるかどうかを確認できる、何らかのログ ユーティリティをマシンで実行したいと思います。
送信トラフィックのほとんどは Apache を経由すると思われますが、受信トラフィックは主に Apache を経由するか、他のスクリプトや cron ジョブによって支配される可能性があるため、Apache 内のツールではなく、インターフェイス レベルでトラフィックを監視するツールの方が望ましいでしょう。
理想的には、数日間実行したままにしておいて、戻ってきて、着信トラフィックと発信トラフィックの両方について「リモート ホストあたりのバイト数」の出力を取得できるツールが必要です。
これは、標準の Linux ツールと少しの設定 (可能な場合、その方法は?) で可能でしょうか、それとも専門のプログラム (可能な場合、どのプログラム?) で可能でしょうか?
答え1
トップおそらく、これを行うにはこれが最適なソリューションです。これは、長期間実行して、探しているものを正確にキャプチャするように設計されています。
最も使用されているリモートの宛先、送受信されたトラフィックの量、使用されているプロトコルとポートなどを表示できます。ルーターで実行すると、ソース ホストに対しても同じことが行われ、ローカル クライアントでも同じ統計を確認できます。次に、
Web GUI を使用してこの情報をナビゲートおよび表示します。
答え2
ルート権限があれば、tcpdump
すべてを取得して取得することができます。ワイヤーシャーク心ゆくまで分析してください。
$ sudo tcpdump -i <interface> -w mycapture.tcpdump
...そして、十分になったら Ctrl + C を押します。screen
デタッチなどが必要な場合は、セッションで実行します。
デフォルトでは、各パケットの最初の部分のみがキャプチャされますが、主に発信元分析に関心があるため、これで問題ありません。tcpdump には他にもたくさんのオプションがあります冒険心が湧いたら。
編集: 実際、Wiresharkにロードしたら、メニューオプションを使用するだけで統計|IP アドレス...カウント/レート/パーセントによるトラフィックの概要を取得します。
答え3
さらに高度な指標としては、次のようなものが使えます。モニターリックス最も一般的なサービス用のモジュールがあり、とてもシンプルです。
apt-get install monitorix
また、サボテン完全な GUI RDD ツールですが、リアルタイムではありません。
そして私にとってトップ1は、マルチ構成可能なグラファナインストールと設定が少し難しいですが、すべてを詳細かつリアルタイムで測定できるので完璧です。JVM、Graphite、Whisper などの依存関係が必要です。JSON に関する知識が必要ですが、非常にうまく機能します。本当にお勧めです。
あなたのケースに適した設定は次のようになるでしょう:
collectd + graphite + whisper + grafana
実際、Grafana は私のオフィスでの生活を変えました。
答え4
もちろん ;)
https://github.com/graphite-project/whisper
また、すべてを接続する方法についてのミニハウツーが必要な場合は、以下を参照してください。 https://linuxboss.wordpress.com/2015/12/03/graphite-grafana/