Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Gráficos e monitoramento com o Cacti usando SNMP

Colaboração: Tiago Bezerra

Data de Publicação: 28 de Setembro de 2007

O Cacti, segundo seu site oficial, é um front end competo para o RDDTool, que armazena todas as informações necessárias para criar gráficos em uma base de dados MySQL. O front-end é escritp em PHP, e usa o suporte a SNMP para criar gráficos como o MRTG.

Na minha opinião, por ele ser uma LAMP, é bem mais dinâmico do que o MRTG puro e a capacidade de ampliar e/ou gerar gráficos personalizados é seu principal diferencial, assim como um bom motivo para implementa-lo em sua rede.

Instalação

A instalação é muito simples, e muito bem documentada pelo site oficial, assim como em sites e blogs espalhados na NET. Não vou perder muito tempo aqui, portanto.

Você irá precisar de um Apache com um PHP com suporte a SNMP e MySQL. Recomendo que use os pacotes de sua distribuição preferida.

Se você resolver compilar os ingredientes, por favor use as dicas contidas nesse post, mas apenas atente-se em ativar a opção with-snmp do PHP senão você sempre irá pegar erros de SNMP error ao usar a interface administrativa.

Precisaremos também de pacotes como o RRDTool e o net-snmp, que com certeza devem ter em sua distribuição pronto para ser instalado.

Com tudo instalado e funcionando, descompacte o pacote que você pega no site e coloque em algum lugar acessível pelo apache, por exemplo /var/www/cacti no debian.

Aproveite e edite o include/config.php colocando os dados do seu banco de dados, como IP, username e senha. Não tem um banco ainda? Tudo bem, crie agora mesmo e ja importe a estrutura utilizada pelo cacti:

     $ mysql -p -u root
     mysql> create database cacti;
     mysql> grant all privileges on cacti.* to  cacti @'localhost  identified by  SENHA_SECRETA ;
     mysql> source /var/www/cacti/cacti.sql
     mysql> quit

Crie um usuário para o cacti e dê permissão nos diretórios rra e log , ou use o root para fazer um agendamento do crontab:

     */5 * * * * /path/to/php /path/to/cacti/poller.php > /dev/null 2>&1

Esse cara vai ser o que de fato irá colher os dados dos seus hosts. Bom, agora acesse a interface do cacti e finalize a instalação. O usuário e senha inicial é admin , será solicitado para trocar no primeiro login.

Configurando os hosts

Os hosts também precisarão ter o net-snmp para que o servidor colha as estatísticas a cada 5 minutos.

No SuSE você pode arriscar um yast -i net-snmp e no Red Hat um yum install net-snmp . Os arquivos de configuração ficam em /etc/snmpd.conf e /etc/snmp/snmpd.conf respectivamente.

Depois de configura-los apenas lembre-se de marca-lo para iniciar durante o boot:

     # chkconfig snmpd on

Configurando o SNMP

Segue um exemplo de configuração que FUNCIONA:

     # First, map the community name (COMMUNITY) into a security name
     # sec.name source community
     com2sec local localhost public
     com2sec mynetwork 200.200.200.0/24 public
  
     # Second, map the security names into group names:
     # sec.model sec.name
     group EverGroup v2c mynetwork
     group EverGroup usm mynetwork
  
     # Third, create a view for us to let the groups have rights to:
     # incl/excl subtree mask
     view all included .1 80
  
     # Finally, grant the group access
     # context sec.model sec.level match read write notif
     access EverGroup   any noauth exact all none none
  
     # Process checks.
     proc httpd
     proc cron
     proc mysqld
  
     # Disk
     disk /
     disk /var
  
     # Check for loads:
     load 12 14 14

Lembre-se de colocar um mynetwork correto para sua rede.

Testando/ Debugando

Se você quiser testar antes de ir para a interface gráfica, ou se a mesma não funcionar, experimente algumas dessas dicas:

  1. Ver se o daemon do SNMP está de fato rodando:
         # netstat -nlp | grep snm
         tcp 0 0 0.0.0.0:199 0.0.0.0:* LISTEN 15297/snmpd
         udp 0 0 0.0.0.0:161 0.0.0.0:* 15297/snmpd
    
  2. Tentar chegar até a máquina a ser monitorada com o nmap:
         # nmap -sU -p 161 200.200.200.90
      
         Starting Nmap 4.20 ( http://insecure.org ) at 2007-09-18 09:41 BRT
         Interesting ports on host.com.br (200.200.200.90):
         PORT STATE SERVICE
         161/udp open|filtered snmp
      
         Nmap finished: 1 IP address (1 host up) scanned in 0.325 seconds
    
  1. Use o snmpwalk para testar conectividade:
         # snmpwalk -v 2c -c public 192.168.0.100 system
         SNMPv2-MIB::sysDescr.0 = STRING: Linux host 2.6.8-24.23-smp #1 SMP Thu Jun 8 13:31:34 UTC 2006 i686
         SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
         DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (6174082) 17:09:00.82
         SNMPv2-MIB::sysContact.0 = STRING: Me
         SNMPv2-MIB::sysName.0 = STRING: host
         SNMPv2-MIB::sysLocation.0 = STRING: Right here, right now.
         SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
         SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
         SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB
         SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB
         SNMPv2-MIB::sysORID.4 = OID: IP-MIB::ip
         SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB
         SNMPv2-MIB::sysORID.6 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
         SNMPv2-MIB::sysORID.7 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
         SNMPv2-MIB::sysORID.8 = OID: SNMP-MPD-MIB::snmpMPDCompliance
         SNMPv2-MIB::sysORID.9 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
    
    Se tudo até aqui deu certo, você pode adicionar novas máquinas em Host Templates -> ucd/net SNMP Host usando public como community e SNMP Version 2″, porta padrão (161)

    ==Monitorando o MySQL==

    Caso você goste do Cacti, e você provavelmente vai gostar, você poderá querer monitorar seus servidores com MySQL. Eu usei esse template que você pode baixar daqui e recomendo.

    Basicamente, depois de instalado você precisar dar permissão para o usuário do cacti conectar na base e coletar as informações. Isso pode ser feito com o comando:

         GRANT PROCESS ON *.* TO  cacti @'200.200.200.0′ IDENTIFIED by  SenhaSecreta ;
    

    É isso aí, espero que goste do Cacti e tenha relatórios impressionantes para tomadas de decisões.

Veja a relação completa dos artigos de Tiago Bezerra

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.99/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1397 votos)

Opinião dos Leitores

joao
12 Nov 2010, 20:29
um texte muito claro, tanto que o meu cacti nem gerou os graficos!
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

As Palavras Mais Comuns da Língua Inglesa (2ª edição)