4 de fevereiro de 2010
Sumário 1 Introdução 2 2 Pré-requisitos 2 3 Instalação 2 3.1 Instalando os pacotes necessários................ 3 4 Configuração 3 4.1 Configurando o MySQL..................... 3 4.2 Configurando o Cacti....................... 4 5 Instalando e Configurando o agente SNMP 6 5.1 Modificando o arquivo snmpd.conf............... 6 6 Criando um novo dispositivo de monitoramento 10 7 Criando gráficos para seu dispositivo 12 8 Visualizando os Gráficos 13 9 Créditos 14 Laboratório de Software Livre 1
1 Introdução Cacti é uma solução completa para o monitoramento de redes através da ferramenta RRDTool que oferece armazenamento de dados e exposição dos mesmos em gráficos. Cacti também proporciona vários métodos de aquisição de dados, além de funcionalidades de gestão de usuário. Tudo isso acompanha uma interface fácil e intuitiva que pode abranger tanto LAN e médias instalações, quanto complexas redes com centenas de dispositivos. 2 Pré-requisitos Alguns pacotes serão necessários para a instalação do Cacti. Esses pacotes estão listados logo abaixo: 1. httpd 2. php 3. php-mysql 4. php-snmp 5. mysql 6. mysql-server 7. net-snmp 3 Instalação O processo de instalação do Cacti será baseado na versão de linux Ubuntu 8.10. Serão listados alguns passos que efetuarão a mesma com sucesso. Laboratório de Software Livre 2
3.1 Instalando os pacotes necessários O comando abaixo instala todos os pacotes pré-requisitos necessários ao funcionamento do Cacti. # sudo apt-get install apache2 mysql-server php5 php5-common php5-cgi php5-cli php5-mysql php5-gd snmp rrdtool cacti 4 Configuração A configuração das ferramentas e pré-requisitos do Cacti é feita em várias etapas. 4.1 Configurando o MySQL Realizando o comando de instalação, será necessária a criação de um banco de dados MySQL para o Cacti. A criação do mesmo é feita automaticamente, porém alguns dados são necessários. As imagens abaixo são explicativas do processo: Para criar o banco de dados Cacti com o dbconfig-common (altamente recomendado), selecione a opção Sim: Digite a senha de administrador do MySQL. Digite a senha para o Banco MySQL Cacti (recomenda-se cacti ). Laboratório de Software Livre 3
Confirme sua senha do Banco MySQL Cacti. Selecione o servidor (no caso, Apache2). 4.2 Configurando o Cacti Feita a instalação, é necessária a configuração do Cacti. Abra o Mozilla Firefox e digite localhost/cacti. A seguinte tela irá aparecer (clique em next para prosseguir com a configuração): Em seguida, o Cacti irá reconhecer todas os pré-requisitos necessários (observe que todos os campos devem estar com a palavra FOUND em verde. Laboratório de Software Livre 4
Caso algum não esteja, reinstale o pacote em questão). Clique em next para prosseguir: A tela de login do Cacti será exibida. Entre com o login (admin) e Laboratório de Software Livre 5
palavra-passe (admin) para prosseguir: A instalação e configuração do Cacti está pronta! 5 Instalando e Configurando o agente SNMP Para traçar gráficos de monitoramento de redes utilizando o agente SNMP, são necessários os seguintes pacotes listados abaixo: 1. libsnmp-base 2. libsnmp15 3. snmp 4. snmpd O comando abaixo realiza a instalação dos mesmos listados acima: # sudo apt-get install libsnmp-base libsnmp15 snmp snmpd 5.1 Modificando o arquivo snmpd.conf Para que o agente snmp funcione corretamente, é necessária a modificação do arquivo de configuração snmpd.conf 1. Os passos abaixo criam 1 Para comentar uma linha no arquivo snmpd.conf, basta adicionar um caracter # no início da mesma Laboratório de Software Livre 6
uma comunidade exemplo prf e dá a ela privilégios para monitoramento da rede. 1. Abra o arquivo de configuração snmpd.conf # sudo vim /etc/snmp/snmpd.conf 2. Acima do trecho: # First, map the community name (COMMUNITY) into a security name # (local and mynetwork, depending on where the request is coming # from): Insira o seguinte trecho: # rocommunity: a SNMPv1/SNMPv2c read-only access community name # arguments: community [default hostname network/bits] [oid] rocommunity prf rocommunity public # rwcommunity: a SNMPv1/SNMPv2c read-write access community name # arguments: community [default hostname network/bits] [oid] rwcommunity prf 3. Comente a linha: com2sec paranoid default public E adicione a linha logo abaixo: com2sec readonly default prf 4. Comente todo o trecho: Laboratório de Software Livre 7
group MyROSystem v1 group MyROSystem v2c group MyROSystem usm group MyROGroup v1 group MyROGroup v2c group MyROGroup usm group MyRWGroup v1 group MyRWGroup v2c group MyRWGroup usm paranoid paranoid paranoid readonly readonly readonly readwrite readwrite readwrite E adicione o trecho logo abaixo: group prf v1 group prf v2c group prf usm prf_r prf_r prf_r 5. Comente também o trecho: access MyROSystem "" any noauth exact system none none access MyROGroup "" any noauth exact all none none access MyRWGroup "" any noauth exact all all none Logo em seguida, adicione o trecho: access prf "" any noauth exact all none none access prf "" any noauth exact all all none 6. Salve o arquivo e saia do editor de texto. 7. Abra o arquivo de configuração snmpd. # sudo vim /etc/default/snmpd 8. Comente a seguinte linha do arquivo: SNMPDOPTS= -Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0 9. Adicione a seguinte linha logo abaixo: SNMPDOPTS= -Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid Laboratório de Software Livre 8
10. Salve o arquivo e saia do editor de texto. 11. Reinicie o agente snmp: # sudo /etc/init.d/snmp stop # sudo /etc/init.d/snmp start 12. Teste para funcionamento (caso queira testar uma máquina que não seja o host local, mude a opção abaixo localhost para o ip desejado): # sudo snmpwalk -v 1 -c prf localhost system Caso a mensagem não seja parecida com a de baixo, verifique se os passos de configuração do agente foram seguidos sistematicamente ou se o comando acima foi digitado corretamente: snmpwalk -v 1 -c prf localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux topgear 2.6.27-11 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAg DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (172034 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> SNMPv2-MIB::sysName.0 = STRING: topgear SNMPv2-MIB::sysLocation.0 = STRING: Unknown (configure SNMPv2-MIB::sysORLastChange.0 = Timeticks: (6) 0:00:00.06 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFram SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDComplia SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmM SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB: SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Managemen SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Messag SNMPv2-MIB::sysORDescr.3 = STRING: The management inf SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access SNMPv2-MIB::sysORUpTime.1 = Timeticks: (6) 0:00:00.06 Laboratório de Software Livre 9
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (6) 0:00:00.06 SNMPv2-MIB::sysORUpTime.3 = Timeticks: (6) 0:00:00.06 SNMPv2-MIB::sysORUpTime.4 = Timeticks: (6) 0:00:00.06 SNMPv2-MIB::sysORUpTime.5 = Timeticks: (6) 0:00:00.06 SNMPv2-MIB::sysORUpTime.6 = Timeticks: (6) 0:00:00.06 SNMPv2-MIB::sysORUpTime.7 = Timeticks: (6) 0:00:00.06 SNMPv2-MIB::sysORUpTime.8 = Timeticks: (6) 0:00:00.06 6 Criando um novo dispositivo de monitoramento Após ter realizado a instalação e configuração do CACTI e do agente snmp, abra o Cacti no Mozilla Firefox e entre com seu login e palavra-passe. Para criar um novo dispositivo, siga os passos abaixo: 1. Clique em Console no canto superior esquerdo de sua tela. 2. Em seguida, clique na opção Devices no menu esquerdo. Abrirá uma página com todos os seus dispositivos e a situação dos mesmos no sistema. 3. Para criar um novo dispositivo, clique em Add no canto superior direito do monitor. 4. Preencha os campos: Description: nome do dispositivo. Hostname: o endereço ip do dispositivo. Host Template: escolha o template ideal para o seu dispositivo (recomenda-se Generic SNMP-enabled Host). Downed Device Detection: escolha a opção Ping and SNMP. SNMP Version: selecione a versão 1. SNMP Community: digite o nome da comunidade que você colocou na configuração do agente snmp. 5. Clique em Create no canto inferior direito da tela. 6. Verifique se as informações contidas nos campos estão corretos. Laboratório de Software Livre 10
7. Em Associated Graph Templates estão listados os gráficos default do seu dispositivo. Para criar outros gráficos padrões, selecione um template em Add graph template e clique em Add para adicionálo. 8. Logo abaixo em Associated Data Queries estão as queries de dados disponíveis para seu dispositivo. Para o monitoramento da rede via snmp é necessário a inserção de uma data query para tal interface. Para inseri-la, selecione a opção SNMP - Interface Statistics em Add Data Query e o método de indexação da mesma em Re-Index Method. Em seguida clique em Add. 9. Clique em Save no canto inferior direito da tela. 10. Para verificar se o dispositivo foi criado com sucesso e está funcionando corretamente, siga os seguintes passos: Clique em Devices no menu esquerdo. Clique no dispositivo desejado. Laboratório de Software Livre 11
Abaixo da descrição de nome e ip da máquina monitorada (canto esquerdo superior da tela) deve aparecer informações da mesma. Veja o exemplo abaixo: 11. Caso os passos acima estejam corretos, seu dispositivo estará pronto para ser monitorado! 7 Criando gráficos para seu dispositivo Tendo configurado o dispositivo desejado, é possível criar diversos gráficos para o mesmo. Para fazê-lo, siga os passos abaixo: 1. Clique em Console no canto superior esquerdo da tela. 2. Clique em New Graphs no menu esquerdo. 3. Na opção Host, selecione o dispositivo desejado. 4. Em Graph Templates, selecione os gráficos default que você deseja traçar. Para adicionar um gráfico diferente dos que estão listados nessa aba, vá em Create e selecione o desejado. 5. Em Data Query [SNMP - Interface Statistics] selecione a rede que você deseja monitorar via snmp. 6. Em Data Query [Unix - Get Mounted Partitions] selecione a partição do dispositivo que você deseja monitorar. 7. Clique em Create no canto inferior direito da tela. 8. Seus gráficos foram criados com sucesso! Laboratório de Software Livre 12
8 Visualizando os Gráficos Após ter criado os gráficos desejados, o Cacti oferece uma aba de visualização dos mesmos. Para visualizá-los, siga os passos a seguir: 1. Clique em Console no lado superior esquerdo da tela. 2. Clique em Devices no menu esquerdo. 3. Selecione o dispositivo desejado marcando a caixa ao lado direito do mesmo. 4. No scroll menu Choose an action, selecione a opção Place on a Tree (Default Tree). 5. Clique em go. 6. Clique em Graphs no lado superior esquerdo da tela. 7. Selecione o dispositivo desejado na árvore padrão no canto esquerdo superior. 8. Os gráficos desejados serão mostrados! Referências [1] http://docs.cacti.net/ [2] http://forums.cacti.net/about15353.html [3] http://www.cacti.net/ Laboratório de Software Livre 13
9 Créditos Documento Cacti Direitos Autorais Reservados (c) Universidade Federal de Minas Gerais Departamento de Ciência da Computação Geraldo Ribeiro Franciscani Jnior Esta documentação é livre; você pode redistribuí-la e/ou modificá-la sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; tanto na sua versão 2, como qualquer versão posterior (a seu critério). A distribuição desta documentação é feita na expectativa de que ela seja útil, porém, sem nenhuma garantia; nem mesmo a garantia implícita de comerciabilidade ou adequação a uma finalidade específica. Consulte a Licença Pública Geral do GNU para mais detalhes. http://creativecommons.org/licenses/gpl/2.0/ http://creativecommons.org/licenses/gpl/2.0/legalcode.pt Laboratório de Software Livre 14