サーバーのトラフィックが多すぎるため、ntopをインストールして監視しています。
Global TCP/UDP Protocol DistributionテーブルのSummary-> Trafficページで、トラフィックが定期的にHTTPによって引き起こされていることがわかります。
すべてのプロトコル->トラフィックページの最初の行にトラフィック(94,4%)があります。しかし、最初の列(ホスト)は私自身のサーバーを示しています。どうしてこれなの?
そこをクリックすると、Host Traffic Statsテーブルのトラフィックがわかります。それはすべてTot。TrafficRcvd列にあります。したがって、私のアプリケーションの1つは、定期的に大きなものや大量のものをダウンロードすることではないと思います。
しかし、何がダウンロードされたかを知る方法は?ダウンロードされたURL、または少なくとも最も多くのトラフィックを引き起こしたホストは何ですか?
体系的な問題を修正します:
リクエストを作成するアプリケーションログが不明であり、至る所にあるのは問題です。これは何度も何度もお尻に噛み付くので、私はこの問題に対処するためにしばらく時間を取っておきます。それらにインデックスを付けたり、集約したりする方法を見つけてください。これはあなたが提起すべきより大きな問題のプロジェクトです。
目前の問題:
目前の問題については、wireshark/tcpdumpをお勧めします。トラフィックキャプチャを取得したら、あらゆる種類の手法を使用してそれを見つけようとすることができます。 wireshark では、「統計/会話」を使用し、バイトで並べ替えて、そこからキャプチャにドリルダウンできます。 Riverbedの無料ではないCascade Pilot これに適したキャプチャの「オブジェクトごとのWeb帯域幅」ビューがあります-試用をリクエストできます。
Wiresharkに慣れていない場合は、今が学ぶ良い機会です。これは、ほとんどのシステム管理者が定期的に使用するツールです。
サーバーが帯域幅を使用していることがわかっていて、それがLinuxサーバーである場合は、 Nethogs (nethogs
)を試して、帯域幅を使用してプロセスを識別してください。
Ntopはネットワークインターフェースツールです。さまざまなポートやプロトコルを通過するトラフィックを表示しますが、それで終わりです。ここで確認する必要があるのは、そのトラフィックを処理しているアプリケーション(この場合はApache)をターゲットにすることです。
これを行う最も簡単な方法は、 webalizer (他にもたくさんあります、 awstats はしばらく前の「最高」でしたが、何が王様かわからないようなWeb使用ツールをインストールすることです。今)。これにより、ログが実行され、トラフィックがどこに向かっているのか、どこから来ているのか、誰がトラフィックを行っているのかを確認するために使用できる統計のページが生成されます。 例 。
すべてのサービス要求がリストされているWebサーバーのアクセスログを調べる必要があります。 WebサーバーのIPアドレスとローカルホストをフィルタリングして、最も要求されたファイルを確認できます。これにはいくつかのツールがありますが、使用しているWebサーバーソフトウェアによって異なります。