O texto abaixo foi publicado no BR-Linux antes de 2005, e está mantido aqui por razões históricas.
Veja o material atualizado diariamente do BR-Linux em http://br-linux.org
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
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.
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.
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;
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 Options[_]: growright, bits Refresh: 600 Interval: 10 Language: brazilian RunAsDaemon: Yes
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 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.
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.yahoogrupos.com.br/group/mrtg-br
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 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
|