Instalação e Configuração do Cacti e de Cliente Cacti no Debian Squeeze

Aqui vou Abordar a instalação e configuração do Cacti e de um cliente para ele, vou fazer a instalação também o Spine que é um poller para melhorar a performance do cacti.

  • Nome Servidor Cacti: cacti
    • Ip: 10.101.0.25
  • Nome Cliente Cacti: ldap
    • Ip: 10.101.0.26

Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialsqueeze_en para que não falte nenhum pacote ou configuração.

Agora vamos instalar as dependências para o cacti

aptitude install libphp-adodb php5-adodb php5 apache2 mysql-server rrdtool snmp snmpd php5-snmp libmysql++-dev libmysqlclient-dev  libsnmp-dev -y

Agora vamos obter o cacti

cd /usr/src
wget -c http://wiki.douglasqsantos.com.br/Downloads/monitoring/cacti-0.8.8a.tar.gz

Agora vamos desempacotar ele

tar -xzvf cacti-0.8.8a.tar.gz

Agora vamos mover ele para /var/www

mv cacti-0.8.8a /var/www/cacti

Agora vamos cadastrar um usuário para ele

useradd -m -r -s /bin/false cacti

Agora vamos acertar as permissões do diretório com os arquivos

chown -R cacti:www-data /var/www/cacti
find /var/www/cacti -type f -exec chmod 664 {} \;
find /var/www/cacti -type d -exec chmod 775 {} \;

Agora vamos criar o banco de dados para o cacti

mysql -u root -p
CREATE DATABASE cacti;
GRANT ALL PRIVILEGES ON cacti.* TO cacti@localhost IDENTIFIED BY 'senha';
FLUSH PRIVILEGES;
QUIT

Agora vamos acertar o arquivo de controle de acesso ao banco de dados

vim /var/www/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "senha";
$database_port = "3306";
$database_ssl = false;
[...]
$url_path = "/";

Agora vamos importar o banco de dados

mysql -u cacti -psenha cacti < /var/www/cacti/cacti.sql

Agora vamos aplicar um patch no cacti

Vamos acessar o diretório com os arquivos

cd /var/www/cacti

Agora vamos obter o patch

wget -c http://wiki.douglasqsantos.com.br/Downloads/monitoring/snmpv3_priv_proto_none.patch

Agora vamos aplicar o patch

patch -p1 -N < snmpv3_priv_proto_none.patch

Agora vamos remover o patch

rm -rf snmpv3_priv_proto_none.patch

Agora vamos criar um virtualhost para o cacti

vim /etc/apache2/sites-available/cacti
<VirtualHost  *:80>
        ServerName cacti.douglasqsantos.com.br
        ServerAdmin webmaster@douglasqsantos.com.br
        DocumentRoot "/var/www/cacti"
         <Directory "/var/www/cacti">
                 Options -Indexes +FollowSymLinks +MultiViews
                 AllowOverride All
                 Order Allow,deny
                 Allow From All
         </Directory>

        CustomLog /var/log/apache2/cacti.access.log combined
        ErrorLog /var/log/apache2/cacti.error.log
        LogLevel warn
        ServerSignature Off
</VirtualHost>

Agora vamos habilitar ele

a2ensite cacti

Agora vamos desabilitar o virtualhost default do apache

a2dissite default

Agora vamos reiniciar o apache

/etc/init.d/apache2 restart

Agora vamos acessar http://cacti.douglasqsantos.com.br/install para acertamos a configuração do cacti.

Responda da seguinte forma:

  • Next
  • Next
  • Finish

Após isso vamos ser redirecionados para a página de login o usuário: admin senha: admin, após informar isso vai ser solicitado a alteração da senha altere a senha e vamos logar ;)

Agora vamos alguns ajustes no snmpd do servidor cacti

vim /etc/snmp/snmpd.conf
[...]
#Vamos deixar o agentAddress como abaixo
agentAddress  udp::161
[...]
#Vamos deixar sysLocation e sysContact como abaixo
sysLocation    Servidor Cacti Matriz
sysContact     Douglas <douglas@douglasqsantos.com.br>

Agora vamos reiniciar o serviço do snmtp

