我们如何衡量每个用户的下行带宽?
时间:2020-03-05 18:56:56 来源:igfitidea点击:
在基于Linux的系统(特别是Ubuntu Server 8.04)中,如何按每个用户衡量下游带宽?理想情况下,我想要一种直接提供数据的方法,而不必运行另一个进程并解析其输出。我有一种通过为每个用户设置一个iptables过滤器并定期检查其计数器来测量每个用户的上游带宽的技术,但是下游连接似乎不支持此方法,我认为这是因为iptables在它们之前检查数据包被路由到一个流程。
[edit 20080916 153434 EST]
"按用户"是指系统上的文字帐户。也就是说,任何具有真实POSIX UID的帐户都拥有实际运行的进程。因此,对于Ubuntu Server 8.04,度量值将包括" root"," www-data",我自己的帐户等值。
解决方案
回答
我没有看到任何明显的方法可以实现,但是我希望可以通过自定义ip_conntrack
模块来完成。首先创建conntrack条目时,我们将捕获uid,然后在两个方向上都应用相同的uid。