Instalando e configurando o Cacti

Preparando o MySQL

Antes de instalarmos o Cacti, precisamos preparar o ambiente para recebe-lo. Um dos requisitos é o banco de dados MySQL. Nele, já precisamos ter uma base dados e um usuário criado para que o Cacti seja instalado corretamente.

root@debian:~# mysql -p -u root

Enter password: **********

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18166
Server version: 5.1.37-0.dotdeb.1 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on cacti.* to  cacti@localhost  identified by 'senha';
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

Instalação dos Pacotes

A instalação do Cacti é muito simples e você acha documentação relacionada facilmente na internet.

Vale lembrar que você precisa de um Apache com suporte a um PHP, suporte também a SNMP (pacote php5-snmp).

Dois pacotes também necessários, são RRDTool e o SNMP que são responsáveis por fornecer as informações que o Cacti precisa para o monitoramento.

Bom, vamos a instalação dos pacotes.

root@debian:~# aptitude install cacti cacti-spine rrdtool

Configuring libphp-adodb: <Ok>

Configuring cacti
Webserver type: Apache2
Configure database for cacti with dbconfig-common? <Yes>
Password of your database's administrative user: **********
MySQL application password for cacti: **********
Password confirmation: **********

Ajustando as Configurações do Cacti

Vamos apenas conferir o arquivo de configuração para ver se está tudo OK.

root@debian:~# vi /etc/cacti/debian.php

$database_username='cacti';
$database_password='senha';
$basepath='';
$database_default='cacti';
$database_hostname='';
$database_port='';
$dbtype='mysql';

Instalando e Configurando o SNMP

Primeiramente, vamos instalar os pacotes necessários.

root@debian:~# aptitude install snmpd php5-snmp

Agora precisamos configurar o SNMP para acesso publico, para que a coleta de informações seja possível.

root@debian:~# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
root@debian:~# vi /etc/snmp/snmpd.conf

###############################################################################
# Access Control
###############################################################################

#       sec.name  source          community
com2sec local     localhost        private
com2sec mynet     127.0.0.0/8      public
com2sec public    default          public

#             	sec.model  sec.name
group mygroup   v1          mynet
group mygroup   v2c         mynet
group local     v1          local
group local     v2c         local
group public    v1          public
group public    v2c         public

#           incl/excl subtree                          mask
view all    included  .1                               80
view system included  .iso.org.dod.internet.mgmt.mib-2.system

#                context sec.model sec.level match  read   write  notif
access mygroup  ""  any    noauth   exact   all    none   none
access public   ""  any    noauth   exact   all    none   none
access local    ""  any    noauth   exact   all    all    all

# -----------------------------------------------------------------------------

###############################################################################
# System contact information
###############################################################################

syslocation Unknown (configure /etc/snmp/snmpd.local.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmpd.local.conf)

# -----------------------------------------------------------------------------

###############################################################################

Obs.: Um modelo desde arquivo pode ser obtido em: http://downloads.fabriciovc.eti.br/snmp/.

Para finalizar, precisamos reiniciar o serviço do SNMP.

root@debian:~# /etc/init.d/snmpd restart

Obs.: Lembre-se de colocar um mynet correto para sua rede.

Testando e 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

root@debian:~# netstat -nlp | grep snm

udp    0    0 127.0.0.1:161    0.0.0.0:*     4221/snmpd

Tentar chegar até a máquina a ser monitorada com o nmap

root@debian:~# nmap -sU -p 161 127.0.0.1
        
Starting Nmap 4.62 ( http://nmap.org ) at 2009-09-24 16:31 BRT
Interesting ports on localhost (127.0.0.1):
PORT    STATE         SERVICE
161/udp open|filtered snmp

Nmap done: 1 IP address (1 host up) scanned in 2.062 seconds

Use o snmpwalk para testar conectividade

root@debian:~# snmpwalk -v 2c -c public 127.0.0.1 system

SNMPv2-MIB::sysDescr.0 = STRING: Linux www.dominio.com.br 2.6.26-2-amd64 #1 SMP
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (218855) 0:36:28.55
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmpd.local.conf)
SNMPv2-MIB::sysName.0 = STRING: www.dominio.com.br
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (configure /etc/snmp/snmpd.local.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
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::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00

Se deu tudo certo até aqui, você pode acessar a interface gráfica.

http://www.dominio.com.br/cacti

Existe uma configuração inicial que precisa ser realizada, mas é bem simples de realizar. Posterior a isso, é só adicionar as novas máquinas para serem monitoradas.



Voltar

linux/artigos/monitora-cacti.txt · Última modificação: 13/01/2015 10:44 (edição externa)