br-linux

Artigos br-linux.org
Artigos sobre Linux em bom português, originais e com qualidade

Monitoração de equipamentos com suporte ao SNMP
Publicado em 21 de julho de 2004

Julio Henrique (julio.mcp@uol.com.br) nos enviou este tutorial ensinando a configurar o MRTG para monitoração de equipamentos que usem o protocolo SNMP, com enfoque em equipamentos de redes como switches e roteadores.

Monitoração de equipamentos com suporte ao SNMP


Introdução

O MRTG é um pacote escrito em PERL e 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-se do MRTG para monitoração de qualquer equipamento que suporte o protocolo SNMP, este artigo visa a monitoração de equipamentos de rede, ou seja, basicamente switches e roteadores.

Este artigo cobre a instalação e configuração do MRTG na distribuição Debian do Linux.


Instalação

Para instalar e utilizar o MRTG no Debian GNU/Linux, 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 Debian, o apt-get, irá encarregar-se 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, zlib, as quais o apt-get também se encarrega de instalar, caso estas não estejam pré-instaladas.

Uma vez instalado o sistema operacional (Debian GNU/Linux), obtém-se acesso de root à máquina, logando-se como tal, ou através do comando "su". Em seguida é recomendável atualizar a lista de pacotes disponíveis ao apt-get, conforme abaixo:

# apt-get update

O apt-get irá atualizar as informações dos pacotes disponíveis nos repositórios configurados (CDROMs, servidores HTTP, servidores FTP, sistema de arquivos, etc).

Como iremos utilizar 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 (http://httpd.apache.org) neste artigo. Caso o mesmo não esteja instalado, pode ser através do comando:

# apt-get install apache

Isso irá instalar o Apache e suas dependências. Em seguida, podemos realizar a atualização do pacote do MRTG (e, conseqüentemente, de suas dependências):

# apt-get install mrtg

O apt-get irá instalar o pacote e questionar se o arquivo /etc/mrtg.cfg deve estar acessível somente ao usuário do MRTG. Pode-se responder que sim; porém, eu particularmente prefiro criar um arquivo de configuração do MRTG para cada host a ser monitorado. Por isso, eu 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 dos hosts que o MRTG irá monitorar.

O MRTG possui um utilitário que auxilia na criação dos arquivos configuração. Trata-se do cfgmaker, que possui a seguinte sintaxe:

# cfgmaker --output /etc/mrtg/router_abc_xyz.cfg community@router.abc.xyz

Onde:

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


Atenção: para que o nome do host seja resolvido, o equipamento com o MRTG deve estar configurado com o(s) nome(s) do(s) servidor(es) DNS (arquivo /etc/resolv.conf); além disso, é necessário registro no servidor DNS para o host, associando-o com o respectivo endereço IP. Também pode ser utilizada uma entrada para o mesmo no arquivo /etc/hosts ou, ainda, o endereço IP no lugar do nome.

Exemplo: vamos supor que temos um roteador Cisco 2500 com endereço IP 192.168.1.10 e comunidade SNMP public. A sintaxe do comando cfgmaker seria:

# cfgmaker --output /etc/mrtg/router_2500.cfg public@192.168.1.10

Será gerado o arquivo router_2500.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 sub-pasta para cada host.

Options[_]: growright, bits
São duas opções em uma (mas podem ser configuradas separadamente): o 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 tempo, em segundos, em que o browser irá atualizar a página. Por padrão, 300 segundos (5 minutos).

Interval: 10
É o tempo, em minutos, em que o MRTG irá buscar novas informações estatísticas junto ao host. Por padrão, 5 minutos.

Language: brazilian
Linguagem que será utilizada nos arquivos HTML que o MRTG gera.

RunAsDaemon: Yes
Para rodar o MRTG como daemon (processo). 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 entrar com o comando:

# mrtg /etc/mrtg/router_2500.cfg

Essa linha de comando iniciará o MRTG como root. Se você configurou a opção RunAsDaemon, não é necessário fazer mais nada.

Porém, será necessário digitar esta linha de comando sempre que a máquina for reinicializada. Além disso, será necessário digitar uma linha de comando para cada arquivo de configuração (caso tenha optado por criar um arquivo por host, com eu faço). Para automatizar a tarefa, pode-se criar um script de inicialização, adicioná-lo ao /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 rodar o MRTG.

Utilizo o script abaixo que, 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 meu caso, 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 a monitoração de qualquer equipamento que ofereça suporte ao protocolo SNMP.

A documentação do MRTG está no site oficial:

* http://www.mrtg.org


Outra parada obrigatória é a lista MRTG-BR:

* http://www.yahoogrupos.com.br/group/mrtg-br



Espero ter contribuído com a comunidade Linux com este pequeno artigo.

Gostaria também de agradecer ao Vicente Sloboda, que mantém a lista de discussão MRTG-BR e que contribui fortemente com os usuários desta poderosa ferramenta.

Autor: Julio Henrique
Email: julio.mcp@uol.com.br

Postado por fuji em julho 21, 2004 11:15 PM

Comentários para "Monitoração de equipamentos com suporte ao SNMP"

Antes de comentar...

- Preserve a qualidade desta discussão
- Leia os Termos de Uso.
- Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum.
- Mantenha o foco nos argumentos e no assunto
- Não faça ataques pessoais.
- Pense 5 vezes antes de entrar em discussões inúteis, como "qual é a melhor distribuição/ambiente gráfico/linguagem de programação/etc.", mesmo se alguém já tiver provocado - um erro não justifica o outro
- Não seja um e-mala ;-)

Envie seu comentário









Lembrar as informações pessoais?


Atenção: Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum, onde mais pessoas estarão disponíveis para respondê-lo..






Nota: os comentários pertencem a seus respectivos autores e são de responsabilidade de quem os postou. O restante desta nota está disponível sob a licença GNU FDL, exceto se explicitamente declarado em contrário.