Ver Feed RSS

iceboxrj

Monitoramento de tráfego com MRTG

Avalie este Post de Blog
O MRTG é um pacote escrito em Perl que faz a coleta de dados via SNMP. Por isso, o equipamento a ser monitorado precisa oferecer suporte a este protocolo. Apesar de ser possível utilizar o MRTG para monitoramento de qualquer equipamento que suporte o protocolo SNMP, este artigo visa o monitoramento de equipamentos de rede, ou seja, basicamente switches e roteadores, e cobre a instalação e configuração do MRTG na distribuição CentOS.
Instalação

Para instalar e utilizar o MRTG no CentOS, você precisa de um compilador C e uma versão do Perl instalada no equipamento. Na maioria das instalações padrão, ambos estão disponíveis. Caso não estejam, o utilitário de obtenção de pacotes da distribuição CentOS, o yum, se encarregará de instalá-los, uma vez que este analisa as dependências do pacote do MRTG.
Da mesma maneira, são necessárias algumas bibliotecas para que o MRTG possa gerar gráficos de estatísticas de tráfego: libgd, libpng e zlib, que o yum também se encarrega de instalar, caso não estejam instaladas.
Uma vez instalado o sistema operacional (CentOS), obtém-se acesso de root à máquina, logando-se como tal, ou com o comando su. Em seguida, é recomendável atualizar a lista de pacotes disponíveis para o yum:
# yum update
O yum atualizará as informações dos pacotes disponíveis nos repositórios configurados (CD-ROMs, servidores HTTP e FTP, sistema de arquivos etc).
Como utilizaremos os gráficos em HTML gerados pelo MRTG, vamos também fazer a instalação de um webserver nesta máquina. Por ser o mais utilizado, vamos cobrir o Apache neste artigo. Caso ele não esteja instalado, basta usar o comando:
# yum install httpd
Isso instalará o Apache e suas dependências. Em seguida, podemos realizar a atualização do pacote do MRTG (e, consequentemente, de suas dependências):
# yum install mrtg net-snmp
O yum irá instalar o pacote e perguntar se o arquivo /etc/mrtg.cfg deve estar acessível somente ao usuário do MRTG (geralmente o root). Pode-se responder que sim; porém, eu particularmente prefiro criar um arquivo de configuração do MRTG para cada máquinta a ser monitorada. Por isso, crio um diretório chamado /etc/mrtg/ contendo os arquivos de configuração, os quais veremos em detalhes mais adiante.
Configuração

Após a instalação dos pacotes, é hora de partir para a criação dos arquivos de configuração das máquinas que o MRTG monitorará.
O MRTG possui um utilitário que auxilia na criação dos arquivos de configuração. Trata-se do cfgmaker, que possui a seguinte sintaxe:
cfgmaker --output /etc/mrtg/IP-SERVER.cfg communityIP-SERVER
Onde:

  • o parâmetro --output define o arquivo de configuração que será gerado pelo cfgmaker;
  • community é a comunidade SNMP do host, que é IP-SERVER.

Exemplo: vamos supor que tenhamos um roteador Cisco 2500 com endereço IP 192.168.0.10 e comunidade SNMP public. O comando cfgmaker ficaria:
cfgmaker --output /etc/mrtg/192.168.0.10.cfg public192.168.0.10
Será gerado o arquivo 192.168.0.10.cfg como saída (em /etc/mrtg/). Este arquivo contém as informações necessárias para que sejam gerados os gráficos. Porém, existem alguns parâmetros que podem ser configurados no arquivo para melhor visualização. Estes parâmetros são definidos nas seções Global Config Options e Global Defaults, conforme abaixo:
WorkDir: /var/www/mrtg
Define qual será a pasta de trabalho do MRTG; ou seja, a pasta onde serão salvos os arquivos gerados pelo MRTG (logs, arquivos HTML e PNG etc.). É recomendável criar uma subpasta para cada máquina.
Options[_]: growright, bits
São duas opções em uma (mas podem ser configuradas separadamente): growright faz com que o gráfico "caminhe" da direita para a esquerda, fazendo com que o horário atual fique à direita no gráfico; já o parâmetro bits define que o gráfico trará as informações em bits (por padrão, as informações são expressas em bytes).
Refresh: 600
É o intervalo, em segundos, para o navegador atualizar a página. Por padrão, 300 segundos (5 minutos).
Interval: 10
É o intervalo, em minutos, para o MRTG buscar novas informações estatísticas junto ao host. Por padrão, 5 minutos.
Language: brazilian
Idioma que será utilizado nos arquivos HTML gerados pelo MRTG.
RunAsDaemon: Yes
Para rodar o MRTG como daemon. Ou seja, o MRTG ficará carregado, e vai buscar os dados do host conforme o parâmetro Interval (ou nos 5 minutos padrão).
Colocando para funcionar

Com o arquivo (ou arquivos) de configuração pronto, é hora de colocar o MRTG para monitorar os seus hosts. Isso é relativamente fácil. No prompt, basta digitar o comando:
mrtg /etc/mrtg/192.168.0.10.cfg
Essa linha de comando iniciará o MRTG como root. Se você configurou a opção RunAsDaemon, não será necessário fazer mais nada.
Porém, será necessário digitar esta linha de comando sempre que a máquina for reiniciada. Além disso, será necessário digitar uma linha de comando para cada arquivo de configuração (caso você tenha optado por criar um arquivo por host). Para automatizar a tarefa, pode-se criar um script de inicialização, adicioná-lo ao diretório /etc/init.d/ e criar os links simbólicos para os runlevels que serão utilizados. Também é recomendável a criação de um usuário para executar o MRTG.
O script abaixo, apesar de simples, é eficiente:

!/bin/sh

/usr/bin/mrtg --user=mrtg-user /etc/mrtg/teste.cfg

Lembrando que deve ser adicionada uma linha para cada arquivo CFG, se forem arquivos separados por hosts. Uma vez criado o script em /etc/init.d/ (que eu chamei de mrtgd), também será necessário criar os links para os runlevels apropriados (no exemplo abaixo, o 2):
ln -s /etc/init.d/mrtgd /etc/rc2.d/S99mrtgd
Se forem exibidas mensagens de erro na criação de alguns arquivos, verifique as permissões nos diretórios /etc/mrtg/ (caso tenha sido criado) e /var/lock/mrtg/. Recomendo que seja atribuída propriedade destes diretórios ao usuário mrtg-user.
Conclusão e referências

Com o MRTG é possível realizar o monitoramento de qualquer equipamento que ofereça suporte ao protocolo SNMP.
A documentação do MRTG está no site oficial.

Fonte: imasters

Atualizado 05-05-2009 em 10:10 por iceboxrj

Categorias
Artigos

Comentários

  1. Avatar de jhenrique2
    Acredito que este artigo tenha sido inserido antes das informações relatadas em [URL="http://br-linux.org/2009/linux-magazine-online-divulga-nota-sobre-artigos-plagiados-e-a-comunidade-centos-br/"]Linux Magazine Online divulga nota sobre artigos “replicados” e a comunidade CentOS-BR[/URL].
    Existem algumas incorreções no artigo “replicado”. Por isso, fiz uma atualização nele e publiquei em [URL="http://imasters.uol.com.br/artigo/13115/linux/monitoramento_de_trafego_no_centos_com_mrtg/."]Monitoramento de tráfego no CentOS com MRTG[/URL]

+ Enviar Comentário