2008-09-16 5 views
1

Linuxベースのシステム(具体的には、Ubuntu Server 8.04)では、ユーザごとにダウンストリーム帯域幅をどのように測定できますか?最適には、別のプロセスを実行してその出力を解析する代わりに、直接データを提供するメソッドが必要です。私は、ユーザごとに1つのiptablesフィルタを設定し、定期的にカウンタをチェックすることで、ユーザ単位のアップストリーム帯域幅を測定する手法を持っていますが、これはダウンストリーム接続ではサポートされていないようです。プロセスにルーティングされます。ユーザーあたりのダウンストリーム帯域幅はどのように測定しますか?

[edit 20080916 153434 EST]「ユーザーごと」とは、システム上のリテラルアカウントを意味します。つまり、実際の実行中のプロセスを所有する実際のPOSIX UIDを持つアカウントです。したがって、Ubuntu Server 8.04の場合、測定にはroot,www-data、自分のアカウントなどの値が含まれます。

+0

「ユーザー単位」という意味を具体的に説明できますか?ユーザーはPPPやその他のメカニズムを介してあなたに接続していますか?そして、トラフィックはあなたを経由してルーティングされますか、またはマシン自体にログインしてローカルで使用している人ですか? –

答えて

1

実装時にこれを実行する明白な方法はありませんが、カスタムip_conntrackモジュールで行うことができます。 conntrackエントリを最初に作成したときにuidを取得してから、両方向に同じuidを適用します。

関連する問題