Pages

Sunday, April 15, 2007

Monitorando o status e a qualidade da rede no linux

Existem centenas ou mais formas de monitorar o status e a qualidade da rede. Mas uma em particular é a minha preferida.

Basta um simples olhada no arquivo /proc/net/dev

Esse arquivo é atualizado continuamente e fornece toda a estatística da rede de forma "simples". Claro que essa não é a forma mais fácil de visualizar o resultado, afinal, ler os valores em bytes é algo inviável para a maioria das pessoas, mas permite verificar com clareza a existência ou não de problemas, que é primeiro passo para qualquer coisa.

Eu cheguei a criar um pequeno script que monitora continuamente o conteúdo do arquivo. Minha idéia era capturar os dados, célula a célula, e converter para uma unidade mais compreensível, mas eu nunca tive tempo de fazer isso. Para dizer a verdade eu até tenho vergonha de dizer que isso é um script. Não passa de duas linhas de comandos interligados. De qualquer forma pode pegar ele aqui. Para terminar o programa, use o ctrl+c.

Agora, falando mais sério.
Vamos dizer que está desconfiado de algum tipo de problema ou ainda realmente precisa de um software mais dinâmico de monitoramento, que habilite um histórico, tenha memória no tempo, faça gráficos, etc. Qual software usar ? Existem milhares de alternativas. Arrisco dizer que em nenhuma outra categoria de software existem tantas alternativas disponíveis quanto em "ferramentas de rede".

A minha escolha foi o ntop primeiro porque é simples, segundo porque está disponível via apt-get, terceiro porque dá conta do recado, pelo menos para mim e, por fim porque ele apresenta os resultados em uma interface web através do localhost. Eu realmente gosto desse tipo de aplicativo.

Depois de instalado (sudo apt-get install ntop) é, curiosamente(*), preciso configurá-lo (sudo dpkg-reconfigure ntop) especifique as interfaces que deseja monitorar separando-as por vírgulas. Não use espaço entre a vírgula e o nome da interface seguinte (ex. ppp0,eth0,lo). Depois confirme o nome do usuário responsável pelo processo, recomendo deixar o default, ntop.

Mas ainda tem mais. Em /usr/share/doc/ntop/README.Debian, lê-se claramente que é necessário definir a senha de administrador do ntop. Faça isso com:

sudo ntop --set-admin-password

Agora você pode iniciar o serviço: sudo /etc/init.d/ntop start. Se aparecer a mensagem "Not starting network top daemon, it has already been started", use restart no lugar de start

Agora realmente acabou.
Com o seu navegador web, acesse o programa em: http://localhost:3000/

(*)Nos sistemas alá Debian, normalmente não existe a necessidade de configurar um programa recém instalado porque no empacotamento do software é possível definir quais os comandos devem ser executados após a instalação; só que nesse caso isso não acontece e nem me perguntem o motivo.

4 comments:

  1. Mesmo dando o /etc/init.d/ntop restart aparece a mensagem "Not starting network top daemon, it has already been started".
    Utilizo o DEBIAN etch.

    ReplyDelete
  2. Danyel,
    experimente para o servido primeiro...
    /etc/init.d/ntop stop
    e depois tente um
    /etc/init.d/ntop start
    Verifique se aparece alguma mensagem de erro, especialmente ao desativar o ntop (com o stop)
    Não se esqueça de que ambos requerem o poder do root para tal.
    Um abraço

    ReplyDelete
  3. Qual o comando que utilizo para abrir o Ntop em modo interativo (terminal).

    ReplyDelete
  4. Caro Jeferson,
    a muito tempo não uso esse programa, mas segundo a manpage, a resposta da sua pergunta é: --disable-schedyield

    Um abraço.

    ReplyDelete