Como monitorar a largura de banda da rede por usuário no servidor Ubuntu?

12

Eu tenho alguns usuários do shell em um servidor com 300 GB de transferência mensal de dados. Como posso monitorar o uso da largura de banda por usuário?

    
por Pedram 03.03.2011 / 21:56

4 respostas

13

Como root, você poderia ao menos medir o tráfego de saída por usuário usando o módulo "owner" do iptables. Se todos os usuários que você deseja monitorar estiverem em /root/list-of-users.txt , você pode fazer:

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

E, em seguida, as contagens de pacotes e bytes para o tráfego de saída de cada usuário são visíveis:

iptables -L OUTPUT -n -v | grep out_

Isso pode ser estendido ainda mais com o CONNMARK para rastrear o lado de entrada também.

    
por Kees Cook 15.03.2011 / 07:03
7

Acabei de encontrar NetHogs :

  

O NetHogs é uma pequena ferramenta 'net top'.   Em vez de quebrar o tráfego   por protocolo ou por sub-rede, como a maioria   ferramentas, agrupa a largura de banda   processo.

Isso deve permitir que você acompanhe a largura de banda por nome de usuário. Pode ainda precisar de outras ferramentas para registrar as informações e adicionar tudo, mas é um bom começo sem usar diretamente o iptables.

    
por djeikyb 21.03.2011 / 13:32
6

Você pode usar Cactos

  

O Cacti é uma interface completa para o RRDTool, ele armazena todas as informações necessárias para criar gráficos e preenchê-los com dados em um banco de dados MySQL. O frontend é completamente baseado em PHP. Além de poder manter gráficos, fontes de dados e Round Robin Archives em um banco de dados, o cacti lida com a coleta de dados. Há também suporte a SNMP para aqueles que estão acostumados a criar gráficos de tráfego com o MRTG.

Ou vnStat

  

vnStat é um monitor de tráfego de rede baseado em console para Linux e BSD que mantém um log de tráfego de rede para a (s) interface (s) selecionada (s). Ele usa as estatísticas da interface de rede fornecidas pelo kernel como fonte de informações. Isso significa que o vnStat não estará realmente farejando tráfego e também garante o uso leve dos recursos do sistema.

Ambos são ótimos.

    
por sebikul 04.03.2011 / 07:59
5

Eu pareci um pouco e não encontrei um pacote gui abrangente que faz o que você quer. Espero que exista um e alguém vai postar sobre isso aqui eventualmente.

Eu não sou realmente um cara de rede, mas pelo que tenho lido, entre muitas outras coisas que netstat e iptables devem fazer para a contabilização de usuários baseada em ip / host que as ferramentas acct fizeram para contabilidade do processo do sistema. Este link cyberciti.biz pode ajudar você a desenvolver um sistema com essas ferramentas:

link

    
por djeikyb 14.03.2011 / 05:50