web-dev-qa-db-ja.com

プロセスごとの帯域幅を監視する

これは私を苛立たせていますが、私のサーバーは過去2か月間非常に過剰な帯域幅を使用しており、方法/理由/場所がわかりません。

たとえば、今月は使用されます210 Gbダウンロードトラフィック(サーバーへのインバウンド)ですが、どこに行くのかわかりません-ディスク使用量は増えていません(そしてサーバーのみとにかく20Gbドライブがあります)、アップロード(アウトバウンド)トラフィックはその月だけ4 Gbでした。

私のログには、異常なApache、Ftp、Smtp、または認証アクティビティがログに表示されません。私はQuasselとIRCサーバーを実行していますが、サーバーにインバウンドされるすべてのデータについて、それらのアウトバウンドはほぼ同じ量になると考えました。種類のプロセス。MySQLも実行していて、リモートサーバーから(スクリプトから)1人のユーザーがアクセスしますが、スクリプトが実行する命令はエントリの作成のみであるため、ディスク使用量が増えると予想されます。これが原因である場合、インバウンドトラフィックに比例します。FTPとQuasselを除いて、これらのサービスはすべて他の人によって使用されているため、問題を解決するためにプロセスをシャットダウンし始めていません。そのため、稼働時間は半ばです。クリティカル。

誰かがこれを引き起こしている可能性のある可能性がある、およびプロセスごとにトラフィックの合計をログに記録するために使用できるデーモンまたはプログラム(Ubuntuの場合) 10.04サーバーx86_64)?

4
jonodlo

ntopツールを使用してネットワークトラフィックをリアルタイムで監視できます。 ntopは再起動時にログをクリアします。これは少し面倒ですが、トラフィックを分類するために一定期間実行することができます。私が覚えているように、それはクライアントのIP、ポート、プロトコルによってトラフィックを分類することができます。ポートがわかっている場合は、fuserコマンドラインツールを使用して関連するサービスを見つけることができます。

3
Alex

別のツールがあります:jnettop。これはコマンドラインベースであり、ポート番号を使用してプロセス名/ PID(netstat)を検索できます。

1
JaZ99