/etc/init.d/snmpd restart

Por recomendação do Cacti vamos instalar o spine que é um poller escrito em C que tem uma melhor performace do que o padrão

Vamos acessar o diretório para armazenar os fontes

cd /usr/src

Agora vamos obter o spine

wget -c http://wiki.douglasqsantos.com.br/Downloads/monitoring/cacti-spine-0.8.8a.tar.gz

Agora vamos desempacotar ele

tar -xzvf cacti-spine-0.8.8a.tar.gz

Agora vamos acessar o seu o diretório com os fontes

cd cacti-spine-0.8.8a/

Vamos mandar ele gerar a configuração

./configure

Vamos mandar ele compilar

make

Agora vamos mandar ele instalar

make install

Agora vamos acertar o nome do arquivo de configuração do spine

cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf

Agora vamos acertar a configuração do spine

vim /usr/local/spine/etc/spine.conf
[...]
DB_Host         localhost
DB_Database     cacti
DB_User         cacti
DB_Pass         senha
DB_Port         3306
DB_PreG         0

Agora no cacti em Console/Settings/Paths

  • Em Spine Poller File Path: informe: /usr/local/spine/bin/spine
  • Agora selecione save

Agora Selecione em Console/Management/Devices

  • Selecione o Localhost
  • Em snmp version selecione version 1 as opções que irão aparecer não precisam ser modificadas agora no final da página selecione save.
  • Agora selecione o link Create Graphs for this Host
  • Agora selecione os dispositivos que deseja monitorar e selecione create.

Agora vamos agendar no cron a geração de relatório

crontab -e
[...]
*/5  *  *  *  *    php /var/www/cacti/poller.php > /dev/null 2>&1 && chown -R cacti:www-data /var/www/cacti/rra

Agora é só ir acompanhando os gráficos em graphs o primeiro gráfico demora 5 minutos pra gerar por causa do cron.

Agora vamos a configuração do Cliente

No cliente somente precisamos instalar o snmp, snmpd

aptitude install snmp snmpd -y

Agora vamos fazer backup do arquivo de configuração do snmpd

cp /etc/snmp/snmpd.conf{,.bkp}

Agora vamos acertar a configuração do snmpd

vim /etc/snmp/snmpd.conf
[...]
#Vamos deixar agentAdress como abaixo
agentAddress  udp::161
[...]
#Vamos comentar a linha abaixo
# rocommunity public  default    -V systemonly
#Vamos adicionar a linha abaixo aqui definimos uma rede porem podemos definir somente o servidor
rocommunity douglas  10.101.0.0/24
[...]
#Vamos deixar as opções do sysLocation e sysContact como abaixo
sysLocation    Servidor LDAP Matriz
sysContact     Douglas <douglas@douglasqsantos.com.br>

Agora vamos reiniciar o serviço do snmtp

/etc/init.d/snmpd restart
  • Agora no cacti selecione Console/Management/Devices
  • Do lado superior direito selecione add ele esta abaixo de Logout
  • Informe uma descrição para o servidor EX: Ldap
  • Em hostname informe o ip
  • Host template selecione local linux machine
  • Em snmp options selecione snmp version → Version 1
  • Em snmp community informe douglas que nos definimos em rocommunity em /etc/snmp/snmpd.conf
  • Agora selecione Create na parte inferior direita da tela, se a configuração do snmpd estiver correta vamos receber uma mensagem de Save Sucessful
  • Agora na parte superior da tela em Azul temos Create graphs for this host selecione este link
  • Agora selecione todos os necessarios e selecione create na parte inferior direita da tela.
  • Na proxima tela temos algums configurações sobre as cores das legendas eu sempre deixo as default e selecione create
  • Agora selecione Console/Menagement/Graph Trees
  • Agora selecione Default Tree
  • Agora do lado supeiror direito selecione Add
  • Em parent item deixe como [root]
  • Em tree item type selecione host
  • Agora selecione o seu servidor Ldap e selecione Create.

Agora podemos acompanhar os gráficos em graphs os relatórios atualizam a cada 5 minutos que agendamos no cron ;)

No painel direito temos os nossos hosts para adicionar mais hosts siga o mesmo procedimento ;)

Referências