Cacti

Ir para: navegação, pesquisa

Conceito

O Cacti é uma solução web PHP/MySql usando a engine RRDtool.


Cacti na prática

Cacti

Classicamente, Ele pode gerar gráficos de banda usando o SNMP. De fato, uma série de diferentes gráficos podem ser feitos com o scripts shell ou perl. Nas screenshots, você pode ver quais tipos de gráficos podem ser feitos com o Cacti. A força do Cacti reside no fato de que pode ser instalado e utilizado de forma incrivelmente fácil. Você não precisa ser um guru ou gastar toneladas de horas sobre a ferramenta para configurá-la. Mesmo um iniciante pode usá-lo muito rapidamente.

No muito ativo fórum do Cacti, você pode compartilhar "Modelos do Cacti" com outros usuários que podem poupar muito tempo. Você pode facilmente também adicionar plugins no Cacti, habilitando a possibilidade de integrar outras ferramentas free como o ntop ou o php Mapa do tempo. Na nossa opinião,este é, de longe, o melhor RRDtool frontend. Para detalhes de como usar o Cacti, veja o muito bom Cacti Manual.

RRDtool é um programa desenvolvido por Tobi Oeticker que havia criado o famoso MRTG. RRDtool é desenvolvido usando a linguagem de programção "C" e ele guarda os dados coletados em aquivos ".rrd". O número de registros em um arquivo ".rrd" nunca aumenta, significando que antigos registros são frequentementes removidos. Isto implica que ele obtem figuras precisas para dados recentemente logados, onde as figuras baseadas em dados muito antigos possuem valores aproximados. Por padrão, você pode obter gráficos diários, semanais, mensais e anuais. Algumas das vantagens do RRDtool sobre o MRTG são as seguintes:

Vantagens

  • Ele é muito mais rápido.
  • Ele pode usar valores negativos.
  • Ele pode usar mais de uma fonte de dados em um gráfico.
  • Os gráficos gerados são muito customizáveis.
  • Ele pode ser usado por uma grande variedade de front-ends, como o Cacti.
  • Os registros do RRDtool armazenados nos arquivos “.rrd” mantem o mesmo tamanho e não aumentam.

Preparação

adicione o repositório contrib e atualize-o:

Instale o CACTI e o Mysql:

zypper in cacti mysql

Configuração

Para começar, inicie os serviços básicos necessários:

service mysql start service apache2 start
service snmpd start

E pra evitar dor de cabeça depois, vamos adicionar-los na inicialização em runmode 3 e 5:

chkconfig -a mysql
chkconfig -a apache2
chkconfig -a snmpd

Vamos implementar uma camada adicional de segurança, removendo algumas vulnerabilidades do Mysql:

/usr/bin/mysql_secure_installation

Segue a ordem das questões:

  • Alterar senha de usuário root;
  • Remover usuário anonymous;
  • Desabilitar acesso remoto;
  • Remover base teste e remover privilégios;
  • Recarregar privilégios das tabelas.

Caso deseje alterar posteriormente a senha de root do Mysql, utilize o comando:

/usr/bin/mysqladmin -u root -h localhost password 'nova senha de root'

Configuração do Apache

Primeiramente, localize os arquivos do Cacti:

find /usr/ -name cacti

Eles estarão dentro de /usr/share/cacti

Vamos utilizar um Virtualhost para facilitar nosso trabalho.

cd /etc/apache2/vhosts.d/
cp vhost.template cacti.conf
vim cacti.conf

Edite o os campos necessários para a localização dos arquivos do CACTI. Veja o exemplo:

<VirtualHost *:80>
   ServerAdmin rauhmaru@opensuse.org
   ServerName cacti.local
   DocumentRoot /usr/share/cacti
   ErrorLog /var/log/apache2/cacti-error_log
   CustomLog /var/log/apache2/cacti-access_log combined
   HostnameLookups Off
   UseCanonicalName Off
   ServerSignature On
   <IfModule mod_userdir.c>
 UserDir public_html
 Include /etc/apache2/mod_userdir.conf
   </IfModule>
   <Directory "/usr/share/cacti">
 Options Indexes FollowSymLinks
 AllowOverride None
 Order allow,deny
 Allow from all
   </Directory>
</VirtualHost></div>

Defina o usuário wwwrun do grupo www como dono dos arquivos do CACTI:

chown -R wwwrun:www /usr/share/cacti/

Configuração do Mysql

Agora iremos criar a base do CACTI e um usuário:

mysql -p
mysql> create database cacti;
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipasswd';

Configuração do CACTI

Com o Apache2 e o Mysql configurados, falta apenas o próprio CACTI:

vim /usr/share/cacti/include/config.php

Configuração do config.php:

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipasswd";
$database_port = "3306";

Execute o script cacti.sql do CACTI, encontrado no diretório /usr/share/cacti/

mysql -u root -p -b cacti < /usr/share/cacti/cacti.sql

Partiremos agora para as configurações finais pelo browser.

No browser

Pelo browser, acesse o endereço http://SERVIDOR/cacti/install. Aparecerá o contrato de licença. Avance

Licença GPL

Defina uma nova instalação:

Nova Instalação

Verifique se o checklist está ok:

Checklist


Finalizado! Agora você poderá monitorar seus ativos de rede utilizando o SNMP com bastante facilidade!

Login
login: admin
password: admin

Após a autenticação, será necessário redefinir a senha.