Ped*_*ram 12 server 10.04 monitoring network-monitoring
我的服务器上有一些 shell 用户,每月有 300GB 的数据传输。如何监控每个用户的带宽使用情况?
Kee*_*ook 13
作为 root,您至少可以使用 iptables 的“所有者”模块在每个用户的基础上测量传出流量。如果您要监视的所有用户都在 中/root/list-of-users.txt
,则可以执行以下操作:
for login in $(cat /root/list-of-users.txt);
do
iptables -N out_user_$login
iptables -A OUTPUT -m owner --uid-owner $(id -u $login) -j out_user_$login
done
Run Code Online (Sandbox Code Playgroud)
然后每个用户的出站流量的数据包和字节数是可见的:
iptables -L OUTPUT -n -v | grep out_
Run Code Online (Sandbox Code Playgroud)
这可以通过 CONNMARK 进一步扩展以跟踪入站方。
您可以使用仙人掌
Cacti 是 RRDTool 的完整前端,它存储创建图形所需的所有信息,并用 MySQL 数据库中的数据填充它们。前端完全由 PHP 驱动。除了能够在数据库中维护图形、数据源和循环归档之外,cacti 还可以处理数据收集。对于那些习惯于使用 MRTG 创建流量图的人,也有 SNMP 支持。
或者vnStat
vnStat 是一个基于控制台的 Linux 和 BSD 网络流量监视器,它为所选接口保留网络流量日志。它使用内核提供的网络接口统计信息作为信息源。这意味着 vnStat 实际上不会嗅探任何流量,并确保系统资源的轻度使用。
他们两个都很棒。
我看了一点,我还没有找到一个全面的 gui 包,可以做你想要的。希望存在一个,并且最终有人会在这里发布它。
我不是一个真正的网络专家,但从我读过的内容来看,除其他外netstat
,iptables
应该为基于 ip/host 的用户记帐做这些acct
工具为系统进程记帐所做的工作。这个cyberciti.biz 链接可能会让您开始使用这些工具开发系统:
http://www.cyberciti.biz/faq/linux-configuring-ip-traffic-accounting/
归档时间: |
|
查看次数: |
13746 次 |
最近记录: |