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:
- 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 - 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
- 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::usmMIBComplianceSe 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.
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
Avalie esta dica
Opinião dos Leitores
12 Nov 2010, 20:29





