quarta-feira, 13 de julho de 2011

Monitorando as eths com mrtg

Existem maneiras bem simples de monitorar as eth de um servidor Linux, uma delas é utilizando o mrtg, procedimento que veremos a seguir.

:: Instalando pacotes necessários
# apt-get install mrtg apache2

:: Configurando o mrtg
1) Crie o seguinte script que fará a leitura do arquivo /proc/net/dev. Este arquivo contêm informações sobre as estatísticas de tráfego em cada eth. O script fará a leitura da quantidade de bytes recebidos e enviados e terá como saída estes valores, um em cada linha.

# vim /root/getStats.sh

#!/bin/sh
awk '
/'$1':/ {
$0=substr($0,index($0,":")+1);
print $1;print $9
}
' /proc/net/dev

2) Transforme este arquivo como executável
# chmod +x /root/getStats.sh

3) Crie o arquivo de configuração para o mrtg
# vim /root/mrtg.conf

WorkDir: /var/www/mrtg

Target[eth0]: `/root/getStats.sh eth0`
Title[eth0]:"Trafic on eth0"
MaxBytes[eth0]:100000
PageTop[eth0]: <h2>Trafic on eth0</h2>
Options[eth0]: growright,bits

4) Crie um script que irá executar o mrtg
# vim /root/run_mrtg.sh

#!/bin/bash
env LANG=C /usr/bin/mrtg /root/mrtg.conf

5) Transforme este arquivo em executável
# chmod +x /root/run_mrtg.sh

:: Demais configurações
1) Criar o diretório para o mrtg gerar as páginas e os gráficos
# mdkir /var/www/mrtg

2) Incluir o script no contrab para executar a cada 5 min
# crontab –e

*/5 * * * * /root/run_mrtg.sh

:: Executando manualmente
# env LANG=C /usr/bin/mrtg /root/mrtg.conf

Obs.: É normal surgirem erros durante as três primeiras execuções.

:: Visualizando o trabalho
Aponte o navegador para http://<ip_servidor>/mrtg/eth0.html

Aguarde mais 5 minutos e verifique que o gráfico começa ser gerado.

Você pode restringir o acesso a estas informações através do próprio apache. Dê uma olhada no artigo Configurar Auntenticação Básica no Apache.

Até +

Nenhum comentário: